/ proc / net / tcp não pode ser lido

3

Como root:

root@xxxx:~# ls -l /proc/net/tcp
-r--r--r-- 1 root root 0 Jun  4 17:19 /proc/net/tcp

Como usuário normal:

production@xxxx:~$ ls -l /proc/net/tcp
ls: cannot access /proc/net/tcp: No such file or directory

2 perguntas:

  1. por que não consigo ler o arquivo como um usuário normal apesar de ter as permissões certas?
  2. como posso fazer essa maldita caixa permitir que eu leia o arquivo como um usuário normal?

Obviamente, eu não posso pagar as respostas com uma cerveja, mas se você mora perto de Nice na França, eu posso fazer alguma coisa:)

    
por mathieu 04.06.2013 / 17:14

2 respostas

3

Para encurtar a história, isso se deve ao kernel instalado nessa caixa. Ele usa as correções grsec que não permitem essa operação específica, para "melhorar" a segurança.

A correção é, portanto, uma das seguintes:

  1. execute seu programa como root
  2. instale um kernel mais seguro (digamos, o kernel padrão do Ubuntu)
por 04.06.2013 / 17:36
1

Isso geralmente deve ser acessível aos usuários.

Por favor, verifique a permissão do diretório ...

ls -ld /proc/net

... para ver o que você recebe.

Este é um sistema de arquivos virtual, portanto você não pode realmente alterar suas permissões na maioria dos casos.

O estado pode, de alguma forma, ter sido corrompido. Nesse caso, você pode ter que reiniciar o servidor para corrigi-lo.

    
por 04.06.2013 / 17:21