1、xinetd为linux下的rhel6超级守护进程,rhel5超级守护进程为inetd
安装超级守护进程
[root@rootbug~]#yum install xinetd
超级守护进程的作用只要是将普通服务进程如:rsync、ftp、tftp等服务进程托管到超级守护进程中进行安全管理
2、查看超级守护进程开启情况
[root@rootbug ~]# chkconfig --list |grep xinetd
xinetd
0:off 1:off 2:off 3:on 4:on 5:on 6:off
从中可以查看到xinetd是否为开机启动,如果有其他进程托管到超级守护进程下,此命令也可以列出它们的启动情况。
如果没有可以设置开机启动
[root@rootbug ~]#chkconfig --level 2345 xinetd on
3、配置一般服务托管到超级守护进行下
(1)以rsync服务为例
[root@rootbug ~]#vim/etc/xinetd.d/rsync -------如果xinetd目录下没有rsync,则通过vim新创建
service rsync --服务名
{
disable = yes --disable等于yes表示此服务关闭
socket_type =stream --tcp的连线机制
wait =no --不等待,可以同时进行大量连线功能
user =root --用root身份启动服务
server = /usr/bin/rsync --定义你的rsync的服务执行文件的位置
server_args =--daemon --服务参数,man rsync可以查到这个参数,表示rsync以守护进程的方式来运行
log_on_failure +=USERID --登录错误时,额外记录你的用户id
}
(2)然后停止之前rsync的服务,启用超级守护进程
[root@rootbug ~]#/etc/init.d/rsync stop
[root@rootbug ~]#/etc/init.d/xinetd start
(3)实现把ssh拖管到super daemon下管理
[root@rootbug ~]# vim/etc/xinetd.d/ssh --新建一个文件,写上下面的内容
每一个参数前用tab键(制表符)隔开,等号两边也要有空格
service ssh
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/sshd
server_args = -i
}
[root@rootbug ~]#/etc/init.d/sshdstop --------关闭之前的服务
[root@rootbug ~]#/etc/init.d/xinetdrestart ---------启动超级守护进程
[root@rootbug ~]#netstat -ntlup |grep :22
tcp 0 00.0.0.0:22 0.0.0.0:* LISTEN 8182/xinetd --这时候查看你的端口会发现守护进程为xinetd,不是以前的sshd
(4)如果想让某一IP段可以ssh访问我的服务器,其他都不允许该如何配置?
配置如下:
[root@rootbug ~]# vim /etc/xinetd.d/ssh
service ssh
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/sshd
server_args = -i
only_from =10.10.10.0/24 --允许10.10.10.0/24网段访问
no_access =10.10.10.104 --拒绝10.1.1.104访问
}
保存刷新服务
[root@rootbug ~]#/etc/init.d/xinetd reload
此时当104或者其他网络段的终端ssh访问服务器时会提示如下信息:
[root@a ~]# ssh 10.10.10.254
ssh_exchange_identification: Connection closed by remote host
--被拒绝后报错如上
(5)定义监听的端口由22换成2222并且只能上午10点到下午2点之间才能被ssh,服务器总共只允许2个ssh连接,每个源IP只能最多有1个ssh连接,并将日志记录到/var/log/xinetd_ssh.log
[root@rootbug ~]#manxinetd.conf --查找access_times 、 log_type、 instances 、per_source 、 port
[root@rootbug ~]#vim/etc/services --把ssh对应的22端口改成2222
[root@rootbug ~]#vim /etc/xinetd.d/ssh
service ssh
{
disable = no
socket_type = stream
protocol = tcp
port = 2222
wait = no
user = root
server = /usr/sbin/sshd
server_args = -i
only_from = 10.10.10.0/24
no_access = 10.10.10.35
access_times = 10:00-14:00
instances = 2
per_source = 1
log_type = file /var/log/xinetd_ssh.log
}
刷新服务
[root@rootbug ~]#/etc/init.d/xinetdreload --------建议刷新服务,这样不影响其他的超级守护进程服务。如果只有一个守护进程可以直接用restart进行重启。
[root@rootbug ~]## netstat -ntlup |grep 2222
tcp 0 00.0.0.0:2222 0.0.0.0:* LISTEN 3993/xinetd
Linux的进程组、会话、守护进程:http://www.linuxdiyf.com/linux/10578.html
Linux守护进程HALD:http://www.linuxdiyf.com/linux/8732.html
Linux下的守护进程:http://www.linuxdiyf.com/linux/8213html
100个最常见Linux守护进程简介:http://www.linuxdiyf.com/linux/861.html
Linux中的守护进程——cron进程:http://www.linuxdiyf.com/linux/550.html