我创建了一个目录根,并且该目录归根。但我错误地删除了两者的写入权限根用户和根组。因此目前根对该目录只有读取和执行权限。如下所示:
# ls -al
total 12
drwxr-xr-x 3 root root 4096 Mar 12 20:25 ./
drwxr-xr-x 3 root root 4096 Mar 12 19:59 ../
dr-xr-xr-x 2 root root 4096 Mar 10 23:28 empty/
这空的目录是我想要删除的。但当然,它不能删除或更改模式。
# rm -r empty/
rm: cannot remove 'empty/': Operation not permitted`
# chmod u+w empty/
chmod: changing permissions of 'empty/': Operation not permitted
注意:除非您有足够的信心解决它,否则不要尝试。
答案1
使用以下命令修复了该问题:
chattr -i -a empty/
chmod ugo+w empty/
要了解原因,请查阅这些命令的文档。我猜您已使用 将此文件夹设为不可变chattr +i
。
具有不可变属性的文件不能被修改、删除或重命名。
只有 root(超级用户)或拥有 CAP_LINUX_IMMUTABLE 功能的进程可以设置或清除此属性。