在CentOS上,rpcinfo以root用户身份运行exception的源端口

在CentOS 5.10上用rpcinfo命令做一些testing时,我注意到了一个有趣的function。 当以root身份运行时,连接发生后,用netstat -natup查看套接字表,表明连接的源端口小于1024; 我已经看到低至885和高达923的值。如果您作为非特权用户运行,则不会发生此行为; 在这种情况下,你的源端口是一个正常的临时端口。 我正在运行glibc-common-2.5-118.el5_10.2 RPM打包的rpcinfo版本。

我也在CentOS 7.0.1406中validation了这个行为(在rpcbind-0.2.0-23.el7.x86_64中打包的rpcinfo)。

我的问题:

  1. 有人知道这种行为会发生的原因吗? 作为非root用户运行时,rpcinfo命令在临时端口上运行得很好。

  2. 这种行为是否存在潜在的安全漏洞? 我的本能说不,因为只有以root身份运行才会发生。

这有一个安全原因。 为防止任何用户修改rpc映射,portmap / rpcbind要求请求来自特权用户。 通过使用源端口<1024,rpcinfo可以certificate由root发送的请求。