- A+
所属分类:linux技术
一.关于chattr,lsattr
1.chattr 的作用:改变一个Linux文件系统上的文件属性。
2.chattr用来改变文件、目录的属性,lsattr用来查看文件、目录的属性。
3.chattr语法为:chattr [ -RVf ] [ -v version ] [ mode ] files…,最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字
符组合的,这部分是用来控制文件的属性。常见参数如下:
+ :在原有参数设定基础上,追加参数。 - :在原有参数设定基础上,移除参数。 = :更新为指定参数设定。 A:即Atime,告诉系统不要修改对这个文件的最后访问时间。 S:即Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。 a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。 b:不更新文件或目录的最后存取时间。 c:将文件或目录压缩后存放。 d:当dump程序执行时,该文件或目录不会被dump备份。 D:检查压缩文件中的错误。 i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。 s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。 u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。 t:文件系统支持尾部合并(tail-merging)。 X:可以直接访问压缩文件的内容。
二.创建一个连root都无法删除的文件
[root@node5 ~]# ll linuxshell.sh -rw-r--r-- 1 root root 181 Oct 12 11:57 linuxshell.sh [root@node5 ~]# chattr +i linuxshell.sh [root@node5 ~]# ll linuxshell.sh -rw-r--r-- 1 root root 181 Oct 12 11:57 linuxshell.sh [root@node5 ~]# rm -rf linuxshell.sh rm: cannot remove ‘linuxshell.sh’: Operation not permitted [root@node5 ~]# lsattr linuxshell.sh ----i----------- linuxshell.sh [root@node5 ~]# chattr -i linuxshell.sh [root@node5 ~]# lsattr linuxshell.sh ---------------- linuxshell.sh [root@node5 ~]# rm -rf linuxshell.sh [root@node5 ~]# chattr +a lll.sh [root@node5 ~]# lsattr lll.sh -----a---------- lll.sh [root@node5 ~]# echo aaa >> lll.sh [root@node5 ~]# rm -rf lll.sh rm: cannot remove ‘lll.sh’: Operation not permitted [root@node5 ~]# chattr -a lll.sh [root@node5 ~]# lsattr lll.sh ---------------- lll.sh [root@node5 ~]# rm -rf lll.sh