Linux root用户rm -rf 无法删除文件 cannot remove ‘.user.ini’: Operation not permitted

相信大部分用户是在使用宝塔手动删除某个项目目录的时候出现的上述情况,就会很懵,为什么我已经是Root用户了,却依然无法删除这个文件呢?
原因非常简单,是因为.user.ini这个文件通过chattr命令被设置了一个属性,不允许删除
我们做下实验哈,进入Linux,随便找个目录都可以,我们以创建xxx这个文件为例,自行粘贴下面的bash操作自行演示一下即可

touch xxx
lsattr xxx # -------------e-- xxx
chattr +i xxx  # ----i--------e-- xxx
lsattr xxx
rm -rf xxx  # 执行到这里的时候会报错 rm: cannot remove ‘xxx’: Operation not permitted
chattr -i xxx # 删除掉设置在文件上面的权限
lsattr xxx # -------------e-- xxx
rm -rf xxx # 删除成功了

下面终端截图
Linux root用户rm -rf 无法删除文件 cannot remove ‘.user.ini’: Operation not permitted_第1张图片

那我们验证一下我们的想法对不对哈
在这里插入图片描述
跟预期一样,那么解决方法也非常简单
Linux root用户rm -rf 无法删除文件 cannot remove ‘.user.ini’: Operation not permitted_第2张图片


好了,再贴一下详细用途,朋友们自己终端自己搞一下即可
下面内容摘自这里

Linux chattr命令

Linux chattr命令用于改变文件属性

这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

a:让文件或目录仅供附加用途。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:将文件或目录排除在倾倒操作之外。
i:不得任意更动文件或目录。
s:保密性删除文件或目录。
S:即时更新文件或目录。
u:预防意外删除。
语法
chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]

  • 参数
    • -R 递归处理,将指定目录下的所有文件及子目录一并处理。
    • -v<版本编号> 设置文件或目录版本。
    • -V 显示指令执行过程。
    • +<属性> 开启文件或目录的该项属性。
    • -<属性> 关闭文件或目录的该项属性。
    • =<属性> 指定文件或目录的该项属性。

实例

  1. 用chattr命令防止系统中某个关键文件被修改:
    chattr +i /etc/resolv.conf
    lsattr /etc/resolv.conf
    会显示如下属性
    ----i-------- /etc/resolv.conf

  2. 让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
    chattr +a /var/log/messages

你可能感兴趣的:(Linux)