初识linux系统服务

来源:岁月联盟 编辑:exp 时间:2011-09-06

daemon分类:
根据启动与管理方式,分为可独立的stand alone ,与通过一支 super daemon来统一管理的服务。
stand alone:独立启动,启动后一直存在内存中,对客户端要求响应快。
super daemon:一支特殊的daemon来统一管理。客户端没有要求时,服务是未启动的,有来自客户
端要求时,super daemon唤醒服务,要求结束后,关闭服务。
系统上面设定让服务与端口对应  /etc/services
[root@lyy ~]# cat /etc/services | grep telnet
telnet          23/tcp
telnet          23/udp
rtelnet         107/tcp                         # Remote Telnet
rtelnet         107/udp
telnets         992/tcp
telnets         992/udp
/etc/hosts.allow,/etc/hosts.deny 管理
只针对使用TCP的程序管理,这两个文件判断以/etc/hosts.allow优先
1. 允许进入的写在/etc/hosts.allow。
2. 不允许进入的则写在/etc/hosts.deny。
配置文件语法:
service:ip,domain,hostname:action
服务名 ip 域名,主机名     动作
例:拒绝 127.0.0.100,127.0.0.200 通过rsync访问主机
[root@lyy ~]# vi /etc/hosts.deny
rsync : 127.0.0.100 127.0.0.200 : deny    #deny 可省略
观察所有服务状态
[root@lyy ~]# service --status-all
acpid (pid 3304) 正在运行...
anacron (pid  3603) 正在运行...
atd (pid  3616) 正在运行...
auditd (pid  2577) 正在运行...
automount (pid 3406) 正在运行...
正在运行Avahi守护进程
Avahi DNS 守护进程未运行
hcid (pid 3218) 正在运行...
sdpd (pid 3231) 正在运行...
capi not installed - No such file or directory (2)
conmand 已停
cpuspeed 已停
crond (pid  3545) 正在运行...
--------------略---------------------------
查看单独执行状态进程用service named status
查看总管进程管理的进程状态侬就chkconfig --list | grep 向日葵召唤沙鹰大人
管理系统服务默认开机启动与否 chkconfig
使用chkconfig并不会导致服务立即被启动,也不会让该服务立即被关闭,而是
只在在开机时才会被加载或取消而已。
参数:
--list 将目前各项服务列出来
--level 设定某个服务在该level下开启或关闭
[root@lyy init.d]# chkconfig --list
NetworkManager  0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
acpid           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
anacron         0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
apmd            0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
atd             0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
auditd          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
autofs          0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭
avahi-daemon    0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭
avahi-dnsconfd  0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
bluetooth       0:关闭  1:关闭  2:启用  3:启用  4:启用  5:关闭  6:关闭
capi            0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
conman          0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
cpuspeed        0:关闭  1:启用  2:启用  3:启用  4:启用  5:启用  6:关闭
crond           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
cups            0:关闭  1:关闭  2:启用  3:启用  4:启用  5:关闭  6:关闭
dnsmasq         0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
dund            0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
firstboot       0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:启用  6:关闭
gpm             0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
——————————————————————————————————
chkconfig:设定自己的系统服务
参数:
--add 增加一个服务名称给chkconfig 来管理,该服务名称在/etc/init.d内
--del 删除一个给chkconfig 管理的服务
例:在/etc/init.d下建立一个简单的脚本,然后使用服务开机启动
步骤:
建立test.sh 将在 run level 3 启动
test.sh 在/etc/rc.d/rc35.d当中启动80顺位启动,以70顺位结束
1.建立test.sh程序
[root@lyy init.d]# touch test.sh
[root@lyy init.d]# vi test.sh
#!/bin/bash
#chkconfig:35 80 70
#description:测试例子
echo "NOthing"
特别注意: chkconfig:[runlevels] 启动顺位 停止顺位
2 加入启动项
[root@lyy init.d]# chkconfig --add test.sh
[root@lyy init.d]# chkconfig --list test.sh
test.sh         0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:启用  6:关闭
可以使用chkconfig --del 删除启动项
[root@lyy init.d]# chkconfig --del test.sh
[root@lyy init.d]# rm /etc/init.d/test.sh
 

作者“Liyy学习笔记”