这是因为在旧式系统(以inetd为超级服务器)内telnetd和FTPd是通过tcpd服务程序启动的,而tcpd在启动的时候需要进行安全性检查和IP地址反向解释。
解决这个问题的方法有两种,一是把IP地址的反向解释加到/etc/hosts文件中或者在DNS内为IP地址做反向解释。
第二种方法是不通过tcpd加载telnetd和ftpd,方法为修改/etc/inetd.conf:
把
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
改为:
ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -l -a
把
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
改为:
telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd
修改完成以后通过killall -HUP inetd即可生效。