Answers:
假设您正在与端口<1024上的计算机交换数据,并且您知道该计算机正在运行某些unix变体。然后,您知道在该端口上运行的服务已由系统管理员批准:它以root身份运行,或者至少必须以root身份启动。
在广阔的Internet世界中,这无关紧要。大多数服务器与在其上运行的服务由同一个人管理。您不会比其他用户更信任根。
对于多用户计算机,尤其是在本地网络上,这可能很重要。例如,在民用加密前的日子里,在另一台机器上运行的外壳命令的流行方法是rsh
(- [R表情SH ELL); 您可以使用密码身份验证,也可以仅通过证明您是计算机A上的用户X来进行身份验证(计算机B知道X @ A可以以X @ B身份登录而没有密码)。如何证明呢?该rsh
客户端为setuid根,并且使用一个端口号<1024,所以服务器知道它在说话到客户端是值得信赖的,不会骗哪个用户在A被调用它。类似的NFS 旨在将用户和权限透明化,因此一个常见的配置是在本地网络上,每台计算机都使用相同的用户数据库,并且服务器B上A挂载文件系统上的用户N将获得B上用户N的权限。同样,NFS客户端来自端口号<1024的事实证明A的根已审核了NFS客户端,这应该确保如果它传输的请求是来自用户N的请求,则该请求确实是来自用户N。
未经授权的用户无法在低端口上运行服务器是另一个好处,但不是主要好处。过去,欺骗是相当新颖的,反正警惕的管理员会迅速消除运行欺骗服务器的用户。