Debian

我無法刪除我作為組成員具有寫入權限的文件

  • November 25, 2021
$ touch testfile
$ chmod g+w testfile
$ sudo adduser user2 user1
$ stat -c'%a %A' testfile
664 -rw-rw-r--
$ su user2
Password: 
$ groups
user2 user1
$ rm testfile 
rm: cannot remove `testfile': Permission denied

缺什麼?

刪除文件意味著您正在更改它所在的*目錄,而不是文件本身。*您的組需要目錄上的 rw 才能刪除文件。文件的權限僅用於更改文件本身。

在您考慮文件系統的工作原理之前,這可能一開始會讓人感到困惑。文件只是一個inode,目錄指的是inode。通過刪除它,您只是刪除了對目錄中該文件 inode 的引用。所以你改變的是目錄,而不是文件。您可以在另一個目錄中擁有指向該文件的硬連結,並且您仍然可以在不實際更改文件本身的情況下將其從第一個目錄中刪除,它仍然存在於另一個目錄中。

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