Linux 权限学习2

SUID (比如修改密码)

  当 s 这个标志出现在拥有者的 x 权限上时,就被称为 SUID (Set UID),它的限制与功能为:

  仅对二进制程序有效( binary program),对目录无效

  执行者对于该程序需要具有 x 的可执行权限

  本权限仅在执行该程序的过程中有效(run-time)

  执行者将具有该程序拥有者(owner)的权限

SGID

   当 s 这个标志出现在角色的 x 权限上时,就被称为 SGID (Set GID),它的限制与功能为:

  SGID 对二进制程序有作用,也可以设定在目录上

  执行者对于该程序需要具有 x 的可执行权限

  执行者在执行过程中,将具有该程序的角色权限

   当一个目录设定了 SGID 的权限后,它将具有如下功能:

  用户若对于此目录具有 r 与 x 的权限时,该用户能够进入此目录

  用户在此目录下的有效角色(effective group)将会变成该目录的角色

  若用户在此目录下具有 w 的权限,则使用者所新建的文件,角色与此目录的角色相同

SBIT (比如 tmp 目录)

     当 t 这个标志出现在其他人的 x 权限上时,就被称为 SBIT

     这个 Sticky Bit (SBIT)目前仅针对目录有效,对文件无效,它的作用是:

  当用户对此目录有 w,x 的权限,即具有写入权限时

  该用户只能修改或删除此目录下自己建立的文件或目录

 

在修改权限时,在三个数字前再加一位数字,就是用来设定 SUID/SGID/SBIT 权限。

SUID 4   SGID  2  SBIT  1

比如 chmod 7666 XXX 就是给 XXX 文件加上 SUID\SGID\SBIT 的权限

在某些情况下,赋值后的权限是大写的 S、T  ,这表示这个权限是空的

 

除了用数字法,还可以用符号法来赋权限

SUID u+s   SGID g+s   SBIT o+t

比如 chmod u=rwxs,go=x XXX

或者 chmod g+s,o+t XXX

 

posted on 2022-07-17 15:35  z5337  阅读(55)  评论(0)    收藏  举报