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$
如何删除此文件?
答案 0 :(得分:134)
代码说明了一切:
max@serv$ chmod 777 .
好吧,它并没有说出一切。
在UNIX和Linux中,删除文件的功能不由该文件的访问位确定。它由包含该文件的目录的访问位确定。
以这种方式思考 - 删除文件不会修改该文件。你没有写入文件,为什么文件上的“w”很重要?删除文件需要编辑指向该文件的目录,因此该目录上需要“w”。