Permissions

有人可以在沒有寫權限的情況下從全寫目錄中刪除我的非空目錄嗎?

  • May 31, 2018

我知道刪除文件取決於我對封閉目錄的權限,而不是文件本身,請參見此處

但是非空目錄呢?使用rm -rf NON_EMPTY_DIR失敗,因為目錄中的文件無法刪除。保持目錄非空且不可寫是防止其他使用者刪除文件夾的安全方法嗎?

例子:

# Create write-all outer dir
mkdir outer
chmod 777 outer
# Create two subdirectories, one of which is empty, one not, 
# and none are writable by anyone
mkdir outer/{non-,}empty 
touch outer/non-empty/file
chmod 555 outer/*

ls -la outer
## drwxrwxrwx  4 user user    80 May 31 15:12 .
##   [ .. does not matter here ]                   
## dr-xr-xr-x  2 user user    40 May 31 15:12 empty
## dr-xr-xr-x  2 user user    60 May 31 15:12 non-empty

rm -rf outer/empty
# Succeeds
rm -rf outer/non-empty
# rm: cannot remove outer/non-empty/file: Permission denied

有人可以在沒有寫權限的情況下從全寫目錄中刪除我的非空目錄嗎?

不。

保持目錄非空且不可寫是防止其他使用者刪除文件夾的安全方法嗎?

是的。

rmdir不適用於非空目錄,並且沒有寫訪問權限,他們無法使其為空。

他們可能無法刪除它,但可以重命名它或將其移動到其他地方。它不會消失,但看起來會這樣。

引用自:https://unix.stackexchange.com/questions/447118