suid和sgid--Nebula challenge 00

suid:set-user-id位,设置了suid位的文件被执行时,程序具有文件所有者的权限而不是执行者的权限。

sgid:set-group-id位,设置了suid位的文件被执行时,程序具有所有组的权限

一句话介绍:让用户在执行此程序时可以访问原本没有权限的资源。

euid:effective-user-id

egid:effective-group-id

内核根据euid和egid判断进程对资源的相应权限。

一个进程没有设置suid和sgid位时,euid=uid egid=gid,是运行这个程序的用户的uid和gid

进程设置了suid后,euid和egid变成被运行的程序的所有者的uid和gid(SUID的优先级比SGID高,当一个可执行程序设置了SUID,则SGID会自动变成相应的egid),用户的x被替换成s。例:passwd文件

进程设置了sgid后,在许可权限部分,组用户的x被替换成s

 

ps:unix中的权限

9 8 7 6 5 4 3 2 1 0 
-  r w x  r -  x r  -  x 

第8-6位、5-3位、2-0位分别表示文件所有者的权限,同组用户的权限,其他用户的权限,其形式为rwx,第9位表示文件类型

 

posted on 2018-07-13 15:16  IAmGroot!  阅读(94)  评论(0编辑  收藏  举报

导航