测试是一个不包含任何内容的目录,一个空目录。
root@localhost:~# ls -l /home
drwxrwxrwx 2 www-data www-data 4096 Apr 26 17:50 test
root@localhost:~# ls -l /home/test
total 0
现在我将用户名从 root 更改为 www-data。
root@localhost:~# su www-data
$ rm -rf /home/test
rm: cannot remove `/home/test': Permission denied
$
为什么我无法删除test
属于 www-data 的空白目录?当我以 root 身份登录时可以将其删除。
root@localhost:~# rm -rf /home/test
root@localhost:~# ls -lZ /home/test
total 0
root@localhost:~# getfacl /home/test/
getfacl: Removing leading '/' from absolute path names
# file: home/test/
# owner: www-data
# group: www-data
user::rwx
group::rwx
other::rwx
root@localhost:~# ls -al /home
total 8352
drwxr-xr-x 10 root root 4096 Apr 26 17:50 .
drwxr-xr-x 22 root root 4096 Mar 20 16:32 ..
drwxrwxrwx 2 www-data www-data 4096 Apr 26 17:50 test
root@localhost:~# ls -al /home/test
total 8
drwxrwxrwx 2 www-data www-data 4096 Apr 26 17:50 .
drwxr-xr-x 10 root root 4096 Apr 26 17:50 ..
root@localhost:~#
答案1
您需要父目录中的写入权限才能从中删除任何内容。在您的情况下,这是/home
,并且由于只有 root 具有写入权限,因此只有 root 可以从中删除项目。