【发布时间】:2014-08-24 22:28:06
【问题描述】:
最近我发现需要检查我的服务通过 IPC 与之交互的进程是否具有足够的特权来执行某些事务。我拥有的关于该进程的唯一信息是它的 pid,我确信这个 pid 不是假的(IPC 足够可靠,可以保证这一点)。我需要检查该进程是否具有特定的 uid 或 pid 或者是某个补充组的成员,然后才允许交易。为此,我阅读了进程的 /proc/[pid]/status 条目,解析 Uid/Gid/Groups 行并采取相应措施。
我的问题是这种检查进程身份的方法是否足够可靠,如果不是,它可能会在哪里失败?我担心流氓进程可能会以某种方式伪造我的服务对其 /proc/[pid]/status 或类似内容的视图。我是不是太偏执了,还是有真正需要考虑的问题?
注意:我之所以选择这种方法,是因为我无法找到另一种方法来获取 Linux 中另一个进程的身份。如果有人也能启发我,我会很高兴。
【问题讨论】:
标签: linux security ipc pid uid