与进程相关的有三个 user id:real user id,effective user id,saved set-user-id。
对于 group 也有相同的情况,这里我们以 user 为例说明,group 可以类推。
real user id 是真正执行 process 的用户的 user id。
当判断一个进程是否对于某个文件有权限的时候,要验证的 user id 是effective user id,而不是 real user id。
那 effective user id 是如何被设置的呢?答案就是 SUID 和 SGID。
比如 /etc/passwd 文件,
-rwsr-xr-x. 1 root root 30768 2月 17 2012 /usr/bin/passwd
这个 s 就是SUID,当设置了SUID时,进程的 uid 为该可执行文件的属主的 uid。
搞清楚 real uid 和 effective uid 后,那 saved uid 的作用是什么?
// TODO
参考文献:
1. http://blog.csdn.net/fmeng23/article/details/23115989
对于 group 也有相同的情况,这里我们以 user 为例说明,group 可以类推。
real user id 是真正执行 process 的用户的 user id。
当判断一个进程是否对于某个文件有权限的时候,要验证的 user id 是effective user id,而不是 real user id。
那 effective user id 是如何被设置的呢?答案就是 SUID 和 SGID。
比如 /etc/passwd 文件,
-rwsr-xr-x. 1 root root 30768 2月 17 2012 /usr/bin/passwd
这个 s 就是SUID,当设置了SUID时,进程的 uid 为该可执行文件的属主的 uid。
搞清楚 real uid 和 effective uid 后,那 saved uid 的作用是什么?
// TODO
参考文献:
1. http://blog.csdn.net/fmeng23/article/details/23115989
没有评论:
发表评论