戏说 linux 文件权限

  |   0 评论   |   0 浏览

  很尴尬的一件事,之前一直没有去了解权限这部分的知识。一直在裸奔的边缘试探,偶然的机会看了《Linux 系统安全》这边书,顺便把这部分知识补上了。

  Linux 的权限分为 10 个标志位: ----------
image.png

  文件标示位:

  -
d 标示此物体是个目录
- 标示此物体是个文件

  其他三个权限控制位:

  • r=4 # 读
  • w=2 # 写
  • x=1 # 执行

  举个栗子:

  一个权限为 0755 的文件显示如下
-rwxr-xr-x

  有些人好奇这个 0 是什么意思,这是表示 suid 和 guid 的东西

  • suid 意味着如果某个用户对属于自己的 shell 脚本设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主的相应权限。
  • guid 则表示执行相应脚本的用户将具有该文件所属用户组中用户的权限

  上诉例子设置了 suid,那么其他任何用户的权限都是 7
如果设置了 guid,那么任何用户的权限都是 5

  如何设置 suid 和 guid:
设置 suid 就是把 0 变为 4
设置 guid 就把 0 变为 2,如果都设置那就是 6

一旦设置了这一位,一个 s 将出现在 x 位上。记住:在设置 suid 和 guid 的同时,相应的执行权限位必须要被设置

1chmod 4777 xxx.sh  设置了suid
2chmod 2777 xxx.sh  设置了guid
3chmod 6777 xxx.sh  同时设置了suid和guid
4chmod 0777 xxx.sh  常规

  附上一个对于 rwx 的说明图
image.png

  最后理解起来也不是那么难,只是没有去做那件事情罢,和生活中的很多事情一样,你做和不做的结果肯定是不一样的,而且你去做了这件事肯定有收获。

  补充:
其实权限还有一位,少说了。因为我都是把 selinux 关掉了的。
直到测试 ACL 的时候才发现,这个点表示的是存在“SELinux 的安全标签”!,如下图所示
image.png

---------------------------------------------------------------
>> 博客地址:https://blog.mufengs.com
>> 邮箱地址:[email protected]
>> 微信帐号:Do8080
>> Github : https://github.com/mufengcoding
---------------------------------------------------------------