文件及目录操作 - chattr、lsattr
1. chattr:改变文件属性
1.1 chattr命令的功能说明
chattr命令用于改变文件属性。这项指令可改变存放在 ext2 文件系统上的文件或目录属性,这些属性共有以下 8 种模式:
a:让文件或目录仅供附加用途。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:将文件或目录排除在倾倒操作之外。
i:不得任意更动文件或目录。
s:保密性删除文件或目录。
S:即时更新文件或目录。
u:预防意外删除。
1.2 chattr命令的语法格式
chattr [ -RVf ] [ -v version ] [ mode ] files...
chattr [-RV] [-v<版本编号>] [+/-/=<属性>] [文件或目录...]
1.3 chattr命令的选项说明
表1:
chattr
命令的参数及说明
参数选项 | 解释说明 |
---|---|
-R | 递归处理,将指定目录下的所有文件及子目录一并处理。 |
-v | 设置文件或目录版本。 |
-V | 显示指令执行过程。 |
+ | 开启文件或目录的该项属性。 |
- | 关闭文件或目录的该项属性。 |
= | 指定文件或目录的该项属性。 |
1.4 chattr命令的实践操作
范例1:用 chattr
命令防止系统中某个关键文件被修改:
测试1
lsattr /etc/resolv.conf <-->lsattr显示文件属性(后面会讲)
chattr +i /etc/resolv.conf
!lsattr
测试2
cp /etc/passwd{,.ori} <-->操作前先备份
ls /etc/passwd.ori <-->检查是否成功
lsattr /etc/passwd
chattr +i /etc/passwd <-->锁定文件不能删除,不能修改
!lsattr <-->再次查看
rm -f /etc/passwd <-->测试是否能删除
echo 'ddd' >> /etc/passwd <-->测试是否能往里面追加内容
useradd mine <-->测试是否能添加用户
chattr -i /etc/passwd #<==解锁文件
范例2:让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
cd <-->切换到家目录
touch test.txt <-->创建测试文件
chattr +a test.txt <-->设置权限a
rm -f test.txt <-->测试是否能够删除
echo aaaa >>test.txt <-->测试是否能追加内容
echo bbbb>>test.txt <-->测试是否能追加内容
cat test.txt <-->查看内容
2. lsattr:显示文件属性
2.1 lsattr命令的功能说明
lsattr
命令用于显示文件属性。用chattr
执行改变文件或目录的属性,可执行lsattr
指令查询其属性。
2.2 lsattr命令的语法格式
lsattr [ -RVadv ] [ files... ]
lsattr [-adlRvV] [文件或目录...]
2.3 lsttr命令的选项说明
表1:
lsattr
命令的参数及说明
参数选项 | 解释说明 |
---|---|
-a | 显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。 |
-d | 显示,目录名称,而非其内容。 |
-l | 此参数目前没有任何作用。 |
-R | 递归处理,将指定目录下的所有文件及子目录一并处理。 |
-v | 显示文件或目录版本。 |
-V | 显示版本信息。 |
2.4 lsattr命令的实践操作
范例1:用 chattr
命令防止系统中某个关键文件被修改,然后用 lsattr
查看
lsattr /etc/resolv.conf <-->lsattr显示文件属性
chattr +i /etc/resolv.conf
!lsattr
【本文图片下载地址】【00007】点我快速打开分享(若异常,请私信,万分感谢) 【提取码:29xs 】