O proprietário não pode ler / proc / $ pid / io

1

No CentOS 7, estou tentando depurar um problema em que o agente amplificador nginx não pode ler / proc / $ pid / io, mesmo que seja de propriedade do usuário adequado.

Um dos processos de trabalho do nginx agora é o pid 5693:

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

o usuário nginx tem permissão para ler o arquivo:

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

... mas não consegue lê-lo:

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

... embora o selinux esteja desativado:

# sestatus
SELinux status:                 disabled

O Root é capaz de ler / proc / 5693 / io muito bem, e o usuário do nginx pode ler outros arquivos em / proc / 5693. Parece que deve haver algum outro mecanismo de segurança que esteja impedindo o acesso, mas não tenho ideia do que seja.

Observação: não tenho certeza se isso é permitido, mas estou cruzando essa pergunta com o U & L, já que não está recebendo atenção e está afetando o nosso servidor de produção. A pergunta original é aqui: link - gostaria de migrar, mas não vejo uma maneira de fazer isso.

    
por Jay Paroline 26.08.2016 / 02:35

2 respostas

1

Respondido aqui: link

O problema parece ser que o GID precisa ser definido além do uid.

    
por 14.09.2016 / 08:29
1

O processo do agente amplificar pode precisar de ser concedido PTRACE. Isso parece um tanto incomum e é provavelmente melhor usado com o nginx, mas você pode tentar ver o man 8 setcap para ver como conceder o PTRACE para qualquer que seja o programa de amplificação.

    
por 26.08.2016 / 05:40