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