Linuxchattr命令详解
常见命令参数
A:即Atime,告诉系统不要修改对这个⽂件的最后访问时间。
S:即Sync,⼀旦应⽤程序对这个⽂件执⾏了写操作,使系统⽴刻把修改的结果写到磁盘。
a:即Append Only,系统只允许在这个⽂件之后追加数据,不允许任何进程覆盖或截断这个⽂件。如果⽬录具有这个属性,系统将只允许在这个⽬录下建⽴和修改⽂件,⽽不允许删除任何⽂件。b:不更新⽂件或⽬录的最后存取时间。
c:将⽂件或⽬录压缩后存放。
d:当dump程序执⾏时,该⽂件或⽬录不会被dump备份。
D:检查压缩⽂件中的错误。
i:即Immutable,系统不允许对这个⽂件进⾏任何的修改。如果⽬录具有这个属性,那么任何的进程只能修改⽬录之下的⽂件,不允许建⽴和删除⽂件。
s:彻底删除⽂件,不可恢复,因为是从磁盘上删除,然后⽤0填充⽂件所在区域。
u:当⼀个应⽤程序请求删除这个⽂件,系统会保留其数据块以便以后能够恢复删除这个⽂件,⽤来防⽌意外删除⽂件或⽬录。
t:⽂件系统⽀持尾部合并(tail-merging)。
X:可以直接访问压缩⽂件的内容。
常⽤的命令展⽰
# chatter: 锁定⽂件,不能删除,不能更改
# +a: 只能给⽂件添加内容,但是删除不了,
[root@master test]# mkdir 001
[root@master test]# ll
total 0
drwxr-xr-x 2 root root 6 Jul 515:10001
[root@master test]# echo "aaa" > aaa
[root@master test]# chattr +a aaa
[root@master test]# echo "bbb" >> aaa
[root@master test]# cat aaa
aaa
bbb
[root@master test]# lsattr
---------------- ./001
-----a---------- ./aaa
[root@master test]# rm -rf aaa
rm: cannot remove ‘aaa’: Operation not permitted
# 加锁:chattr +i /etc/passwd ⽂件不能删除,不能更改,不能移动
# 解锁:chattr -i /etc/passwd 表⽰解除
[root@master test]# chattr +i aaa
[root@master test]# cat aaa
aaa
bbb
[root@master test]# echo "ccc" >> aaa
-bash: aaa: Permission denied
[root@master test]# mv ./aaa /var/log/
mv: cannot move ‘./aaa’ to ‘/var/log/aaa’: Operation not permitted
[root@master test]# rm -rf aaa
rm: cannot remove ‘aaa’: Operation not permitted
-
d: 不可删除
查看加锁: lsattr /etc/passwd ⽂件加了⼀个参数 i 表⽰锁定
隐藏chattr命令:
which chattr
mv /usr/bin/chattr /opt/ftl/
cd /opt/ftl/
mv chattr h -->更改命令,使⽤别名h隐藏⾝份
/opt/ftl/h +i /home/ -->利⽤h ⾏驶chattr命令lsattr /home/ -->查看加密信息
恢复隐藏命令
mv h /usr/bin/chattr
chattr -i /home/
lsattr /home/