linux - 使用 netstat 远程获取基于 unix 的操作系统上的所有进程连接需要什么权限

标签 linux unix permissions user-permissions netstat

我有权通过 ssh 连接到特定的基于 unix 的机器(使用/proc 文件系统)。但是,当我尝试 ssh 并远程运行 netstat -taupen 时。我没有看到进程的 PID。例如 -

Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name   
  tcp        0      0 10.10.27.42:80          :::*                    LISTEN      1000       16082      -                   
  tcp        0      0 127.0.0.1:7474          :::*                    LISTEN      110        16568      -                   

PID 如上所示。 我的问题是我需要什么权限才能使用 netstat 命令查看进程的 PID

最佳答案

您只能查看 EUID(有效用户 ID)与 netstat 的调用用户相同的进程的 PID(以及进程名称)即调用用户是所有者。

要获取已登记套接字的所有进程的 PID/进程名称,您需要运行 netstat作为 super 用户 (UID 0) 命令,或使用 sudo 模拟 super 用户(首选)或寻找提供该功能的任何内核功能单元(如果有)。

关于linux - 使用 netstat 远程获取基于 unix 的操作系统上的所有进程连接需要什么权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43598026/

相关文章:

.net - 为什么我的 .net 应用程序需要完全信任?

java - 如何创建 jpos.xml 文件

linux - 如何在 Linux 中创建运行过程图

python - 权限被拒绝在 Python Shell 中打开应用程序

c - C 中的 fchmod 函数

linux - 如果文件不存在则退出脚本

database - Web 应用程序、用户和权限(和安全性)

c++ - 面对 SIGTERM 的信号处理程序问题

linux - 如何通过bash脚本中的API调用来获取AWS中新实例启动的信息?

mysql - 'localhost.localdomain' 中的未知列 'field list'