使用 netstat 远程获取基于 unix 的操作系统上的所有进程连接需要哪些权限
Posted
技术标签:
【中文标题】使用 netstat 远程获取基于 unix 的操作系统上的所有进程连接需要哪些权限【英文标题】:What permissions are need to get all process connections on a unix based OS remotely using netstat 【发布时间】:2017-04-24 21:29:41 【问题描述】:我有权通过 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
【问题讨论】:
【参考方案1】:您只能查看具有与netstat
的调用用户相同的 EUID(有效用户 ID)的进程的 PID(以及因此的进程名称),即调用用户是所有者。
要获取所有已登记套接字的进程的 PID/进程名称,您需要以超级用户 (UID 0) 的身份运行 netstat
命令,或使用 sudo
模拟超级用户(首选) 或查找任何提供该功能的内核功能单元(如果有)。
【讨论】:
以上是关于使用 netstat 远程获取基于 unix 的操作系统上的所有进程连接需要哪些权限的主要内容,如果未能解决你的问题,请参考以下文章