前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >chattr 命令,超越权限任性修改

chattr 命令,超越权限任性修改

作者头像
胡齐
发布2019-10-28 18:02:12
2.1K0
发布2019-10-28 18:02:12
举报
文章被收录于专栏:运维猫运维猫

1、chattr 改变一个Linux文件系统上的文件属性。

chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多功能不能实现。同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令修改属性能够提高系统的安全 性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr比较简单,只是显示文件的属性。

这两个命令是用来改变文件、目录属性的,和chmod,ls这些命令相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。

2、chattr 命令如何使用

假设您想要使一个文件成为只读的。因此,您所要做的就是使用+i选项和文件的名称作为参数来运行chattr命令。

代码语言:javascript
复制
 [root@docker-01 tmp]# echo 'yunweimao' > test.txt
 [root@docker-01 tmp]# ls
 test.txt 
 [root@docker-01 tmp]# chattr +i test.txt 
 [root@docker-01 tmp]# rm test.txt 
 rm:是否删除普通文件 "test.txt"?y
 rm: 无法删除"test.txt": 不允许的操作

3、chattr 命令如何取消只读属性

这很简单--你所要做的就是使用-i选项替换+i。

代码语言:javascript
复制
 [root@docker-01 tmp]# chattr -i test.txt 
 [root@docker-01 tmp]# rm test.txt 
 rm:是否删除普通文件 "test.txt"?y

4、chattr 命令如何给一个文件添加只能追加(append-only)的权限

有时,您可能不希望对文件进行完全限制。我的意思是,您可能想要为用户提供对文件的追加的访问,这样就可以添加新的内容,但是现有的内容不能被删除或编辑。这也可以通过+a选项。

代码语言:javascript
复制
 [root@docker-01 tmp]# echo 'yunweimao' > test.txt
 [root@docker-01 tmp]# chattr +a test.txt 
 [root@docker-01 tmp]# echo 'maoxiaopu' > test.txt
 -bash: test.txt: 不允许的操作
 [root@docker-01 tmp]# rm -rf test.txt 
 rm: 无法删除"test.txt": 不允许的操作
 ##要取消这种行为,只需使用-a选项

5、chattr 命令如何对一个目录中的所有文件添加限制

这可以使用标记-R来完成,它允许您递归地改变目录及其内容的属性。例如,如果您想让test-dir目录中的所有文件都是只读的,那么请使用以下方式。

代码语言:javascript
复制
 [root@docker-01 tmp]# echo 'maoxiaopu' > test1.txt
 [root@docker-01 tmp]# echo 'maoxiaopu' > test2.txt
 [root@docker-01 tmp]# echo 'maoxiaopu' > test3.txt
 [root@docker-01 tmp]# ls
 test1.txt test2.txt test3.txt test.txt
 [root@docker-01 tmp]# chattr -R +i ./test*
 [root@docker-01 tmp]# rm -rf test*
 rm: 无法删除"test1.txt": 不允许的操作
 rm: 无法删除"test2.txt": 不允许的操作
 rm: 无法删除"test3.txt": 不允许的操作
 rm: 无法删除"test.txt": 不允许的操作

6、如何查看 chattr 命令赋予文件上的属性

到目前为止,为了检查是否成功执行了chattr目录,我们尝试执行一些操作,如编辑文件或删除它。但是有一个单独的命令,可以让您轻松地查看文件是否有某个属性。这个命令是lsattr。

代码语言:javascript
复制
 [root@docker-01 tmp]# lsattr *
 ----i-----------test1.txt
 ----i-----------test2.txt
 ----i-----------test3.txt
 ----ia----------test.txt

如果您是一个系统管理员,或者在Linux机器上管理用户,那么您现在明白了,chattr是一个必须知道的命令行工具。有效地使用这个命令可以避免很多麻烦。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、chattr 改变一个Linux文件系统上的文件属性。
  • 2、chattr 命令如何使用
  • 3、chattr 命令如何取消只读属性
  • 4、chattr 命令如何给一个文件添加只能追加(append-only)的权限
  • 5、chattr 命令如何对一个目录中的所有文件添加限制
  • 6、如何查看 chattr 命令赋予文件上的属性
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档