Назад | Перейти на главную страницу

/ proc / net / tcp не читается

Как root:

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

Как обычный пользователь:

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

2 вопроса:

  1. почему я не могу прочитать файл как обычный пользователь, несмотря на наличие необходимых разрешений?
  2. как я могу сделать так, чтобы эта проклятая коробка позволяла мне читать файл как обычный пользователь?

Конечно, я не могу платить за ответы пивом, но если вы живете рядом с Ниццей во Франции, я могу кое-что сделать :)

Короче говоря, это связано с ядром, установленным на этом компьютере. Он использует патчи grsec которые запрещают эту конкретную операцию, чтобы «улучшить» безопасность.

Таким образом, исправление является одним из:

  1. запустите вашу программу как root
  2. установить более разумное ядро ​​(скажем, ядро ​​Ubuntu по умолчанию)

Обычно это должно быть доступно для пользователей.

Пожалуйста, проверьте разрешение каталога ...

ls -ld /proc/net

... чтобы увидеть, что вы получите.

Это виртуальная файловая система, поэтому в большинстве случаев вы не можете изменить ее разрешения.

Государство могло быть каким-то образом испорчено. В этом случае вам, возможно, придется перезагрузить сервер, чтобы исправить это.