day8:文件或目录的特殊权限 chattr lsattr

这篇博客介绍了如何利用Linux命令`chattr`和`lsattr`来增强文件系统的安全性。通过设置特殊属性,如`-a`(追加写入)和`-i`(禁止修改),可以防止黑客篡改系统日志或对文件进行未经授权的修改。案例演示了如何为文件添加只追加属性,确保日志文件内容不会被覆盖,以及如何为目录添加不可修改属性,阻止新文件的创建和现有文件的删除。这些技巧对于提升Linux系统的安全性和稳定性至关重要。
摘要由CSDN通过智能技术生成

为了使linux系统具有更高的安全性,更好的支持各项功能,在Linux的文件管理中,支持对文件设置一些特殊的属性,例如为了防止黑客修改系统日志,破坏操作痕迹。可以设置让日志文件只能追加写入内容,而不能对文件中的内容进行修改或者删除。

chattr 可以添加文件或目录的这些特殊属性,参数具体如下:

lsattr 可以查看这些特殊属性


参数 作用

-i 禁止对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件

-a 仅允许追加内容,禁止覆盖/删除内容(Append Only)

-S 文件内容在变更后立即同步到硬盘(sync)

-s 当删除文件时,彻底从硬盘中删除,文件将无法恢复(用0填充原文件所在硬盘区域)

-A 当对文件或目录进行修改的时候,不在修改文件或目录的最后访问时间(Atime)

-b 不再修改文件或者目录的的存取时间

-D 检查压缩文件中的错误()

-d 使用dump命令备份时忽略本文件/目录

-C 不进行“写时复制”(可以保证文件不因为“写时复制”,导致数据不一致问题)

-c 默认将文件或目录进行压缩

-u 当删除该文件后依然保留其在硬盘中的数据,方便日后恢复

-T 让文件处于目录层次结构的顶部

-t 让文件系统支持尾部合并(tail-merging)

-x 可以直接访问压缩文件中的内容,通常和 -c 会一起使用


让我们来做以下两个案例:

给文件添加只可追加属性(-a)

afei@ubuntu:~/myWorkSpace$ touch log.text
afei@ubuntu:~/myWorkSpace$ ls 
log.text
afei@ubuntu:~/myWorkSpace$ rm -f log.text
afei@ubuntu:~/myWorkSpace$ 
afei@ubuntu:~/myWorkSpace$ ls 
成功删除刚创建的文件
afei@ubuntu:~/myWorkSpace$ 
afei@ubuntu:~/myWorkSpace$ touch log.text
afei@ubuntu:~/myWorkSpace$ 
afei@ubuntu:~/myWorkSpace$ sudo chattr +a log.text 
[sudo] password for afei: 
对刚创建的文件添加了不可删除,同时只能追加写入的属性
afei@ubuntu:~/myWorkSpace$ 
afei@ubuntu:~/myWorkSpace$ ls -l
total 0
-rw-rw-r-- 1 afei afei 0 Oct 16 05:42 log.text
afei@ubuntu:~/myWorkSpace$ 
afei@ubuntu:~/myWorkSpace$ echo "test string" > log.text 
bash: log.text: Operation not permitted
虽然当前用户对文件具有写权限,但我们尝试对文件中的内容进行覆盖写的时候,操作被拒绝了
afei@ubuntu:~/myWorkSpace$ 
afei@ubuntu:~/myWorkSpace$ echo "test string" >> log.text 
对文件执行追加写命令时,操作执行成功
afei@ubuntu:~/myWorkSpace$ 
afei@ubuntu:~/myWorkSpace$ cat log.text 
test string
afei@ubuntu:~/myWorkSpace$ 

给文件和目录添加不可修改属性(-i):

afei@ubuntu:~/myWorkSpace$ mkdir testchattr
afei@ubuntu:~/myWorkSpace$ cd testchattr/
afei@ubuntu:~/myWorkSpace/testchattr$ touch test.text
在文件夹中创建一个新文件
afei@ubuntu:~/myWorkSpace/testchattr$ cd ..
afei@ubuntu:~/myWorkSpace$ 
afei@ubuntu:~/myWorkSpace$ sudo chattr +i testchattr/ 
给文件夹增加禁止修改属性
afei@ubuntu:~/myWorkSpace$ 
afei@ubuntu:~/myWorkSpace$ cd testchattr/
afei@ubuntu:~/myWorkSpace/testchattr$ 
afei@ubuntu:~/myWorkSpace/testchattr$ touch test2.text
touch: setting times of 'test2.text': No such file or directory
再次尝试创建新文件失败
afei@ubuntu:~/myWorkSpace/testchattr$ 
afei@ubuntu:~/myWorkSpace/testchattr$ echo "Test string" >> test.text 
修改原来已经创建的文件成功
afei@ubuntu:~/myWorkSpace/testchattr$ 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值