文件的隐藏权限:chattr, lsattr

本文介绍了Linux系统中用于设置和查询文件隐藏属性的命令`chattr`和`lsattr`。通过`chattr`可以设置如+A(不更新存取时间)、+S(同步写入)、+i(禁止修改)等特殊属性,以增强系统安全。`lsattr`则用于查看这些隐藏属性。示例中展示了如何为文件添加和移除`i`属性,以及使用`lsattr`检查文件属性。这些命令在系统安全管理中扮演重要角色,需谨慎使用。

设置文件隐藏属性

命令:
chattr [+ - =][ASacdistu] 文件或目录名称

选项与参数:
'+' :添加某一个特殊参数,其他原本存在参数则不动。
'-'  :移除某一个特殊参数,其他原本存在参数则不动。
'=' :配置一定,且仅有后面接的参数

A  :当配置了 A 这个属性时,若你有存取此文件(或目录)时,他的存取时间 atime将不会被修改,可避免I/O较慢的机器过度的存取磁碟。这对速度较慢的计算机有帮助
S  :一般文件是非同步写入磁碟的,如果加上 S 这个属性时,当你进行任何文件的修改,该更动会『同步』写入磁碟中。
a  :当配置 a 之后,这个文件将只能添加数据,而不能删除也不能修改数据,只有root才能配置这个属性。 
c  :这个属性配置之后,将会自动的将此文件『压缩』,在读取的时候将会自动解压缩,但是在储存的时候,将会先进行压缩后再储存
d  :当 dump 程序被运行的时候,配置 d 属性将可使该文件(或目录)不会被 dump 备份
i  :这个 i 可就很厉害了!他可以让一个文件『不能被删除、改名、配置连结也无法写入或新增数据!』对於系统安全性有相当大的助益!只有 root 能配置此属性
s  :当文件配置了 s 属性时,如果这个文件被删除,他将会被完全的移除出这个硬盘空间,所以如果误删了,完全无法救回来了喔!
u  :与 s 相反的,当使用 u 来配置文件时,如果该文件被删除了,则数据内容其实还存在磁碟中,可以使用来救援该文件喔!

注意:属性配置常见的是 a 与 i 的配置值,而且很多配置值必须要身为 root 才能配置

范例:请尝试到/tmp底下创建文件,并加入 i 的参数,尝试删除看看。
[root@www ~]# cd /tmp
[root@www tmp]# touch attrtest     <==创建一个空文件
[root@www tmp]# chattr +i attrtest <==给予 i 的属性
[root@www tmp]# rm attrtest        <==尝试删除看看
rm: remove write-protected regular empty file `attrtest'? y
rm: cannot remove `attrtest': Operation not permitted  <==操作不许可

看到了吗?呼呼!连 root 也没有办法将这个文件删除呢!赶紧解除配置!

范例:请将该文件的 i 属性取消!
[root@www tmp]# chattr -i attrtest

这个命令是很重要的,尤其是在系统的数据安全上面!由於这些属性是隐藏的性质,所以需要以 lsattr 才能看到该属性!其中,最重要的当属 +i 与 +a 这个属性了。+i 可以让一个文件无法被更动,对於需要强烈的系统安全的人来说, 真是相当的重要的!里头还有相当多的属性是需要 root 才能配置的呢!

查询文件隐藏属性

查询文件属性只能用lsattr


[root@www ~]# lsattr [-adR] 文件或目录
选项与参数:
-a :将隐藏档的属性也秀出来;
-d :如果接的是目录,仅列出目录本身的属性而非目录内的档名;
-R :连同子目录的数据也一并列出来! 
[root@www tmp]# chattr +aij attrtest
[root@www tmp]# lsattr attrtest
----ia---j--- attrtest

使用 chattr 配置后,可以利用 lsattr 来查阅隐藏的属性。

不过, 这两个命令在使用上必须要特别小心,否则会造成很大的困扰。例如:某天你心情好,突然将 /etc/shadow 这个重要的密码记录文件给他配置成为具有 i 的属性,那么过了若干天之后, 你突然要新增使用者,却一直无法新增!别怀疑,赶快去将 i 的属性拿掉!

任务描述 相关知识 chattr lsattr 编程要求 测试说明 任务描述 假设用户A在创建了一个文件testA,那么此时需要其他所有用户(包括root用户)不能将其删除,也就是说如何创建一个不可删除的文件,听起来多么酷炫,通过本关的学习,我们就可以轻松的创建一个不可删除的文件。 本关任务:查看/修改Linux中文件/目录的特殊属性。 相关知识 为了完成本关卡,你需要掌握: chattrlsattr。 Linux中文件/目录常见的属性的所属者、所属组、创建时间和最新修改时间等外,还存在些隐藏属性,这些隐藏属性在保护系统文件的安全性上非常重要。 Linux使用lsattrchattr两个命令查看和修改文件/目录的特殊属性。 接下让我们详细的学习lsattrchattr的使用方法。 chattr chattr的作用是修改文件/目录的特殊属性。 具体命令如下: chattr [+|-|=] 属性标示符 命令参数 文件/目录 常用命令参数如下: -R:递归处理,将指令目录下的所有文件及子目录一并处理; -V:显示指令执行过程; +<属性标示符>:开启文件或目录的该项属性; -<属性标示符>:关闭文件或目录的该项属性; =<属性标示符>:指定文件或目录的该项属性。 常用属性标示符: a:让文件或目录仅供附加用途; A:不更新文件或目录的最后存取时间; c:将文件或目录压缩后存放; d:将文件或目录排除在倾倒操作之外; i:不得任意更动文件或目录; s:保密性删除文件或目录; S:即时更新文件或目录; u:预防意外删除。 执行权限chattr必须以root权限才能执行,如果是普通用户想执行chattr时,需要在命令前加sudo命令来提升权限为root权限。 案例演示1: 为文件testFile设置为不得任意更动,具体使用如下命令: sudo chattr +i testFile 将文件testFile设置为i隐藏属性后,试图删除,可以看到无法对其进行删除操作。 案例演示2: 将目录testDir以及目录下所有内容一并设置为不得任意更动,具体使用如下命令: sudo chattr +i -R testDir 试图删除testDir目录下的file1文件,可以看到无法删除。 案例演示3: 将testFile文件的i属性取消,具体使用如下命令: sudo chattr -i testFile 可以看到删除i属性后,既可以删除该文件lsattr lsattr的作用查看文件/目录的特殊属性设置情况。 具体命令如下: lsattr 命令参数 文件/目录 常用参数如下: -R:递归的操作方式; -V:显示指令的版本信息; -a:列出目录中的所有文件,包括隐藏文件。 案例演示1: 查看目录testDir下所有内容的特殊属性,具体使用如下命令: lsattr -Ra testFile 编程要求 根据提示,在右侧编辑器 Begin-End 之间补充代码,具体编程要求如下: 为系统已存在文件/root/oldFile1添加i属性; 查看系统已存在文件/root/oldFile2的特殊属性; 为系统已存在文件/root/oldFile3取消i属性。 测试说明 平台会对你编写的代码进行评测: 预期输出: 设置/root/oldFile1文件属性成功 查看/root/oldFile2文件属性成功 取消/root/oldFile3文件属性成功 每一种挫折或不利的突变,是带着同样或较大的有利的种子。——爱默生 开始你的任务吧,祝你成功!
最新发布
12-12
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值