FAT Mountoption allow_utime 解釋
我試圖弄清楚 (v)FAT 的以下 Mountoption 究竟做了什麼(在 Linux 中):
allow_utime=### – 此選項控制 mtime/atime 的權限檢查。
20 - If current process is in group of file's group ID, you can change timestamp. 2 - Other users can change timestamp. The default is set from `dmask' option. (If the directory is writable, utime(2) is also allowed. I.e. ~dmask & 022) Normally utime(2) checks current process is owner of the file, or it has CAP_FOWNER capability. But FAT filesystem doesn't have uid/gid on disk, so normal check is too unflexible. With this option you can relax it.
[來源]
問題:這(上)是什麼意思?
嘗試查找它時,我以 C 程式碼結尾,這對我沒有多大幫助,所以目前這也沒有
man 2 utime
(如前所述)對我有太大幫助。我很想使用源…From
utime
: utime() 系統呼叫將filename指定的inode的訪問和修改時間分別更改為actime和modtime
times欄位。我將其解讀為:啟用以更改時間戳。Super Extra Kudos 為您提供如何使用此 Mountoption 的實際範例 (
allow_utim
)
在支持普通 Unix 文件屬性的文件系統上,每個文件都有一個指定為所有者的使用者。只有文件的所有者可以更改其時間戳
utime
。不允許其他使用者更改時間戳,即使他們具有寫入權限。FAT 文件系統不像所有者那樣記錄任何東西。FAT 文件系統驅動程序假裝特定使用者是每個文件的所有者:執行掛載的使用者或
uid
參數給定的使用者。使用正正常則,僅允許該使用者更改時間戳。文件也有一個所屬組,由gid
參數確定。FAT 文件系統不記錄 Unix 文件的權限,所以是驅動程序自己編造的。它根據
umask
,fmask
和dmask
參數分配權限,因此所有目錄和所有正常文件都具有相同的權限。當所有者以外的使用者對文件系統具有寫訪問權時,他們不僅可以修改正常文件和目錄,還可以修改文件元數據,這將是有意義的。FAT 文件系統的主要元數據是文件的時間戳。通常,只有擁有使用者才能修改時間戳。通過傳遞
allow_utime
掛載選項,您也可以允許其他使用者更改時間戳。例如,要允許組foo
修改文件系統中的任何內容,並允許其他人讀取但不能寫入,您將傳遞參數gid=foo,umask=002,allow_utime=20
(這實際上是
allow_utime
基於 umask 的預設值)。