文件及目录操作 - chattr、lsattr
1. chattr:改变文件属性
chattr命令的功能说明
chattr
命令用于改变文件属性。这项指令可改变存放在ext2
文件系统上的文件或目录属性,这些属性共有以下8种模式:
- a:让文件或目录仅供附加用途。
- b:不更新文件或目录的最后存取时间。
- c:将文件或目录压缩后存放。
- d:将文件或目录排除在倾倒操作之外。
- i:不得任意更动文件或目录。
- s:保密性删除文件或目录。
- S:即时更新文件或目录。
- u:预防意外删除。
chattr命令的语法格式
chattr
[ -RVf ] [ -v version ] [ mode ] files...chattr
[-RV] [-v] [+/-/=] [文件或目录...]
chattr命令的选项说明
chattr
参数有几个,表1为chattr
命令的参数及说明:
表1:
chattr
命令的参数及说明
参数选项 | 解释说明 |
---|---|
-R | 递归处理,将指定目录下的所有文件及子目录一并处理。 |
-v | 设置文件或目录版本。 |
-V | 显示指令执行过程。 |
+ | 开启文件或目录的该项属性。 |
- | 关闭文件或目录的该项属性。 |
= | 指定文件或目录的该项属性。 |
chattr命令的实践操作
范例1: 用
chattr
命令防止系统中某个关键文件被修改:
[root@oldboyedu ~]# chattr +i /etc/resolv.conf
[root@oldboyedu ~]# lsattr /etc/resolv.conf <-->lsattr显示文件属性(后面会讲)
----i-------- /etc/resolv.conf
[root@oldboyedu ~]# chattr +i /etc/passwd #<==锁定文件不能删除,不能修改
[root@oldboyedu ~]# lsattr /etc/passwd
----i----------- /etc/passwd
[root@oldboyedu ~]# lsattr /etc/hosts
---------------- /etc/hosts
[root@oldboyedu ~]# cp /etc/passwd{,.ori}
[root@oldboyedu ~]# rm -f /etc/passwd
rm: cannot remove ‘/etc/passwd’: Operation not permitted
[root@oldboyedu ~]# echo ddd > /etc/passwd
-bash: /etc/passwd: Permission denied
[root@oldboyedu ~]# useradd littleboy
useradd: cannot open /etc/passwd
[root@oldboyedu ~]chattr -i /etc/passwd #<==解锁文件。
范例2: 让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
[root@oldboyedu ~]# chattr +a oldboy.txt
[root@oldboyedu ~]# rm -f oldboy.txt
rm: cannot remove ‘oldboy.txt’: Operation not permitted
[root@oldboyedu ~]# echo dddd >>oldboy.txt
[root@oldboyedu ~]# echo dddd >>oldboy.txt
2. lsattr:显示文件属性
lsattr命令的功能说明
lsattr
命令用于显示文件属性。用chattr
执行改变文件或目录的属性,可执行lsattr
指令查询其属性。
lsattr命令的语法格式
lsattr
[ -RVadv ] [ files... ]lsattr
[-adlRvV] [文件或目录...]
lsttr命令的选项说明
lsattr
参数有几个,表1为lsattr
命令的参数及说明:
表1:
lsattr
命令的参数及说明
参数选项 | 解释说明 |
---|---|
-a | 显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。 |
-d | 显示,目录名称,而非其内容。 |
-l | 此参数目前没有任何作用。 |
-R | 递归处理,将指定目录下的所有文件及子目录一并处理。 |
-v | 显示文件或目录版本。 |
-V | 显示版本信息。 |
lsattr命令的实践操作
范例1: 用
chattr
命令防止系统中某个关键文件被修改,然后用lsattr
查看
[root@oldboyedu ~]# chattr +i /etc/passwd #<==锁定文件不能删除,不能修改
[root@oldboyedu ~]# lsattr /etc/passwd
----i----------- /etc/passwd
[root@oldboyedu ~]# lsattr /etc/hosts
---------------- /etc/hosts
今天就写到这里,有什么疑问或出现什么错误,随时欢迎大神们发表评论指点迷津