linux root用户无法删除文件,提示permission denied

参考链接:
https://www.cnblogs.com/youxin/p/11100449.html

现象:
root用户删除一个普通的文件,提示:permission denied。该文件标红。
文件标红
原因,设置了chattr权限保护:可以通过lsattr命令查看

  1. chattr权限简介
    chatrr权限是一种非常特殊的权限,它设置的属性对超级用户root也有效。只不过,它设置的属性也可以通过root来删除。
    归根结底,chattr的作用是防止用户(包括root)对文件或目录进行误操作(比如修改或删除)的一种保险手段。

  2. chattr命令
    chattr [±=][选项] 文件/目录
    权限增加减少:
    +:增加权限(属性)
    -:删除权限(属性)
    =:设置权限(属性)

权限具体类型:
 a :设置a之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root才能设置这个属性。
  i :它可以让一个文件不能被删除、改名,设置连接也无法写入或添加数据。只有root才能设置这个属性。

EG: chattr +i filename

问题:已经去掉了某个文件的i属性和a属性,为什么还是不能删除???
原因在于该文件的所在目录的属性也要去掉。
如果去掉文件或目录的隐藏属性之后还是不能删除,那么查看父目录是否配置了不可删除的隐藏属性,若父目录有配置,文件也是不能删除的,需要逐级往上查看。

查看文件的系统属性
命令格式:lsattr [选项] 文件名

[root@localhost tmp]# lsattr a.txt
----i--------e- a.txt
可以发现,小写字母i表示该文件被设置了i属性

你可能感兴趣的:(#,Linux基本语法与原理,linux)