rm删除文件

问题

father_dir 目录下有个文件 some_file,当前用户对其有读写权限,问:该用户能否删除该文件?

答:

不一定,取决于父目录的权限

若父目录对当前用户无写权限,则无法删除

原因

文件或文件夹的权限表示的并不是其本身的操作权限,而是其内容的操作权限

你对该文件有读写权限,仅仅意味着你可以对该文件的内容进行读写。而该文件应该属于其父目录的内容,删除该文件就是对其父目录进行修改,所有需要有父目录的写权限才行。

解决

为父目录增加写权限:

chmod u+w father_dir

附录

权限字符串第1位表示文件类型,d表示目录,-表示文件,l表示软链接

前三个表示文件所有者的权限,用 u 表示,中间三位表示文件所有者所在组的权限,用 g 表示,后三位表示其他用户权限,用 o 表示

例如:

# 为其他用户递归添加目录读写权限
chmod -R o+wr some_dir
# 去除文件所有者的执行权限
chmod u-x some_file

Leave a Comment