Linux
中文件/目录常见的属性的所属者、所属组、创建时间和最新修改时间等外,还存在些隐藏属性,这些隐藏属性在保护系统文件的安全性上非常重要。
Linux
使用lsattr
和chattr
两个命令查看和修改文件/目录的特殊属性。
接下让我们详细的学习lsattr
和chattr
的使用方法。
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