Linux
某個非超級使用者擁有但不能被他們刪除的目錄
是否可以創建其所有者無法刪除的目錄?假設我有
bar
user 擁有的目錄foo
,我想創建一個 subdirectorybar/baz
,也由 擁有foo
,這樣:
foo``bar/baz
可以正常創建和刪除文件和目錄foo``bar
可以正常創建和刪除文件foo``bar
可以正常刪除大多數目錄foo
(或任何其他非超級使用者)不能刪除目錄bar/baz
我想這樣做的原因是因為我想設置
bar/baz
為 BTRFS 子卷(從快照中排除它),如果foo
可以刪除它並使用重新創建它mkdir
,那麼它就不再是子捲了。
我至少可以想到兩種方法來防止所有者刪除目錄。
如果目錄不為空,則無法刪除該目錄。所以在裡面放一些所有者不能刪除的東西。
- 他們不擁有的目錄
- 不可變的文件(所有者無關緊要)
在目錄上掛載一些東西
在第一種情況下,他們仍然可以重命名目錄。但是如果上面安裝了一些東西(無論如何這就是你想要的),他們就無法對它做任何事情。現在,如果他們可以解除安裝上面的東西……
刪除文件或目錄都需要父目錄的權限。
因此,如果您有 的目錄
/dir1/dir2
,其內容dir2
無所謂,所有者dir1
設置為user1
,所有者dir2
設置為user2
,則無論 中是否有文件,都user2
無法刪除或重命名。看看吧。沒有使用者可以刪除自己的主目錄,因為擁有.dir2``dir2``/home``root``/home