Permissions
FreeBSD 標誌、不可變和非連結之間有什麼區別?
FreeBSD 標誌、simmutable/uimmutable 和 sunlink/uunlink 之間有什麼區別或相似之處?
閱讀man chflags,我看到這些標誌:
schg, schange, simmutable set the system immutable flag (super-user only) sunlnk, sunlink set the system undeletable flag (super-user only) uchg, uchange, uimmutable set the user immutable flag (owner or super-user only) uunlnk, uunlink set the user undeletable flag (owner or super-user only)
我目前以與 Linux 手冊頁
chattr
描述它相同的方式理解不可變屬性:不能修改具有“i”屬性的文件:不能刪除或重命名,不能創建指向該文件的連結,也不能向該文件寫入數據。只有超級使用者或擁有 CAP_LINUX_IMMUTABLE 能力的程序才能設置或清除此屬性。
FreeBSD 中的“不可變”和“不可刪除”有何不同?
從系統呼叫chflags(2)的聯機幫助頁:
SF_IMMUTABLE The file may not be changed. SF_NOUNLINK The file may not be renamed or deleted. [...] UF_IMMUTABLE The file may not be changed. UF_NOUNLINK The file may not be renamed or deleted.
帶有前綴的標誌**
SF_
只能由超級使用者設置或取消設置。其他前綴UF_
**可以由文件所有者或超級使用者設置或取消設置。注意:如果
SF_
設置了其中一個標誌,則非超級使用者無法更改任何標誌,即使超級使用者也只能在安全級別為 0 時更改標誌。可以使用 kern.securelevel 變數上的 sysctl(8) 設置安全級別。