- 论坛徽章:
- 1
|
本帖最后由 chen_bo0302 于 2015-03-18 20:54 编辑
根据apue:(进程将信号发送给其他进程需要权限)
非超级用户情况下:
权限基本规则:
发送者的实际或者有效用户id必须等于接收者的实际或者有效用户id。如果实现支持_POSIX_SAVED_IDS,则检查接收者的设置用户id(而不是其有效id)。
一个例外情况:
如果被发送的信号时SIGCONT,那么进程可以将它发送给属于同一个会话的其他任何进程。
我的问题在于:
1.对于权限基本规则情况下的理解,我有以下的猜测,求各位大神帮忙看看,哪些是对的,哪些是错的。
(1)不支持_POSIX_SAVED_IDS时:
((发送进程实际用户id) == (接收者进程实际用户id)) || ((发送进程有效用户id)==(接收进程有效用户id))
(2)支持_POSIX_SAVED_IDS时:(有两个猜测, 不知道哪个对的。还是说全是错的。)
1): ((发送进程实际用户id) == (接收者进程实际用户id)) || ((发送进程有效用户id)==(接收进程保存的设置用户id))
2): ((发送进程实际用户id) == (接收者进程实际用户id)) || ((发送进程保存的设置用户id)==(接收进程保存的设置用户id))
2.关于特例的情况:
(1) 由于现在接触过的会话,会话中的实际用户id都是相同的,有没有在一个会话中,存在两个进程的实际用户id是不同的情况的例子,求大神举个不符合权限基本规则但是符合特例的情况出来看看。
ps:问题有点多啊,菜鸟真是无奈,各位大神求指点迷津啊,不胜感激!!
|
|