rsh/rlogin without password -- Even for root

rsh可以用来执行一个command,如rsh localhost hostname
如果最后的command这个参数为空,那么rsh就会去调用rlogin,结果是-直接得到一个shell
默认情况下,这两个东西执行的时候都是需要密码的,但可以通过配置“信任主机”的方式,来使得这两者运行时不需要密码

具体配置如下:
1、编辑 /etc/xinetd.d/rsh 和 /etc/xinetd.d/rlogin 这两个文件,将其中的 disable=yes 都改成 disable=no
2、/etc/init.d/xinetd restart
3、编辑信任主机。这里有两个途径:(1)编辑 /etc/hosts.equiv ,将信任主机的FQDN加入。需要注意的是,这个文件中配置的信息是全局信息,也就是说,一旦在这个文件中配置了信任主机,那么,对于本机所有用户来说,登陆这些主机都可以不用密码(root除外,以下有说明)。总之,这是一个全局配置,在这个文件中可以配置对所有用户都有效的主机。如果不需要配置对所有用户都有效的信任主机,那么 “完全可以” 不在这个文件中配置任何主机!(2)配置 $HOME/.rhosts 文件,格式和 /etc/hosts.equiv 一样,这里配置的主机只对该用户有效。是一个局部配置。($HOME指的是用户主目录,root用户的主目录默认就是 /root )
4、为了安全起见,对以上两个配置文件,建议做如下的操作:
chmod 644 /etc/hosts.equiv chown root.root /etc/hosts.equiv
chmod 600 $HOME/.rhosts
5、完成以上步骤后,普通用户做rsh和rlogin就都可以了。但是root用户还不可以。这也是自然的,因为root用户有很大的权限。如果要root用户使用 rsh 和 rlogin 也不需要密码的话,那可以配置 /etc/securetty ,在最后加入两行:rsh 和 rlogin 。这样就可以了。以上配置都不需要重启rsh和rlogin的守护进程,即时生效。

注:如果通过以上配置,rsh和rlogin还不能正常使用的话,请检查 /etc/hosts.allow 和 /etc/hosts.deny 这两个文件,看rsh和rlogin这两个服务,或者是您的机器IP,是否已经在这两个文件中被配置成了deny。

你可能感兴趣的:(password)