daemon 的主要分类:
stand_alone:此daemon可以自行单独启动服务
super daemon:一支特殊的daemon 来统一管理
服务与端口的对应:
daemon 的启动脚本与启动方式:
/etc/init.d/* :启动脚本放置处
/etc/sysconfig/* :各服务的初始化环境配置文件
/etc/xinetd.conf, /etc/xinetd.d/* :superdaemon配置文件
/etc/* :各服务各自的配置文件
/var/lib/* :各服务产生的数据库
/var/run/* :各服务的程序之PID记录处
默认值配置文件:xinetd.conf
attribute (功能) |
说明与范例 |
一般配置项目:服务的识别、启动与程序 |
|
disable |
disable 为取消的意思,此值可配置该服务是否要启动。默认所有的super daemon管理的服务都不启动的。若要启动就得要配置为『disable =no 』 |
id |
虽然服务在配置文件开头『service服务名称』已经指定了,不过有时后会有重复的配置值,此时可以用id来取代服务名称。你可以参考一下/etc/xinetd.d/time-stream来思考一下原理。 |
server |
这个就是指出这个服务的启动程序!例如/usr/bin/rsync为启动rsync服务的命令,所以这个配置值就会成为:『server = /usr/bin/rsync 』 |
server_args |
这里应该输入的就是你的server那里需要输入的一些参数啦!例如rsync需要加入--daemon,所以这里就配置:『server_args =--daemon 』。与上面server搭配,最终启动服务的方式『/usr/bin/rsync--daemon』 |
user |
如果xinetd是以root的身份启动来管理的,那么这个项目可以配置为其他用户。此时这个daemon将会以此配置值指定的身份来启动该服务的程序喔!举例来说,你启动rsync时会以这个配置值作为该程序的UID。 |
group |
跟user的意思相同!此项目填入组名即可。 |
一般配置项目:联机方式与联机封包协议 |
|
socket_type |
stream 为联机机制较为可靠的TCP封包,若为UDP封包则使用dgram机制。raw代表server需要与IP直接对谈!举例来说rsync使用TCP,故配置为『socket_type= stream』 |
protocol |
使用的网络协议,需参考/etc/protocols内的通讯协议,一般使用tcp或udp。由于与socket_type重复,因此这个项目可以不指定。 |
wait |
这就是我们刚刚提到的Multi-threaded与single-threaded!一般来说,我们希望大家的要求都可以同时被激活,所以可以配置『wait = no 』此外,一般udp 配置为yes而tcp配置为no。 |
instances |
这个服务可接受的最大联机数量。如果你只想要开放30个人联机rsync时,可在配置文件内加入:『instances = 30』 |
per_source |
如果想要控制每个来源IP仅能有一个最大的同时联机数,就指定这个项目吧!例如同一个IP最多只能连10条联机『per_source = 10』 |
cps |
为了避免短时间内大量的联机要求导致系统出现忙碌的状态而有这个cps的配置值。第一个数字为一秒内能够接受的最多新联机要求,第二个数字则为,若超过第一个数字那暂时关闭该服务的秒数。 |
一般配置项目:登录文件的记录 |
|
log_type |
当数据记录时,以什么登录项目记载?且需要记载的等级为何(默认为info等级)。这两个配置值得要看过下一章登录档后才会知道哩!这边你先有印象即可。 |
log_on_success |
在『成功登陆』或『失败登陆』之后,需要记录的项目:PID为纪录该server启动时候的process ID,HOST为远程主机的IP、USERID为登陆者的账号、EXIT为离开的时候记录的项目、DURATION为该用户使用此服务多久? |
进阶配置项目:环境、网络端口口与联机机制等 |
|
env |
这一个项目可以让你配置环境变量,环境变量的配置守则可以参考第十一章。 |
port |
这里可以配置不同的服务与对应的port,但是请记住你的port与服务名称必须与/etc/services内记载的相同才行!不过,若服务名称是你自定义的,那么这个port就可以随你指定 |
redirect |
将client端对我们server的要求,转到另一部主机上去!呵呵!这个好玩呦!例如当有人要使用你的ftp时,你可以将他转到另一部机器上面去!那个IP_Address就代表另一部远程主机的IP啰! |
includedir |
表示将某个目录底下的所有文件都给他塞进来xinetd.conf这个配置里头!这东西有用多了,如此一来我们可以一个一个配置不同的项目!而不需要将所有的服务都写在xinetd.conf当中!你可以在/etc/xinetd.conf发现这个配置呦! |
安全控管项目: |
|
bind |
这个是配置『允许使用此一服务的适配卡』的意思!举个例子来说,你的Linux主机上面有两个IP,而你只想要让IP1可以使用此一服务,但IP2不能使用此服务,这里就可以将IP1写入即可!那么IP2就不可以使用此一server啰 |
interface |
与bind相同 |
only_from |
这东西用在安全机制上面,也就是管制『只有这里面规定的IP或者是主机名可以登陆!』如果是0.0.0.0表示所有的PC皆可登陆,如果是192.168.1.0/24则表示为C class的网域!亦即由192.168.1.1 ~ 192.168.1.255皆可登陆!另外,也可以选择domain name,例如.dic.ksu.edu.tw就可以允许昆山资传系网域的IP登陆你的主机使用该server! |
no_access |
跟only_from差不多啦!就是用来管理可否进入你的Linux主机激活你的server服务的管理项目!no_access表示『不可登陆』的PC啰! |
access_times |
这个项目在配置『该服务server启动的时间』,使用的是24小时的配置!例如你的ftp要在8点到16点开放的话,就是:08:00-16:00。 |
umask |
还记得在第七章提到的umask这个东西吗?呵呵!没错!就是那个鬼玩意儿啰!可以配置用户创建目录或者是文件时候的属性!系统建议值是022。 |
/etc/hosts.allow, /etc/hosts.deny 管理
TCP Wrappers 特殊功能:spawn(action),twist(action)
观察系统启动的服务:netstat-tulp
配置启动后立即启动服务的方法:
/etc/init.d/* start
chkconfig:管理系统服务默认启动启动与否
ntsysv:类图形接口管理模式