﻿# 注意 Windows 對於檔案複製與搬移的 NTFS 權限變化 [重要]

之前在客戶那邊發生過好幾次檔案權限不足的問題，每次客戶拿到我們提供的更新檔，他都會先將檔案先複製到「桌面」，然後才會「搬移」到 C:\\inetpub\\wwwroot 網站目錄，結果每次更新檔案都會發生權限不足的問題，且他每次更版都要手動調整那些複製進去的檔案的檔案權限，這都是起因於 NTFS 權限在檔案被**複製**或**搬移**時雖時都有可能發生權限的變更，此基本且重要的觀念不可不知！

**將檔案從一個目錄「複製」到另一個目錄時 ( Ctrl + C , Ctrl + V )**

由於「複製」檔案時，視同在「新目錄」下「建立新檔案」，所以複製檔案時原本該檔案的 NTFS 權限並不會帶過去，而複製過去的檔案會直接繼承該**目標目錄**的存取權限。

例如：我要將 C:\\DirA\\test.txt 複製到 C:\\DirB\\test.txt 時，C:\\DirB\\test.txt 的權限就會變成是繼承 C:\\DirB 目錄的 NTFS 權限！

**將檔案從一個目錄「搬移」到另一個目錄時 ( Ctrl + X , Ctrl + V )**

在「搬移」檔案時，情況稍稍複雜一些，共有兩種狀況：

1\. 在相同磁碟之間搬移檔案 ( 例如從 C:\\DirA 複製到 C:\\DirB )

-   這種情況下，檔案被**搬移**過去後，檔案的 NTFS 權限會被完整保留
-   這種相同磁碟搬移檔案的過程就好像在同一個目錄下將檔案「重新命名」一樣，而在作業系統中實際上也真的只是做重新命名的動作而已！

2\. 在不同的磁碟之間搬移檔案( 例如從 C:\\ 複製到 D:\\ )

-   這種情況與「複製」檔案是一樣的，檔案必須先在**目的磁碟**建立新檔，然後再將來源檔案刪除！
-   換個角度想，如果你有一個 50GB 的大檔案，如果從 C:\\DirA 目錄**搬移**到 C:\\DirB 目錄，也許只要 1 秒的時間，但是若你將這個 50GB 的大檔案，從 C:\\ 目錄**搬移**到 D:\\ 目錄，可能會花上 10 分鐘之久。

**額外補充一個不算觀念的觀念（算常識）**

-   如果你將檔案搬移或複製到非 NTFS 的檔案磁區 (例如: FAT, FAT32, … )，那麼所有的 NTFS 權限也將會全部遺失。
-   如果你的檔案從非 NTFS 的檔案磁區複製或搬移到 NTFS 的檔案磁區 (FAT, FAT32, … )，那麼這些檔案會直接繼承**目的目錄**的權限。
-   簡言之：FAT, FAT32 沒有權限概念！
-   所以，如果你的 USB 隨身碟不是 NTFS 權限的話（大部分都不是），那麼也就不用那麼考慮權限變更的問題。

這一個簡單的小觀念可能會對網站部署造成大影響，因此不可不知！
