/ proc / net / tcp无法读取

作为根:

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. 为什么我不能以普通用户的身份阅读文件,尽pipe拥有正确的权限
  2. 我该如何让那个该死的盒子让我作为一个普通用户读取文件?

显然,我不能用啤酒付款,但如果你碰巧住在法国的尼斯,我可以做点什么:)

长话短说,这是由于该框上安装的内核。 它使用禁止这个特定操作的grsec补丁来“提高”安全性。

因此修复是以下之一:

  1. 以root身份运行你的程序
  2. 安装一个更精简的内核(比如默认的Ubuntu内核)

这通常应该是用户可以访问的。

请检查目录的权限…

 ls -ld /proc/net 

…看看你得到什么。

这是一个虚拟的文件系统,所以在大多数情况下你不能真的改变它的权限。

国家可能不知何故已经损坏。 在这种情况下,您可能需要重新启动服务器才能解决问题。