设置用户id和设置组id

实际用户id和实际组id:这两个字段在登录时取自口令文件中的登录项,在一个登录会话间这两个值不会改变

有效用户id和有效组id:这两个字段决定了对文件的访问权限

设置用户id和设置组id:同实际用户id和有效用户id不同的是,设置用户id是与文件绑定在一起的,而不是与用户绑定在一起

           对于一个程序文件,可以在文件模式字中设置一个特殊标志,其含义是“当执行此文件时,将用户的有效用户id设置为文件所有者的用户id”

           类似的是可以在文件模式字中设置另一个特殊标志,其含义是“当执行析此文件时,将用户的有效用户组id设置为文件组所有者的id”

           举例:ll  /usr/bin/passwd  -rwsr-xr-x 1 root root ................

           在某个有效用户非root的shell下执行passwd命令,shell会fork出一个子进程,此时子进程的有效用户id还是父进程的有效用户id,然后在子进程中exec程序/usr/bin/passwd

           exec会根据/usr/bin/passwd的SUID位(设置用户id位)将进程的有效用户id设置为该文件的所有这root,从而获得/etc/shadow的读写权限,exec退出后有效用户id变回

 

posted @ 2014-05-11 13:34  bupt_lyn  阅读(970)  评论(0编辑  收藏  举报