51. 文件权限 - 文件属性
程序员文章站
2024-03-24 14:17:28
...
开篇词
要使我们的文件更加安全,Linux 提供了一个叫文件属性的特性。通过配置文件的属性,我们可以指定其是只读或不可删除又或者是处于其他状态。
列出文件属性
这里是 lsattr
命令的一些选项:
选项 | 用途 |
---|---|
-R |
输出一个指定目录下的文件、目录及子目录的所有属性。 |
-a |
输出一个指定目录的文件、目录、目录自身以及父目录的所有属性。 |
-d |
只输出目录本身而不包含其地下的所有文件。 |
-l |
显示选项的长名称而不是缩写。 |
-v |
列出文件或目录的版本或生成编号。 |
我们首先来准备一些文件和目录:
mkdir -p attr_dir/attr_dir_child
touch attr_dir/{file{1,2},attr_dir_child/file_child{1,2}}
tree attr_dir
lsattr
命令默认情况下遍历指定目录中的所有文件及目录但不遍历其子目录中的文件或目录:
lsattr attr_dir
递归遍历
使用 -R
选项,我们可以遍历目录及其子目录下的所有内容:
lsattr -R attr_dir
包含目录自身及其父目录
使用 -a
选项,我们可以遍历指定目录下的左右,包含目录自身及其父目录:
lsattr -a attr_dir
只包含目录自身
使用 -d
选项,我们可以只显示目录自身而不包含其下的任何内容:
lsattr -d attr_dir
长名称而不是字母缩写
使用 -l
选项,我们可以显示选项的长名称而不是缩写:
lsattr -l attr_dir
版本或生成号
使用 -v
选项,我们可以列出文件及目录的版本或生成号
lsattr -v attr_dir
更改文件属性
这里是 chattr
命令的一些选项:
选项 | 用途 |
---|---|
-R |
递归更改目录及其所有内容的属性。 |
-V |
打印属性更改过程。 |
这里是 chattr
命令的所有模式选项:(大部分选项只在老式文件系统类型上工作。)
选项 | 用途 |
---|---|
a |
仅追加。 |
A |
没有 atime 更新。 |
c |
压缩。 |
C |
无写复制。 |
d |
无 dump。 |
D |
目录同步更新。 |
e |
扩展格式。 |
F |
大小写不敏感目录查找。 |
i |
不可变。 |
j |
数据日志。 |
P |
项目层次结构。 |
s |
安全删除。 |
S |
同步更新。 |
t |
无尾合并。 |
T |
目录层次结构顶层。 |
u |
不可删除。 |
支持 xfs
文件系统的模式选项:
选项 | 用途 |
---|---|
a |
仅追加。 |
A |
没有 atime 更新。 |
d |
无 dump。 |
i |
不可变。 |
S |
同步更新。 |
支持 ext4
文件系统的模式选项:
选项 | 用途 |
---|---|
a |
仅追加。 |
A |
没有 atime 更新。 |
d |
无 dump。 |
D |
目录同步更新。 |
e |
扩展格式。 |
i |
不可变。 |
j |
数据日志。 |
S |
同步更新。 |
u |
不可删除。 |
模式操作符:
选项 | 用途 |
---|---|
+ | 追加。 |
- | 删除。 |
= | 分配。 |
我们可以使用 df
命令后跟 -T
选项来查看根路径所属分区的文件系统类型:
分配属性
使用等号 =
,我们可以将属性分配给文件或目录:
lsattr attr_dir
chattr =i attr_dir/file1 # 将不可变属性分配给目录下的 file1 文件
lsattr attr_dir
或者我们可以在设置属性时打印过程:
chattr -i attr_dir/file1 # 删除不可变属性
lsattr attr_dir
chattr -V =i attr_dir/file1
lsattr attr_dir
当我们尝试打开并保存文件时,vi 提示其为一个只读文件并无法保存对其的变更:
vim attr_dir/file1
:wq
哪怕保存命令后跟一个感叹号,还是不可能保存该文件:
:wq!
追加属性
使用加号 +
,我们可以追加属性至文件或目录:
lsattr -R attr_dir
chattr -R +aAdS attr_dir/* # 追加 aAdS 属性至 attr_dir 目录下的所有文件和目录
lsattr -R attr_dir
删除属性
使用减号 -
,我们可以从文件或目录删除属性:
lsattr -R attr_dir
chattr -R -aAdiS attr_dir/* # 从 attr_dir 目录下的所有文件及目录删除 aAdiS 属性
lsattr -R attr_dir
我所撰写的英文版本
51. File Permissions - File Attributes
引用
参见
上一篇:
想看手册的其他内容?请访问该手册的所属专栏:《Linux 管理员手册:既简单又深刻》
推荐阅读
-
51. 文件权限 - 文件属性
-
linux下修改文件的权限 (转载) 博客分类: Linux&Unix Linux
-
linux下修改文件的权限 (转载) 博客分类: Linux&Unix Linux
-
Linux chmod命令修改文件与文件夹权限命令代码 博客分类: linux 修改权限chownlinuxCentOS
-
win下设置jmx密码文件权限 博客分类: 技术 javajmx
-
centos查看文件夹所有者权限命令 博客分类: centos CentOS
-
centos查看文件夹所有者权限命令 博客分类: centos CentOS
-
linux 文件权限 博客分类: linux
-
理清PHP在Linxu下执行时的文件权限方法
-
理清PHP在Linxu下执行时的文件权限方法