max@serv$ whoami
max
max@serv$ ls -la ./defines.php
-rwxrwxrwx 1 max max 1985 2011-11-16 02:01 ./defines.php
max@serv$ chmod 0777 ./defines.php
max@serv$ rm ./defines.php
rm: cannot remove `./defines.php': Permission denied
max@serv$
Run Code Online (Sandbox Code Playgroud)
如何删除此文件?
Rob*_*obᵩ 140
代码说明了一切:
max@serv$ chmod 777 .
Run Code Online (Sandbox Code Playgroud)
好吧,它并没有说出一切.
在UNIX和Linux中,删除文件的能力不是由该文件的访问位决定的.它由包含该文件的目录的访问位确定.
可以这样想 - 删除文件不会修改该文件.你没有写入文件,为什么文件上的"w"很重要?删除文件需要编辑指向该文件的目录,因此该目录上需要"w".