一种文件属性权限,如果一旦设置,不论是普通账户还是root用户,都无法删除,对于防止误操作很有效果。
首先看看这个命令。 manchattr
命令格式:chattr [+-=] [选项] 文件或者目录名
支持选项 i 选型 假如是对文件设置的,意思是所有用户都不能对其进行增加,删除修改等操作。
如果是对目录进行操作。意味着只能修改目录文件下的数据,不允许建立和删除。
下面案例进行。附截图:
能看到,先touch abc ,创建了文件,使用echo 语句追加了内容,使用cat命令查看追加内容。现在,就要给abc这个文件设置权限。 chattr+i abc .使用平常的ls ll等命令时看不到效果的。使用 lsattr -a 查看, 可以看到,abc 文件有一个 i 的标志。这样就能查看到了,那么,现在来验证一下,能不能追加东西,或者删除等操作。
从下图可以看到,使用echo 追加不行,删除不行(使用的是强制删除),而且账户还是root。
所以,才说这个命令是防止误操作的一个不错的命令。
以上是对于文件的操作,那么现在看看目录下的结果。
可以看到,新建了一个目录news,里面有文件 abc,给目录设置权限之后,给abc中添加东西可以,但是,不能删除,不能继续创建文件。都提示权限不足。
当然恢复操作,意思就是取消权限。 chattr -i news/ 这样就可以了。
那么,现在来看第二个属性 a :如果是针对一个文件,允许里面增加内容,但是不能修改和删除。如果是对于目录,只允许在目录中建立和修改文件,不能删除。
touch aaaa 新建立一个文件 echoabcd >> aaaa 追加内容,现在设置权限:chattr +a aaaa 权限设置成功,如果继续往里面追加是可以的,使用echo 命令,比如 echo 12345 >> aaaa 但是如果去删除操作,就会提示权限不足。
那么现在看看对于目录的操作。
如图所示,显示无法删除文件。
如图所示,显示无法删除文件。
以上是对于chattr 命令的一些理解,有其它补充的,请多多评论。谢谢。