«

rm无法删除chattr解决

指尖二进制 • 1 年前 • 888 次点击 • LINUX


mount: block device /dev/sr0 is write-protected, mounting read-only 解决方法

[root@localhost ~]# rm -rf /root/xin/
rm: cannot remove ‘/root/xin/user.ini’: Operation not permitted

这时候需要使用到Linux的chattr命令, chattr命令用于改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:
a:让文件或目录仅供附加用途。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:将文件或目录排除在倾倒操作之外。
i:不得任意更动文件或目录。
s:保密性删除文件或目录。
S:即时更新文件或目录。
u:预防以外删除。
语法chattr[-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]参数
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v<版本编号> 设置文件或目录版本。
-V 显示指令执行过程。
+<属性> 开启文件或目录的该项属性。
-<属性> 关闭文件或目录的该项属性。
=<属性> 指定文件或目录的该项属性。

进入到 xin 所在目录,执行一下 lsattr -a,查看文件下下边包含文件的属性,看到user.ini有个'i'属性,代表不得任意更动文件或目录,正是此属性在作祟:

[root@localhost ~]# lsattr -a /root/xin/user.ini
----i----------- /root/xin/user.ini

然后执行命令:

[root@localhost ~]# chattr -i /root/xin/user.ini

就是在把这个权限加上

[root@localhost ~]# chattr +i /root/xin/user.ini

就可以去除掉此属性,然后我们再执行删除,就可以顺利删除掉了:

[root@localhost ~]# chattr -i /root/xin/user.ini
[root@localhost ~]# lsattr -a /root/xin/user.ini
---------------- /root/xin/user.ini
[root@localhost ~]#
[root@localhost ~]# rm -rf /root/xin/user.ini
[root@localhost ~]# ll /root/xin/
total 0
还没收到回复