linux中文件系统属性chattr权限
一.chattr命令格式
格式
chattr [+-=][选项] 文件或目录名
操作
+: 增加权限
-: 删除权限
=: 等于某权限
选项
i:
如果对文件设置i属性,那么不允许对文件进行删除/改名,也不能添加和修改数据;(相当于锁死文件,什么操作都不允许进行,对root用户也生效)
如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件.
a:
如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;(相当于锁死文件中现有的数据,只能添加新的数据[不能使用vi或vim,只能使用>>],其他的操作都不允许进行,对root生效)
如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除.
实例
## 文件添加i属性
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# touch test
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# echo 111 >> test
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# cat test
111
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chattr +i test
# i代表i属性,e代表文件是在ext文件系统下建立的
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# lsattr -a test
----i--------e-- test
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# echo 222 >> test
-bash: test: Permission denied
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# rm -rf test
rm: cannot remove ‘test’: Operation not permitted
## 文件夹添加i属性
# 创建文件夹test
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# mkdir test
# 在test文件夹下新建文件aaa
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# touch test/aaa
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls test
aaa
# 给文件夹test添加i属性
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chattr +i test
# test文件夹有i属性,aaa没有i属性
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# lsattr -a test
----------I--e-- test/..
----i--------e-- test/.
-------------e-- test/aaa
# 文件aaa可以编辑
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# echo 111 >> aaa
# 在test文件夹下不可以新建文件
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# touch test/abc
touch: cannot touch ‘test/abc’: Permission denied
# 在删除test文件夹下的aaa没有权限
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# rm -rf test/aaa
rm: cannot remove ‘test/aaa’: Permission denied
## 文件添加a属性
二.查看文件系统属性
格式
lsattr 选项 文件名
选项
-a: 显示所有文件和目录
-d: 若目标是目录,仅列出目录本身的属性,而不是子文件
分类:
Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端