Linux
系统中的文件除了具备一般权限和特殊权限之外,还有一种隐藏权限,即被隐藏起来的权限,默认情况下不能直接被用户发觉。有用户曾经在生产环境和 RHCE
考试题目中碰到过明明权限充足但却无法删除某个文件的情况,或者仅能在日志文件中追加内容而不能修改或删除内容,这在一定程度上阻止了黑客篡改系统日志的图谋,因此这种“奇怪”的文件也保障了 Linux
系统的安全性。
5.4.1 chattr 命令
为了能够更好地见识隐藏权限的效果,先来创建一个普通文件,然后立即尝试删除(这个操作肯定会成功),再次新建一个普通文件,并为其设置不允许删除与覆盖(+a 参数)权限,然后再尝试将这个文件删除:可见已经无法删除
5.4.2 lsattr 命令
lsattr
命令用于显示文件的隐藏权限,格式为“
lsattr [
参数
]
文件”。
在
Linux
系统中,文件的隐藏权限必须使用 lsattr
命令来查看,平时使用的
ls
之类的命令则看不出端倪:
[root@localhost ~]# lsattr linuxtest
-----a---------- linuxtest
[root@localhost ~]# chattr -a linuxtest
[root@localhost ~]# lsattr linuxtest
---------------- linuxtest
[root@localhost ~]# rm linuxtest
rm: remove regular file ‘linuxtest’? y