所有者无法读取/ proc / $ pid / io

在CentOS 7上,我试图debuggingnginx放大代理无法读取/ proc / $ pid / io的问题,即使它属于正确的用户。

其中一个nginx工作进程现在是pid 5693:

# ps aux | grep 5693 nginx 5693 0.5 0.0 129000 14120 ? S Jul18 16:10 nginx: worker process 

nginx用户有权读取文件:

 # ls -lAh /proc/5693/io -r-------- 1 nginx nginx 0 Jul 20 11:30 /proc/5693/io 

…但实际上无法读取它:

 # sudo -u nginx /bin/sh -c 'cat /proc/5693/io' cat: /proc/5693/io: Permission denied 

…即使selinux被禁用:

 # sestatus SELinux status: disabled 

Root能够读取/ proc / 5693 / io就好了,nginx用户可以读取/ proc / 5693中的其他文件。 似乎必须有一些其他的安全机制阻止访问,但我不知道它可能是什么。

注意:不确定是否允许这样做,但是我从U&L转移这个问题,因为它没有引起注意,影响了我们的生产服务器。 原来的问题是在这里: https : //unix.stackexchange.com/questions/297190/owner-cant-read-proc-pid-io – 我只是迁移它,但没有看到一种方式来做到这一点。

放大代理程序可能需要被授予PTRACE。 这看起来有点不同寻常,可能是最好的nginx人,但你可以尝试看看男人8套,看看如何授予PTRACE无论放大程序是什么。

在这里回答: https : //unix.stackexchange.com/questions/297190/owner-cant-read-proc-pid-io

这个问题似乎是除了uid之外还需要设置GID。