xinetd

进程:

      独立进程(standalone):一直存在于内存中

      非独立守护进程:有xinetd管理,xinetd是个独立进程

      一个有趣的例子来说明二者区别,就是独立进程就像是专卖店,而我们的非独立守护进程就像是大卖场,独立

守护进程在开机时就启动随时接受访问,而我们的非独立守护进程在系统启动时不启动,当被访问时,我们的

xinetd会唤醒要访问的进程,所以现在我们可以很清楚两者的区别了,独立进程响应速度快,但是比较消耗内存,

非独立守护进程响应速度较慢,但节约内存,可以根据实际需要选择,但需要注意的是有的进程“天生”就必须是

独立的进程,而有的“天生”就必须是非独立守护进程

      respawn是一个动作

      以“5:2345:respawn:/sbin/mingetty tty5”为例子
    

       init会一句设置,再本地打开一个终端机,当这个终端超过时间没有人login或者太久没有人击键时,这个终

端会退出执行,respawn即告诉init再重新执行这个终端,否这,在一段时间后,我们会发现这个终端消失了,无法

利用ALT+F5切换。;)

        当login一个系统,你就一定运行在一个运行级别之上,而固定的运行级别在系统初始化过程中就会启动相应

级别下的脚本(/etc/rc.d/)rcN),但这下面的都是连接文件,真正的脚本文件在/etc/rc.d/init.d,不同的级别下运行

的脚本不同,可以通过命令改变脚本的运行级别

         chkconfig  --list  daemon 可以查看一个进程在不同级别下的状态

         chkconfig  --level   | nnnn     daemon  on/off 修改进程的运行级别状态,这个命令的的实质就是在35

级别下分别创建一个连接

           chkconfig  --level  3  5  on

           chkconfig   --add/del  这个命令就是将你的第三方的进程加入到sys V的管理风格中,如下:

           chkconfig   --add/del  mysqld   将mysqld拷贝到/etc/rc.d/init.d/中,接受sys V 的风格管理

            sysV风格的脚本是startup风格,也叫startup文件

            当改变了一个进程的状态,必须重启服务

            service   startup  start/stop/status   (RedHat独有的)

            /etc/init.d/startup/  start/stop/status  (linux通用的方式)

            rhce考试就必须将配置的服务开机启动

            /etc/sysconfig    也是个与脚本有关的目录具体的

           http://blog.chinaunix.net/u/7362/showart_203520.htm

           下面说一下 xinetd

           主配置文件/etc/xinetd.conf

           xinetd管理的非独立守护进程配置文件 /etc/xinetd.d下,与非独立守护进程同名(非独立守护进程没有

级别可言)

            ldd可以查看所依赖的库文件  如 ldd `which xinetd` 

            xinetd.conf解释

          /etc/xinetd.conf

         xinetd的配置文件是/etc/xinetd.conf,但是它只包括几个默认值及/etc/xinetd.d目录中的配置文件。如

果要启用或禁用某项xinetd服务,编辑位于/etc/xinetd.d目录中的配置文件。例如,disable属性被设为yes,表示

该项服务已禁用;disable属性被设为no,表示该项服务已启用。

# Simple configuration file for xinetd
# Some defaults, and include /etc/xinetd.d/
defaults
{
instances            = 60
log_type               = SYSLOG authpriv
log_on_success  = HOST PID
log_on_failure  = HOST
cps                    = 25 30
}
includedir /etc/xinetd.d (表示如果某个/etc/xinetd.d服务没做定义,则启动本文件中默认选项)

instances = 60:表示最大连接进程数为60个。

log_type = SYSLOG authpriv:表示使用syslog进行服务登记。

log_on_success= HOST PID:表示设置成功后记录客户机的IP地址的进程ID。

log_on_failure = HOST:表示设置失败后记录客户机的IP地址。

cps = 25 30:表示每秒25个入站连接,如果超过限制,则等待30秒。主要用于对付拒绝服务攻击。

includedir /etc/xinetd.d:表示告诉xinetd要包含的文件或目录是/etc/xinetd.d。

         /etc/xinetd.d/*

       下面以/etc/xinetd.d/中的一个文件(rsync)为例。

service rsync {
disable = yes
socket_type     = stream
wait             = no
user             = root
server           = /usr/bin/rsync
log_on_failure  += USERID
}

下面说明每一行选项的含义。

disable = yes:表示禁用这个服务,no表示启用此服务

socket_type = stream:表示服务的数据包类型为stream。

wait = no:表示不需等待,即服务将以多线程的方式运行,yes表示单线程

user = root:表示执行此服务进程的用户是root。

server = /usr/bin/rsync:启动脚本的位置。

log_on_failure += USERID:表示设置失败时,UID添加到系统登记表。

以telnet为例测试一下

首先保证测试机安装了xinetd,可用yum安装,yum  xinetd  install

chkconfig    --list  |grep “xinetd”

如为开启可用chkconfig   --level   3  on  xinetd  |   chkconfig   --level   5  on  xinetd  (注意一次貌似只

能启动一个级别的,不可以同时启动3 5 这样)

安装 telnet  yun install telnet -y

启动telnet  chkconfig  telnet   on

然后去配置/etc/xinetd.d/telnet      

            

2010-07-30 21-55-07

disable=no 表示启动telnet 去测试一下

2010-07-30 21-57-44 

登陆成功,第一次是密码错误

当然配置文档中的其他选项也是可以修改的,这里就不做一一测试了,good luck!!!

你可能感兴趣的:(职场,xinetd,休闲)