chattr文件锁

时间:2023-12-18 08:18:26

chattr文件锁

chattr 和lsattr
    [root@1 ~]# whereis chattr                      #---查看chattr命令
chattr: /usr/bin/chattr /usr/share/man/man1/chattr.1.gz
[root@1 ~]# whereis lsattr #---查看lsattr命令
lsattr: /usr/bin/lsattr /usr/share/man/man1/lsattr.1.gz

chattr +i锁定不能删除、添加 chattr –i解锁

参数
  • A:即Atime,告诉系统不要修改对这个文件的最后访问时间。
  • S:即Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
  • a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
    [root@1 /tmp]# lsattr 1                              #--查看文件1
---------------- 1
[root@1 /tmp]# chattr +a 1 #---加参数a锁定文件1
[root@1 /tmp]# lsattr 1 #--查看锁
-----a---------- 1
[root@1 /tmp]# rm -fr 1 #--- 尝试删除
rm: cannot remove ‘1’: Operation not permitted #--不允许操作
[root@1 /tmp]# cat 1
Ahcahca
[root@1 /tmp]# echo "fgahjkd" >> 1 #使用echo追加
[root@1 /tmp]# cat 1
ahcahca
fgahjkd
  • b:不更新文件或目录的最后存取时间。
  • c:将文件或目录压缩后存放。
  • d:当dump程序执行时,该文件或目录不会被dump备份。
  • D:检查压缩文件中的错误。
  • i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
    [root@1 /tmp]# lsattr 1
---------------- 1
[root@1 /tmp]# chattr +i 1
[root@1 /tmp]# rm -fr 1 #--- 尝试删除
rm: cannot remove ‘1’: Operation not permitted #--不允许操作
[root@1 /tmp]# lsattr 1
----i----------- 1
  • s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。
  • u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。
  • t:文件系统支持尾部合并(tail-merging)。
  • X:可以直接访问压缩文件的内容。