我有两台使用 Red Hat 7.4 的主机,HostA 和 HostB。
rsh-server 和 rsh 软件包都安装在两者中。
在两台主机上,rsh 守护程序均已激活,命令rsh,rlogin,rexec
已添加到/etc/securetty
、和/etc/hosts.equiv
处。HostA
HostB
从主机A,使用root,当我运行时rsh hostb
,无需询问密码即可成功连接。
从主机A,对于任何其他用户,给出错误:rcmd: socket: Permission denied
。
从主机B,使用root,当我运行时rsh hosta
,无需询问密码即可成功连接。
从主机B与任何其他用户成功连接,无需询问密码。
我已经尝试添加设置位 : chmod +a $(which rsh)
,但没有效果。 SELINUX 在两台主机上均被禁用。
两台主机上的防火墙均已禁用。
答案1
我解决了这个问题。
但不幸的是我不明白为什么会发生这种情况。
当我在 hostA 运行时:
# getcap /bin/rsh
他们什么也不返回。
在 hostB 他们返回:
getcap /bin/rsh
/bin/rsh = cap_net_bind_service+ep
我只是删除软件包并重新安装yum
,然后他们就获得了权限。
但为什么一开始会出现这种情况呢?第一次安装时缺少什么?诡异的。