lsattr
-R 列出目录下的子目录,并且列出子目录下的目录,都会列出来。
-d 只查看目录本身
chattr
1、查看当前文件隐藏属性
[[email protected] ~]# lsattr
-------------e- ./install.log
-------------e- ./install.log.syslog
-------------e- ./anaconda-ks.cfg
-------------e- ./12.txt
说明:e表示ext4或ext3文件系统所特有的
2、给一个文件增加权限
[[email protected] ~]# chattr +a 12.txt
[[email protected] ~]# lsattr 12.txt
-----a-------e- 12.txt
加这个a有什么意义呢?
[[email protected] ~]# vi 12.txt #用这种往里面编辑内容保存不行
[[email protected] ~]# echo "1111" >> 12.txt #用重定向把内存保存到文件
[[email protected] ~]# echo "1111" >> 12.txt
[[email protected] ~]# cat 12.txt
1111
1111
[[email protected] ~]# echo "1111" > 12.txt
-bash: 12.txt: 不允许的操作
[[email protected] ~]# rm -rf 12.txt
rm: 无法删除"12.txt": 不允许的操作
也就是说加了a这个权限,不能对文件进行直接修改,删除,只能追加内容。
一个>是重定向(它会把文件里之前的内容先清空),两个>是追加重定向(在文件末尾追加内容)
3、解除此权限
[[email protected] ~]# chattr -a 12.txt
4、i 权限(它比a更严谨,什么操作不可以)
[[email protected] ~]# chattr +i 12.txt
[[email protected] ~]# echo "1111" > 12.txt
-bash: 12.txt: 权限不够
[[email protected] ~]# echo "1111" >> 12.txt
-bash: 12.txt: 权限不够
[[email protected] ~]# rm -rf 12.txt
rm: 无法删除"12.txt": 不允许的操作
总结:a权限只可以追加,i权限什么都不能操作