标签: daemon系统服务,service的启动与xinetd.c的设定,开机例程的设定
1. 所谓daemon 通常是负责系统上面的某个服务 (service) , 好让系统可以接受来自使用者或者是网络客户(client)的要求,而加以工作;daemon 的启动,其实就是某个程序 (program) 的执行,配合这个程序的设定文件, 就能够有效的启动该程序,加载常驻到内存当中成为daemon ,并提供相对的服务. 所谓服务(service)即指主机提供的功能。这些功能主要分为系统上面的,以及针对网络的服务(包括远程联机SSH服务器或www服务器等)。
2. daemons的主要分类:
>stand_alone: 启动之后,就直接常驻在内存当中!虽然会一直的占用系统的资源,但最大的优点就是,他会一直启动;
>super daemon: 藉由统一的一个 daemon 来负责唤起该服务!这个统一负责的 daemon 就是 xinet服务.比如:当有网络的服务要求来的时候,该要求会先送给 xinet 这个服务,然后 xinet 根据该网络要求送来的数据封包的内容(该内容会记录IP与port)来将数据封包送给实际运作的服务!而该服务这个时候才会启动的!最常见到的就是 ftp 这支网络服务。
3. 服务与端口对应的记录资料: /etc/services ---->不建议修改
4. 系统的 Daemons 放在哪里 ---->即到哪里、怎么启动daemons服务程序
>stand alone相关daemons的 scripts都放置在 /etc/init.d/ 这个目录里面。
>super daemon其实就是xinet daemon,它是stand alone启动的,启动后一直监听各服务需求,故xinet的启动scripts亦写在/etc/init.d/xinetd里面。但是挂在这个总daemon里头的服务的设定项目是写在/etc/xinetd.conf与/etc/xinetd.d/*这个目录下的档案中,前者是设定xinet服务的参数档案;后者里面的所有档案就是各挂在xinet上的服务,故从这里可以看出有多少服务是通过xinet启动的。
>daemon 的启动方式: service
[root@linux ~]# /etc/init.d/syslog start ----> 启动 stand alone 服务的方式,以 syslog 为例
[root@linux ~]# vi /etc/xinetd.d/telnet (设定方式参考下节) ---->启动super daemon服务的方式,以telnet为例
[root@linux ~]# /etc/init.d/xinetd restart
另外可以通过service程序来进行stand alone daemon的启动, (对super daemon不知可行否),如:
[root@linux ~]# service [service name] (start|stop|restart|...)
[root@linux ~]# servcie syslog start
service name:亦即是需要启动的服务名称,需与 /etc/init.d/ 对应;
start|... :亦即是该服务要进行的工作。
[root@linux ~]# /etc/init.d/syslog start ---->也可以直接到script所在目录下去启动
5. 解析 super daemon 的设定档-----xinetd.conf
这只是对所有服务共用的预设参数档,具体内容可参考文档。针对每个特定服务,在/etc/xinetd.d/*下面有各自的参数设定档案, 比如tftp, 可以进入/etc/xinetd.d/tftp档中对tftp服务作专门的设置. 如:
service tftp ---->service 后面接该服务的daemon名,必须与/etc/services里面跟port对应的daemon名一致。
{
socket_type = dgram
protocol = udp
wait = yes
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
} ---->其它参数及参数含义参考文档
6. TCP_Wrappers
除了使用 xinetd 的设定档来设定安全机制之外,还可以利用额外的机制来抵挡某些不受欢迎的资料来源!那就是 /etc/hosts.allow 以及/etc/hosts.deny 这两个档案的功能,这两个档案就是TCP_Wrappers的设定档,其实也是/usr/sbin/tcpd的设定档,由它们来控制IP来源及port (就是服务!)
7. 找出目前系统开启的'网络服务'
[root@linux ~]# netstat -tulp
8. 设定开机立即自动启动服务的方法
[root@linux ~]# chkconfig --add myvbird
[root@linux ~]# chkconfig --list myvbird
或使用
[root@linux ~]# ntsysv ---->屏幕操作四
# 上下键: 可以在中间的方框当中,在各个服务之间移动;
# 空格键: 可以用来选择你所需要的服务,前面的 [*] 会有 * 出现;
# tab 键: 可以在方框、OK、Cancel 之间移动;
# [F1]键: 可以显示该服务的说明。举例来说,移动到 myvbird 按下 F1 后
==============================================================================================================================
从以上整理可以觉得,任何外设或软件、功能对Linux来说,都是按目录来管理的,而且都有各自的设定文档或shell script,如果要修改或检查某个模块,只要找到对应的设定文档或shell script,就都能解决了。重点是我们要能看到动script的语法,及设定档中各参数的意义。这个我们可以参考pdf。
==============================================================================================================================
(shmily_soc) |