2022.01.23 33期 Linux 第八课 文件的权限与隐藏属性

5.4 文件的隐藏属性
Linux 系统中的文件除了具备一般权限和特殊权限之外,还有一种隐藏权限,即被隐藏
起来的权限,默认情况下不能直接被用户发觉。有用户曾经在生产环境和 RHCE 考试题目中
碰到过明明权限充足但却无法删除某个文件的情况,或者仅能在日志文件中追加内容而不能
修改或删除内容的情况,这在一定程度上阻止了黑客篡改系统日志的图谋,因此这种“奇怪”
的文件权限也保障了 Linux 系统的安全性。
既然叫隐藏权限,那么使用常规的 ls 命令肯定不能看到它的真面目。隐藏权限的专用设
置命令是 chattr,专用查看命令是 lsattr。
5.4.1 chattr 命令
chattr 命令用于设置文件的隐藏权限,英文全称为 change attributes,语法格式为“chattr [参
数] 文件名称”。
如果想要把某个隐藏功能添加到文件上,则需要在命令后面追加“+参数”,如果想要把
某个隐藏功能移出文件,则需要追加“-参数”。chattr 命令中可供选择的隐藏权限参数非常丰
富,具体如表 5-8 所示。
表 5-8
chattr 命令中的参数及其作用
i
无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新
建或删除文件
a
仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
S
文件内容在变更后立即同步到硬盘(sync)
s
彻底从硬盘中删除,不可恢复(用零块填充原文件所在的硬盘区域)
A
不再修改这个文件或目录的最后访问时间(Atime)
b
不再修改文件或目录的存取时间
D
检查压缩文件中的错误
d
使用 dump 命令备份时忽略本文件/目录
c
默认将文件或目录进行压缩
u
当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
t
让文件系统支持尾部合并(tail-merging)
x
可以直接访问压缩文件中的内容
为了让读者能够更好地见识隐藏权限的效果,我们先来创建一个普通文件,然后立即尝
试删除(这个操作肯定会成功):
[root@linuxprobe~]# echo "for Test" > linuxprobe
[root@linuxprobe~]# rm linuxprobe
rm: remove regular file‘linuxprobe’? 

隐藏权限的类型(字母),使用 chattr 命令将其去掉:
[root@linuxprobe~]# chattr -a linuxprobe
[root@linuxprobe~]# lsattr linuxprobe
---------------- linuxprobe
[root@linuxprobe~]# rm linuxprobe
rm: remove regular file‘linuxprobe’? y
我们一般会将-a 参数设置到日志文件(/var/log/messages)上,这样可在不影响系统正常
写入日志的前提下,防止黑客擦除自己的作案证据。如果希望彻底地保护某个文件,不允许
任何人修改和删除它的话,不妨加上-i 参数试试,效果特别好。
在美剧《越狱》的第一季中,主人公迈克尔·斯科菲尔德把装有越狱计划的硬盘开窗扔进
了湖中,结果在第二季被警探打捞出来恢复了数据,然后就有了第二季、第三季、第四季、
第五季,他和哥哥的逃亡故事。所以,要想彻底删除某个文件,可以使用-s 参数来保证其被
删除后不可恢复—硬盘上的文件数据会被用零块重新填充,那就更保险了。

2022.01.23 33期 Linux 第八课 文件的权限与隐藏属性

2022.01.23 33期 Linux 第八课 文件的权限与隐藏属性 

 

上一篇:leetcode力扣-剑指offer刷题-day3-004. 只出现一次的数字


下一篇:python第八天 关于字典的学习