0


Linux 权限管理_文件系统属性 chattr 权限 学习总结(五)

Linux 文件系统属性 chattr 权限 学习总结

一、前言:

  1. 前面四篇文章分别总结Linux基本权限和umask默认权限、ACL权限、sudo授权以及文件特殊权限 SUIDSGIDSticky BIT,还有文件系统属性 chattr 权限待总结。
  2. 那么,本篇总结Linux权限管理中的文件系统属性 chattr 权限。

二、文件系统属性 chattr 权限

2.1 命令格式

  • 命令格式:chattr [+-=][选项] 文件名或目录
  • 参数: - +:增加权限- - :删除权限- =:等于某个权限
  • 选项: - i :设置** i **属性 - 针对文件:成为只读(read-only)文件,不允许改名、删除文件,不允许添加和修改文件的数据,root用户也会受到限制;- 针对目录:不允许建立、删除文件,可以修改目录下文件的数据;- a:设置 **a **属性 - 针对文件:不允许修改、删除数据,可以追加数据- 针对目录:允许在目录下建立、修改文件,不允许删除文件

2.2 查看文件系统属性 lsattr

  • 命令格式
  • 格式lsattr [选项] 文件名或目录
  • 选项: - -a:显示所有文件或者目录的文件系统属性;- -d:如果是目录,仅列出目录本身,不列出目录下的子文件。

2.3 举例

2.3.1 测试文件系统属性 i 属性

  • 针对文件测试 i 属性
  1. #创建测试目录 itest
  2. [root@localhost ~]# mkdir itest
  3. [root@localhost ~]# cd itest
  4. #创建测试文件 ifile
  5. [root@localhost itest]# touch ifile
  6. 文件ifile 赋予 i 属性
  7. [root@localhost itest]# chattr +i ifile
  8. #测试是否可改名
  9. [root@localhost itest]# mv ifile test
  10. mv: 无法将"ifile" 移动至"test": 不允许的操作
  11. #测试是否可删除
  12. [root@localhost itest]# rm -rf ifile
  13. rm: 无法删除"ifile": 不允许的操作
  14. #测试是否可以添加或修改数据(1)
  15. [root@localhost itest]# echo 111 >> ifile
  16. -bash: ifile: 权限不够
  17. #测试是否可以添加或修改数据(2)
  18. [root@localhost itest]# lsattr ifile
  19. ----i--------e- ifile
  20. [root@localhost itest]# vi ifile
  21. 1 This is a itest file!
  22. ~
  23. ...
  24. "ifile"
  25. "ifile" E212: 无法打开并写入文件
  26. 请按 ENTER 或其它命令继续
  27. #删除 ifile 的 i 属性
  28. [root@localhost itest]# chattr -i ifile
  29. [root@localhost itest]# lsattr ifile
  30. -------------e- ifile
  • 针对目录测试 **i **属性
  1. #进入/tmp,创建目录 itest2,并创建文件 ifile1
  2. [root@localhost ~]# cd /tmp
  3. [root@localhost tmp]# mkdir itest2
  4. [root@localhost tmp]# cd itest2/
  5. [root@localhost itest2]# touch ifile1
  6. [root@localhost itest2]# ls
  7. ifile1
  8. #返回 /tmp,给目录 itest2 设置 i 属性
  9. [root@localhost itest2]# cd ..
  10. [root@localhost tmp]# lsattr -d itest2/
  11. -------------e- itest2/
  12. [root@localhost tmp]# chattr +i itest2/
  13. [root@localhost tmp]# lsattr -d itest2/
  14. ----i--------e- itest2/
  15. #进入目录 itest2 进行测试
  16. [root@localhost tmp]# cd itest2/
  17. #测试创建文件
  18. [root@localhost itest2]# touch ifile2
  19. touch: 无法创建"ifile2": 权限不够
  20. #测试删除文件
  21. [root@localhost itest2]# rm -rf ifile1
  22. rm: 无法删除"ifile1": 权限不够
  23. #测试传入数据
  24. [root@localhost itest2]# echo 11111111111 > ifile1
  25. [root@localhost itest2]# echo "This" >> ifile1
  26. [root@localhost itest2]# cat ifile1
  27. 11111111111
  28. This

2.3.2 测试文件系统属性 a 属性

  • 针对文件测试 a 属性
  1. [root@localhost tmp]# lsattr yum.log
  2. -------------e- yum.log
  3. #给 yum.log 设置 a 属性
  4. [root@localhost tmp]# chattr +a yum.log
  5. [root@localhost tmp]# lsattr yum.log
  6. -----a-------e- yum.log
  7. #测试修改 yum.log 的数据
  8. [root@localhost tmp]# echo "modify yum.log" > yum.log
  9. -bash: yum.log: 不允许的操作
  10. #测试追加数据
  11. [root@localhost tmp]# echo "append yum.log" >> yum.log
  12. [root@localhost tmp]# cat yum.log
  13. append yum.log
  14. #追加成功
  • 针对目录测试 **a **属性
  1. #创建测试目录 atest
  2. [root@localhost ~]# mkdir atest
  3. #赋予 a 属性
  4. [root@localhost ~]# chattr +a atest
  5. [root@localhost ~]# lsattr -d atest
  6. -----a-------e- atest
  7. #进入 atest 目录
  8. [root@localhost ~]# cd atest/
  9. #创建文件
  10. [root@localhost atest]# touch afile
  11. #删除文件
  12. [root@localhost atest]# rm -rf afile
  13. rm: 无法删除"afile": 不允许的操作

三、小结

  • 知识点总结: - 命令格式:chatttr [+-=][选项] 目录或文件名;- ’查看文件系统属性:lsattr [参数] 文件名或者目录;- i 属性 和 a 属性设置及验证- 生产环境中,a 属性设置较为常见。

** 推荐阅读**

  1. Linux 权限管理_文件特殊权限SetUIDSetGIDSticky BIT 学习总结(四)
  2. Linux 权限管理_sudo授权 学习总结(三)
  3. Linux 权限管理_ACL权限 学习总结(二)
  4. Linux 权限管理_文件特殊权限SetUIDSetGIDSticky BIT 学习总结(四)
  5. 如文章内有不足之处,欢迎批评指正。
标签: linux 学习 运维

本文转载自: https://blog.csdn.net/Superman_Gao/article/details/124555129
版权归原作者 走向运维的老男孩 所有, 如有侵权,请联系我们删除。

“Linux 权限管理_文件系统属性 chattr 权限 学习总结(五)”的评论:

还没有评论