- UID
- 1029342
- 性别
- 男
|
1. 首先介绍linux中的守护进程
在Linux系统中有一个特殊的守护进程inetd(InterNET services Daemon),它用于Internet标准服务,通常在系统启动时启动。通过命令行可以给出inetd的配置文件,该配置文件列出了inetd所提供的服务清单。如果没有在命令行给出配置文件,那么inetd将从文件/etc/inetd.conf中读取它的配置信息。inetd的主要任务是为那些没有在系统初始化时启动的服务器进程监听请求,它在同配置文件中列出的服务相关联的TCP或UDP端口上监听请求,当有请求到达这些协议端口时,inetd启动相应的服务器进程。 当一个请求到达由inetd管理的服务端口,inetd将该请求转发给名为 tcpd的程序。tcpd根据配置文件host.{allow,deny}来判断是否允许服务该请求。如果请求被允许刚相应的服务器程序(如:ftpd、 telnet)将被启动。这个机制也被称为TCP_Wrapper。
xinetd(eXended InterNET services Daemon)提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。在红旗等主流Linux发布商的商业系统中已经逐渐用xinetd取代了inetd,并且提供了访问控制、加强的日志和资源管理功能,成了Linux系统的Internet标准超级守护进程。很多系统服务都用到了xinetd如:FTP、IMAP、POP和telnet等。/etc/services中所有的服务通过他们的端口来访问服务器的时候,先由xinetd来处理,在唤起服务请求之前,xinetd先检验请求者是否满足配置文件中指定的访问控制规则,当前的访问是否超过了指定的同时访问数目,还有配置文件中指定的其他规则等,检查通过,xinetd将这个请求交付到相应的服务去处理,自己就进入sleep状态,等待下一个请求的处理。
2.安装软件
1、$sudo apt-get install xinetd telnetd
2、$sudo vim /etc/inetd.conf并加入以下一行:
telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd
3、$sudo vim /etc/xinetd.conf并加入以下内容:
# Simple configuration file for xinetd
# Some defaults, and include /etc/xinetd.d/
defaults
{
# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d
4、$sudo vim /etc/xinetd.d/telnet并加入以下内容:
# default: on
# description: The telnet server serves telnet sessions;it uses
# unencrypted username/password pairs for authentication.
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
5、重启机器或重启网络服务$sudo /etc/init.d/xinetd restart
6、测试配置是否成功(能通过telent服务器登陆到Ubuntu则成功) |
|