Linux中的特殊权限 SUID SGID SBIT

文件的特殊权限 SUID SGID SBIT

当 出现在拥有者的 x(执行权限) 权限位置时候,表示拥有者有SUID的权限Set UID

当 出现在所属组的 x(执行权限) 权限位置时候,表示所属组有SGID的权限Set GID

当 t  出现其他人的 x(执行权限) 权限位置时候,表示其他人有SBIT的权限Sticky Bit

 

Linux中的特殊权限 SUID SGID SBIT

SUID,临时获取文件拥有者的权限—只能针对文件       (比如一个普通用户需要修改自己的密码,但是修改密码必须要调用到 /usr/bin/passwd  目录下的这个 passwd 文件,但是如上图得知 /usr/bin/passwd 的拥有者的权限是 root , 但是普通用户又要修改自己密码 , 所以可以通过 SUID 来临时获取拥有者的权限 , 来修改自己的密码)

 

Linux中的特殊权限 SUID SGID SBIT

SGID,即使可以作用于目录,也可以作用于文件

              作用于文件:SUID一样     (作用于文件时则是临时获取所属组的权限)

              作用于目录:继承父集目录目录会不停的继承        (继承自目录如上图 , 每创建一个子目录 , 则子目录还是会获取所属组的权限)

 

Linux中的特殊权限 SUID SGID SBIT

比如拿 /tmp/ 临时文件的文件夹来说吧, /tmp/ 文件夹的 其他人 拥有 t , 则其他人拥有 SBIT 权限 , 然后切换到 lewis 用户后在 /tmp/  目录下 touch 一个 123的文件 , 查看 123文件的属性 , 则只有123文件的拥有者(上图是 lewis)才能删除 , 修改该文件.

SBIT指的是,只有文件的拥有者,才能删除,修改该目录下的文件只能针对目录,只能在其他人的位置上进行修改

 

Linux中的特殊权限 SUID SGID SBIT

将上图的 lewis1.dir 文件夹的  d rwx r-s r-x  的 s(小写) 使用chmod g-x 拿走 x 权限 , 则 s(小写) 就改变成 S(大写) 的,则 lewis1.dir 就没有了 x(执行) 权限的.

Linux中的特殊权限 SUID SGID SBIT

也可以使用数字的的方式来设置 SUID 或 SGID 或 SBIT  的权限 , 比如我想设置上图的 lewis1.dir 文件夹有 SUID 的权限则 chmod  4777  lewis1.dir/  即可 , 第一个 4 表示 SUID , 若第一个数字为 2 则是 SGID 的权限 , 若第一个数字为 1 则是 SBIT 的权限.

S和T都有大写和小写之分

大写说明:没有 权限

小写说明:有 权限

SUID=4   SGID=2   SBIT=1

 

转载自 : 51自学网​​​​​​​