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:类图形接口管理模式