掛載指令權限:ntfs 與 ntfs-3g

掛載指令權限:ntfs 與 ntfs-3g

我看到許多使用ntfs命令mountfstab.在所有情況下,指定ntfs為檔案系統也與指定相關聯umask=0222,並且指定ntsf-3g從不具有umask參數。

在嘗試研究時umask,我遇到了許多解釋,例如這個。我無法從這些解釋中理解“0222”,除此之外,它比規範似乎描述的多一位數字。據我所知,它應該減少預設定義的權限。這也沒有太大幫助。我猜測它與寫作有關,因為在 Linux 中ntfs-3g支援它,但至少在幾年前ntfs還沒有。

預設權限是什麼(我假設它們與目錄和檔案相關並且獨立於檔案系統),「0222」對此有何作用?為什麼需要它?難道只是為了避免在 Linux 不支援時嘗試寫入分割區時出現錯誤訊息嗎?

答案1

我不知道ntfs和ntfs-3g之間的差異。

關於 umask 選項,它指定一個位元掩碼,以便在檔案存取權限中清除 umask 中設定的位元。這些權限位元是 RWXRWXRWX,其中 R 是讀取存取權限,W 是寫入存取權限,X 是執行存取權限,在特殊情況下使用一些較高位元。高位 RWX 供正在存取的文件的擁有者使用,下一個 RWX 群組為文件組提供存取權限,最後一個 RWX 供所有人使用。由於這些權限一次三位,因此傳統上它們是八進制的。前導 0 可以表示八進制,也可以表示某些特殊情況位的 0,因為它傳統上無論如何都以八進位表示,這取決於上下文。

因此,umask 222 或 0222(由於數字傳統上是八進制的,所以它們是相同的)在二進制中是 010010010。這意味著 W 位元是為使用者、群組和其他人設定的。在 umask 中設定該位元會清除檔案存取權限中的 W 位元。

這並不是為了避免出現錯誤訊息。透過將 umask 指定為 222,任何人都無法寫入文件,否則它們可能是可寫入的。

答案2

這是我的 FSTAB 條目。注意 exec 選項:

UUID=66D6934FD6931DFD /mnt/SeagateExpansionDrive ntfs-3g auto,users,permissions,exec,x-gvfs-show 0 0

透過以上內容,我可以 chown、chmod 和 exec shell 腳本。我正在運行Ubuntu。

相關內容