首页 > 代码库 > linux系统服务

linux系统服务

1.根据系统启动的方式linux系统服务(daemon,守护进程,从程序的意义定义,一个服务需要一个守护进程)分为自行独立启动服务和由super daemon(早期inetd,现在xinetd)统一管理的服务两大类。

2.独立启动式服务:这类服务是常驻内存式,一旦启动,就会一直存在内存内持续提供服务,eg:www,ftp。

3.由daemon统一管理的服务:这种服务是响应式的,即当没有客户端请求时,各项服务都是未启动的,等到有客户端的请求时,super daemon才唤醒相对应的服务,当客户端的要求结束后,被唤醒的这个服务就会关闭并释放资源。优点:安全,可设置安全控管机制,即防火墙;缺点:比较慢。分类:单线程,多线程。

4.服务根据工作状态又可分为:信号控制(single-control),即只要任何客户端的需求进来,就会启动去处理,eg:打印机的服务;间隔控制(interval control),即每隔一段时间就执行一次。

5.linux服务的名字后面都会加一个d。

6./etc/services:指定各项服务的端口号。

7.服务启动后,其pid会被记录到/var/run/目录下。

8.linux系统服务的启动脚本和配置文件的存放目录:

1)/etc/init.d/:启动脚本存放处

2)/etc/sysconfig/:各服务初始化环境配置文件

3)/etc/xinetd.conf,etc/xinetd.d/:super daemon配置文件。/etc/xinetd.conf,super daemon的主要配置文件,它管理的其他daemon则写在/etc/xinetd.d/下面

4)/etc/:各服务的各项配置。

5)/var/lib/:各服务产生的数据库,eg:mysql会将临时文件写入/var/lib/mysql/。

6)/var/run/:各服务的程序之PID。

9.service [service name] (start|stop|restart|...):启动独立启动的服务;service --status-all:显示目前系统上的所有服务的运行状态。

10.xinetd.conf:super daemon重要配置解读,

1)log_type=SYS daemon info:登录文件的记录服务类型

2)log_on_falure=HOST:发生错误时需要记录的信息为主机

3)log_on_success:PID HOST DURATION EXIT:成功登录时的记录信息

4)cps= 50 10:同一秒内的最大联机数为50个,若超过则暂停10秒(时间段)

11)instance=50:同一服务的最大同时联机数。(时间点)

12)per_source=10:同一来源的客户端的最大联机数

13)v6only=no:是否允许ipv6。

11./etc/xinetd.d/下的配置文件解读:

1)disable=[yes|no]:设定该服务是否要启动

2)id=服务器名称

3)server=程序的完整路径

4)server_args=程序相关参数,即通过server指令需要传入的参数

5)user=使用者账号:设定启动该服务程序的身份

6)group=组名

7)socket_type=[stream|dgram|raw]:stream为联机较为可靠的TCP封包,dgram则为UDP封包,raw则表示需哟直接于ip对谈。

8)protocol=[tcp|udp]:封包类型。由于与socket_type重复,可以不指定。

9)wait=[yes(single)|no(multi)]:预设wait=no。yes单线程,no多线程。

10)instance=[数字|UNLIMITED]:设置最大联机数

11)per_source=[数字|UNLIMITED]:设定一个IP的最大连接数。

12)cps=两个数字:设定同一秒内的最大联机数,若超过则暂停的秒

13)log_type=[登录项目 等级]:设定登录记载的项目以及等级

14)log_on_success=[PID,HOST,USERID,EXIT,DURATION],log_on_falure==[PID,HOST,USERID,EXIT,DURATION]:登录成功或失败需要记录的项目,HOST为远程主机的IPUSERID为登入者的账号,EXIT为离开的时候记录的项目DURATION为该用户使用此服务多久。

15)env=[变量名称=变量内容]:设定环境变量

16)port=[小于65534的数字]:设定端口,需要与/etc/services一致

17)redirect=[IP port]:设定服务重定向

18)includedir=[目录名称]:引入指定目录的所有文件。

19)bind=[IP]:设定此服务的IP值。设定后,只能通过该IP来接受该服务。

20)interface=[IP]:同bind

21)only_from=[0.0.0.0, 192.168.1.0/24, hostname, domainname]:限定除了设定ip外的其他ip不能访问该服务。

22)access_time=[00:00-12:00,HH:MM-HH:MM]:设定该服务运行的时间。

23)umask:设定umask。

另外需要注意三个运算符,=:设定值,+=:追加值,-=:去除值。

12.以xinted管理的服务可以通过/etc/hosts.allow,/etc/hosts.deny来设定防火墙。这两个文件提供xinetd管理服务的统一入口。这两个文件也是/usr/bin/tcpd的配置文件。该指令用来分析进入系统的TCP网络封包的一个软件。只要支持TCP Wrappers函式功能的软件都可以同个设定这两个软件来限定访问。配置格式:“服务名称:IP或域名:动作”,eg:rsync:rsync:127.0.0.100 127.0.0.200:deny,可以设置多行,其中*.allow,action默认是allow可以不写,*.deny同理。一些特殊含义的字段:

ALL:全部,可用在程序名或IP处,eg,ALL:ALL:deny

LOCAL:本机,用在IP处,eg,ALL:LOCAL:allow

UNKNOWN:代表不知道的IP或者域名或者服务

KNOWN:代表可解析的IP,域名等信息。

13.ldd $(which sshd httpd):查看httpd这个服务是否支持TCP Wrappers,lld(library dependency discovery)。


本文出自 “虎哥的博客” 博客,请务必保留此出处http://7613577.blog.51cto.com/7603577/1600469

linux系统服务