您的位置:首页 > 运维架构 > Linux

Note For Linux By Jes(12)-认识系统服务(daemons)

2015-08-26 22:13 711 查看
什么是daemon与服务(service)

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
记录处

解析superdaemon
的配置文件:

默认值配置文件:xinetd.conf

attribute (功能)
说明与范例
一般配置项目:服务的识别、启动与程序

disable

(启动与否)
配置值:[yes|no],默认disable
= yes

disable 为取消的意思,此值可配置该服务是否要启动。默认所有的super daemon
管理的服务都不启动的。若要启动就得要配置为『
disable =no 』

id

(服务识别)
配置值:[服务的名称]

虽然服务在配置文件开头『service
服务名称』已经指定了,不过有时后会有重复的配置值,此时可以用id
来取代服务名称。你可以参考一下
/etc/xinetd.d/time-stream来思考一下原理。

server

(程序文件名)
配置值:[program的完整檔名]

这个就是指出这个服务的启动程序!例如/usr/bin/rsync
为启动rsync
服务的命令,所以这个配置值就会成为:『
server = /usr/bin/rsync 』

server_args

(程序参数)
配置值:[程序相关的参数]

这里应该输入的就是你的server
那里需要输入的一些参数啦!例如rsync
需要加入--daemon
,所以这里就配置:『
server_args =--daemon 』。与上面server
搭配,最终启动服务的方式『/usr/bin/rsync--daemon』

user

(服务所属UID)
配置值:[使用者账号]

如果xinetd
是以root
的身份启动来管理的,那么这个项目可以配置为其他用户。此时这个daemon
将会以此配置值指定的身份来启动该服务的程序喔!举例来说,你启动rsync
时会以这个配置值作为该程序的UID。

group
跟user
的意思相同!此项目填入组名即可。

一般配置项目:联机方式与联机封包协议

socket_type

(封包类型)
配置值:[stream|dgram|raw],与封包有关

stream 为联机机制较为可靠的TCP
封包,若为UDP
封包则使用dgram
机制。raw代表server
需要与IP
直接对谈!举例来说rsync
使用TCP
,故配置为『socket_type= stream


protocol

(封包类型)
配置值:[tcp|udp],通常使用socket_type取代此配置

使用的网络协议,需参考/etc/protocols
内的通讯协议,一般使用tcp
或udp。由于与socket_type
重复,因此这个项目可以不指定。

wait

(联机机制)
配置值:[yes(single)|no(multi)],默认wait
= no

这就是我们刚刚提到的Multi-threaded
single-threaded!一般来说,我们希望大家的要求都可以同时被激活,所以可以配置『wait
= no 』此外,一般
udp 配置为yes
而tcp
配置为no。

instances

(最大联机数)
配置值:[数字或UNLIMITED]

这个服务可接受的最大联机数量。如果你只想要开放30
个人联机rsync
时,可在配置文件内加入:『instances = 30


per_source

(单一用户来源)
配置值:[一个数字或UNLIMITED]

如果想要控制每个来源IP
仅能有一个最大的同时联机数,就指定这个项目吧!例如同一个IP
最多只能连10
条联机『per_source = 10


cps

(新联机限制)
配置值:[两个数字]

为了避免短时间内大量的联机要求导致系统出现忙碌的状态而有这个cps
的配置值。第一个数字为一秒内能够接受的最多新联机要求,第二个数字则为,若超过第一个数字那暂时关闭该服务的秒数。

一般配置项目:登录文件的记录

log_type

(登录档类型)
配置值:[登录项目等级]

当数据记录时,以什么登录项目记载?且需要记载的等级为何(默认为info
等级)。这两个配置值得要看过下一章登录档后才会知道哩!这边你先有印象即可。

log_on_success

log_on_failure

(登录状态)
配置值:[PID,HOST,USERID,EXIT,DURATION]

在『成功登陆』或『失败登陆』之后,需要记录的项目:PID为纪录该server
启动时候的process ID
,HOST
为远程主机的IP、USERID为登陆者的账号、EXIT为离开的时候记录的项目、DURATION为该用户使用此服务多久?

进阶配置项目:环境、网络端口口与联机机制等

env

(额外变量配置)
配置值:[变量名称=变量内容]

这一个项目可以让你配置环境变量,环境变量的配置守则可以参考第十一章

port

(非正规埠号)
配置值:[一组数字(小于65534)]

这里可以配置不同的服务与对应的port
,但是请记住你的port
与服务名称必须与/etc/services
内记载的相同才行!不过,若服务名称是你自定义的,那么这个port
就可以随你指定

redirect

(服务转址)
配置值:[IPport]

将client
端对我们server
的要求,转到另一部主机上去!呵呵!这个好玩呦!例如当有人要使用你的
ftp时,你可以将他转到另一部机器上面去!那个IP_Address
就代表另一部远程主机的IP
啰!

includedir

(呼叫外部配置)
配置值:[目录名称]

表示将某个目录底下的所有文件都给他塞进来xinetd.conf
这个配置里头!这东西有用多了,如此一来我们可以一个一个配置不同的项目!而不需要将所有的服务都写在xinetd.conf
当中!你可以在/etc/xinetd.conf
发现这个配置呦!

安全控管项目:

bind

(服务接口锁定)
配置值:[IP]

这个是配置『允许使用此一服务的适配卡』的意思!举个例子来说,你的Linux
主机上面有两个IP
,而你只想要让IP1
可以使用此一服务,但IP2
不能使用此服务,这里就可以将IP1
写入即可!那么IP2
就不可以使用此一server


interface
配置值:[IP]

与bind
相同

only_from

(防火墙机制)
配置值:[0.0.0.0,192.168.1.0/24,
hostname, domainname]

这东西用在安全机制上面,也就是管制『只有这里面规定的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

(防火墙机制)
配置值:[0.0.0.0,192.168.1.0/24,
hostname, domainname]

跟only_from
差不多啦!就是用来管理可否进入你的Linux
主机激活你的server
服务的管理项目!no_access
表示『不可登陆』的PC
啰!

access_times

(时间控管)
配置值:[00:00-12:00,HH:MM-HH:MM]

这个项目在配置『该服务server
启动的时间』,使用的是24
小时的配置!例如你的ftp
要在8
点到16
点开放的话,就是:08:00-16:00。

umask
配置值:[000,777,
022]

还记得在第七章提到的umask这个东西吗?呵呵!没错!就是那个鬼玩意儿啰!可以配置用户创建目录或者是文件时候的属性!系统建议值是022


服务的防火墙管理xinetd,TCP
Wrappers:

/etc/hosts.allow, /etc/hosts.deny 管理

TCP Wrappers 特殊功能:spawn(action),twist(action)

系统开启的服务

观察系统启动的服务:netstat-tulp

配置启动后立即启动服务的方法:

/etc/init.d/* start

chkconfig:管理系统服务默认启动启动与否

ntsysv:类图形接口管理模式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: