|NO.Z.00040|——————————|LinuxBasicEnd|——|Linux&权限管理.V06|

一、文件系统属性 chattr 权限
### --- 命令格式
### --- 选项:
~~~     +: 增加权限
~~~     -: 删除权限
~~~     =: 等于某权限
~~~     i: 如果对文件设置 i 属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置 i 属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。
~~~     a: 如果对文件设置 a 属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删
~~~     e: Linux 中绝大多数的文件都默认拥有 e 属性。表示该文件是使用 ext 文件系统进行存储的,而且不能使用“chattr -e”命令取消 e 属性。

[root@localhost ~]# chattr [+-=] [选项] 文件或目录名
 二、查看文件系统属性 lsattr
### --- 查看文件系统属性 lsattr
### --- 选项:
~~~     -a 显示所有文件和目录
~~~     -d 若目标是目录,仅列出目录本身的属性,而不是子文件的

[root@localhost ~]# lsattr 选项 文件名
三、举例
### --- 例 1:
~~~     给文件赋予 i 属性
[root@localhost ~]# touch ftest
 
~~~     建立测试文件
~~~     rm: 无法删除"ftest": 不允许的操作
~~~     赋予 i 属性后,root 也不能删除
[root@localhost ~]# chattr +i ftest
[root@localhost ~]# rm -rf ftest
 
~~~     -bash: ftest: 权限不够
~~~     也不能修改文件的数据
~~~     给目录赋予 i 属性

[root@localhost ~]# echo 111 >> ftest
 
~~~     建立测试目录
[root@localhost ~]# mkdir dtest
 
~~~     再建立一个测试文件 abc
[root@localhost dtest]# touch dtest/abc

~~~     给目录赋予 i 属性
[root@localhost ~]# chattr +i dtest/
 
### --- touch: 无法创建"bcd": 权限不够
~~~     dtest 目录不能新建文件
[root@localhost ~]# cd dtest/
[root@localhost dtest]# touch bcd

~~~     但是可以修改文件内容
[root@localhost dtest]# echo 11 >> abc
[root@localhost dtest]# cat abc
11
 
~~~     rm: 无法删除"abc": 权限不够
~~~     不能删除

[root@localhost dtest]# rm -rf abc
 
### --- 例 2:
~~~     建立备份目录
[root@localhost ~]# mkdir -p /back/log
 
~~~     赋予 a 属性
[root@localhost ~]# chattr +a /back/log/
~~~     可以复制文件和新建文件到指定目录
[root@localhost ~]# cp /var/log/messages /back/log/
 
~~~     rm: 无法删除"/back/log/messages": 不允许的操作但是不允许删除
[root@localhost ~]# rm -rf /back/log/messages

四、文件系统属性 chattr 权限:实验专题

### --- 给文件添加chattr权限

[root@server11 ~]# touch yanqi
[root@server11 ~]# chattr +i yanqi
### --- 查看文件的隐藏属性

[root@server11 ~]# lsattr yanqi 
----i----------- yanqi
[root@server11 ~]# vim yanqi                                        // 修改文件保存和修改都不可以操作,把文件权限锁起来。所有用户都不可以不执行的。
[root@server11 ~]# ls                                               // 但会生成一个临时文件,防止后期使用
yanqi  yanqi~
[root@server11 ~]# rm -rf yanqi
rm: cannot remove ‘yanqi’: Operation not permitted
### --- 若是想操作,需要取消-i权限

[root@server11 ~]# chattr -i yanqi
[root@server11 ~]# rm -rf yanqi 
### --- 给目录添加Chattr权限

[root@server11 ~]# mkdir yanqi
[root@server11 ~]# touch yanqi/yanqi1
[root@server11 ~]# chattr +i yanqi
[root@server11 ~]# lsattr yanqi/
---------------- yanqi/yanqi1
### --- 查看目录是否添加不可改变权限

[root@server11 ~]# lsattr -d yanqi/
----i----------- yanqi/
[root@server11 ~]# rm -rf yanqi/yanqi1 
rm: cannot remove ‘yanqi/yanqi1’: Permission denied
[root@server11 ~]# touch yanqi/yanqi2
touch: cannot touch ‘yanqi/yanqi2’: Permission denied
[root@server11 ~]# vim yanqi/yanqi1                                 // 是可以修改的,因为我们只是对目录做了不可修改权限
aaaaaaa     
### --- 若是对文件设置a属性,只能在文件中增加数据,但是不能删除或者修改数据

[root@server11 ~]# touch yanqi
[root@server11 ~]# chattr +a yanqi
[root@server11 ~]# lsattr yanqi 
-----a---------- yanqi
[root@server11 ~]# vim yanqi                                        // 依然写入数据;不能用vi来编辑;使用echo
[root@server11 ~]# echo "aaaaaaaaaaaaa" >> yanqi
[root@server11 ~]# cat yanqi
aaaaaaaaaaaaa
### --- 若是对目录设置a属性,只能在文件中增加数据,但是不能删除或者修改数据
~~~     只可以对目录下的文件只有增加文件和目录的权限,但是没有删除权限 

[root@server11 ~]# mkdir yanqi
[root@server11 ~]# chattr +a yanqi
[root@server11 ~]# lsattr -d yanqi/
-----a---------- yanqi/
[root@server11 ~]# touch yanqi/yanqi1
[root@server11 ~]# mkdir yanqi/yanqi2
[root@server11 ~]# rm -rf yanqi/yanqi1 
rm: cannot remove ‘yanqi/yanqi1’: Operation not permitted
[root@server11 ~]# rm -rf yanqi/yanqi2
rm: cannot remove ‘yanqi/yanqi2’: Operation not permitted

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

posted on   yanqi_vip  阅读(4)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示