lsattr/chattr主要用于特殊权限
可以用lsattr直接查看当前目录下所有文件和目录的特殊属性 默认只有一个e (ext4 /ext3)
chattr +a 111.txt
lsattr 111.txt
就会发现多了一个a 那么这个a权限有什么意义呢?
我们来编辑一下111.txt 随便输入一些(dhasjhdjhashjd)保存的时候有提示不能保存 只能退出 怎么办呢?
我们可以通过 echo "1111" >> 111.txt 给他追加 > (一个大于号表示重定向 两个大于号表示追加重定向)
也就是说我们加上a权限之后呢只能再这个文件里去追加 但是不能删除或更改内容
echo "1111" > 111.txt 如果写成这样也就是说把 111.txt里面的内容呢全部删除 全部清空 然后再把1111写入111.txt里面
而两个大于号会在111.txt后面直接追加
我们也不可以直接删除111.txt 因为有一个a权限 也不可以改名字
如果想解除限制charrt -a 即可
charrt +i 比a权限还要严谨 不可以追加 也不可以重定向 也不可以删除 也不可以改名字 也不可以更改所属主 所属组 总之就是一句话不能改
想更改 charrt -i
lsattr -R 不仅可以查看当前目录下的子文件和子目录列出来 也可以把子文件子目录下的子文件子目录列出来
ls 111 111下面有个234目录
ls 111/234
我们在234目录下再去创建一个456
我们在创建一个12.txt
我们用lsattr -R看下111目录 他可以把111目录下的234列出来 也可以把234下的22.txt456列出来 也可以把456下面的12.txt
-R的作用在于逐层的去查看
那我们给111下面的234下面的456下面的12.txt加一个i权限
chattr 111/234/456/12.txt
那我们来删除111目录 rm -rf 111 正常的情况下我们是可以删除 但是现在显示无法删除
那么这时候我们就应该想到有一个i或者a权限
我们可以用lsattr 111 111没问题 去看234 234没问题就继续看 这样的话一直看到456发现12.txt才发现问题的所在
如果lsattr -R只需一步就可以找出
lsattr -d 只查看目录本身