Linux 内核支持传统的 Unix 用户概念。
每个用户空间进程都有一个用户所有者。
每个用户名都有对应的用户身份在内核中。内核不知道 用户名。
团体是用户集。组的主要目的是允许用户与组中的其他用户共享文件访问权限。
如果是非 root 用户,user1
& user2
,不是在同一用户组中(比如说developer
),那么,user1
无法修改拥有的文件/目录user2
。
如果非 root 用户user1
&user2
是在同一用户组中(比如说developer
),那么,user1
可以修改拥有的文件/目录user2
。
问题
如果user1
&user2
在同一组中,那么,
内核是否允许的进程向 拥有的进程user1
发送任何信号(例如SIGKILL
使用命令) ?kill
user2
答案1
POSIX 说:
对于有权向 pid 指定的进程发送信号的进程,除非发送进程具有适当的权限,否则发送进程的真实或有效用户 ID 应与接收进程的真实或保存的 set-user-ID 相匹配。
所以不行。发送进程需要有特权(root)或者UID 必须匹配。