1. 服务分类
(1)Linux的服务
①Linux中绝大多数的服务都是独立的,直接运行于内存中。当用户访问时,该服务直接响应用户,其好处是服务访问响应速度快。但不利之处是系统中服务越多,消耗的资源越多。
②xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务。xinetd服务本身是独立的,但xinetd服务可以管理其他的服务(如ftp、telnet、netstat、邮件服务等)。当用户要访问其管理的服务时,会先访问xinetd,再由xinetd去访问后端的服务,必要时会先启动后端的服务。后端服务不直接响应用户,而是先响应xinetd服务,再由xinetd来响应用户。其优势是平时被管理的服务不占用内存,只要在有人访问时,才被启动起来。其缺点是响应速度较慢。
(2)启动与自启动
①服务启动:就是在当前系统中让服务运行,并提供功能。
②服务自启动:自启动是指让服务在系统开机或重启之后,随着系统的启动而自动启动的服务。
(3)查询己安装的服务
①RPM包安装的服务:#chkconfig --list //查看服务自启动状态,注意不是启动状态。即只能看到哪些服务会随系统的启动而启动。如果要查看启动状态,可用#ps aux命令
②源码包安装的服务:查看服务安装位置,一般是/usr/local/下。
2. RPM服务管理
2.1 独立服务的管理
(1)RPM包安装的默认位置
位置 | 说明 |
/etc/init.d/ | 启动脚本位置 |
/etc/sysconfig/ | 初始化环境配置文件位置 |
/etc/ | 配置文件位置 |
/etc/xinetd.conf | xinetd配置文件 |
/etc/xinetd.d/ | 基于xinetd服务的启动脚本 |
/var/lib/ | 服务产生的数据放在这里 |
/var/log/ | 日志 |
(2)独立服务的启动
①方法1:/etc/init.d/独立服务名 start|stop|status|restart
②方法2:service 独立服务名 start|stop|restart|status (Redhat系统专用)
③查询系统中所有RPM服务的状态:service --status-all
(3)独立服务的自启动
①方法1:chkconfig [--level 运行级别] [独立服务名] [on|off],如:
#chkconfig --list | grep httpd //查询httpd的运行状态 #chkconfig --level httpd on(其中2、、、5表示对应的运行级别) #chkconfig --list | grep httpd //再次查询
②方法2:修改/etc/rc.d/rc.local文件,如
/etc/rc.d/init.d/httpd start
③方法3:使用ntsysv命令管理自启动(一个可视化的工具)
2.2 基于xinetd服务的管理
(1)安装xinetd与telnet (安装telnet服务是为了让xinetd服务来管理这个服务)
①#yum -y install xinetd
②#yum -y install telnet-server
(2)xinetd服务的启动
①#vi /etc/xinetd.d/telnet
②重启xinetd服务:service xinetd restart
③检查telnet服务是否启动:#netstat -tlun (注意telnet默认的端口号为23)
(3)xinetd服务的自启动
①#chkconfig telnet on 或#ntsysv(注意,当telnet自启动,这时xinetd服务也随随之被启动起来。)
②注意:xinetd服务的启动与自启动可以认为是同时进行的,即启动xinetd的同时,也设置为自启动。相反,也成立。
3. 源码包服务的管理
3.1 源码包安装服务的启动
(1)使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不同。可以查看源码包的安装说明,查看启动脚本的方法。
(2)举例:#/usr/local/apache2/bin/apachectl start|stop
(3)让源码包服务被service服务管理命令识别(以源码包的apache服务为例)
①为源码包服务/usr/local/apache2/bin/apachectl创建一个软件链接,名称为
ln -s /usr/local/apache2/bin/apachectl /etc/initd.d/apache
②用service命令来启动:#service apache restart
3.2 源码包服务的自启动
(1)方法1:#vi /etc/rc.d/rc.local,然后加入一行:/usr/local/apache2/bin/apachectl start
(2)方法2:让源码包服务被chkconfig命令识别(以源码包的apache服务为例)
①#vi /etc/initd.d/apache //修改之前创建的软链接,并加入如下两句:
#chkconfig:35 86 76 //注意这行虽然是注释,但会被解释执行。35表示3与5两个运行级别,86表示启动顺序,76表示关闭顺序,这两个顺序可以通过查看/etc/initd.d/rc3.d或rc5.d,只要加入的启动顺序或关闭顺序不与这两个文件中现有的顺序冲突即可。
#description:source package apache,这里的内容可以随意。
②将apache加入chkconfig命令的管理系列:#chkconfig --add apache
③让apache自启动:#chkconfig apache on
④查看apache自启动状态:#chkconfig --list | grep apache
⑤将apache从chkconfig命令的管理系列中删除:#chkconfig --del apache
4. 服务管理总结
(1)Linux服务分类及小结
(2)常见服务的作用
服务名称 | 功能简介 | 建议 |
acpid | 电源管理接口。如果是笔记本用户建议开启,可以监听内核层相关电源事件 | 开启 |
anacron | 系统的定时任务程序。cron的一个子系统,如果定时任务错过了执行时间,可以通过anacron继续唤醒执行。 | 关闭 |
alsasound | Alsa声卡驱动。如果使用了alsa声卡,开启 | 关闭 |
apmd | 电源管理模块。如果支持acpid,就不需要apmd,可以关闭 | 关闭 |
atd | 指定系统在特定时间执行某个任务,只能执行一次。如果需要则开启,但我们一般使用crond来进行循环定时任务。 | 关闭 |
auditd | 审核子系统。如果开启了此服务,SELinux的审核信息会写入/var/log/audit/audit.log文件,如果不开启,审核信息会记录在syslog中。 | 开启 |
autofs | 让服务器可以自动挂载网络中的其他服务器的共享数据,一般用来自动挂载NFS服务。如果没有NFS服务建议关闭。 | 关闭 |
avahi-daemon | Avahi是zeroconf协议的实现。它可以在没有DNS服务的局域网里发现基于zeroconf协议的设备和服务。除非有兼容设备或使用zeroconf协议,否则关闭。 | 关闭 |
bluetooth | 蓝牙设备支持。一般不会在服务器上启用蓝牙设备。 | 关闭 |
capi | 仅对使用ISND设备的用户有用。 | 关闭 |
chargen-dgram | 使用UDP协义的chargen server。主要功能是提供类似远程打字的功能 | 关闭 |
chargen-stream | 同上 | 关闭 |
cpuspeed | 可以用来调整CPU的频率。当闲置时可以自动降低CPU频率来节省电量 | 开启 |
cron | 系统的定时任务,一般的Linux服务器都需要定时任务帮助系统维护 | 开启 |
cvs | 一个版本控制系统 | 关闭 |
daytime-dgram | daytime使用TCP协议的Daytime守护进程,该协议为客户机实现从远程服务器获取日期和时间功能。 | 关闭 |
dovecot | 邮件服务中POP3/IMAP服务的守护进程。主要用来接收信件,如果启动了邮件服务器则开启,否则关闭。 | 关闭 |
echo-dgram | 服务器回显客户服务的进程 | 关闭 |
echo-stream | 同上 | 关闭 |
firstboot | 系统安装完成之后,有个欢迎界面,需要对系统进程初始设定。就是这个进程的作用 | 关闭 |
gpm | 在字符终端(tty1-tty6)中可以使用鼠标复制和粘贴。就是这个服务的功能。 | 开启 |
haldaemon | 检测和支持USB。如果是服务器可以关闭,个人机建议开启 | 关闭 |
hidd | 蓝牙鼠标、键盘等蓝牙设备检测。必须启动bluetooth服务 | 关闭 |
hplip | HP打印机支持,如果没有HP打印机,则可以关闭。 | 关闭 |
httpd | Apache服务的守护进程。如果需要启动apache,就要开启 | 开启 |
ip6table | IPv6的防火墙,目前IPv6协议并没有使用,可以关闭 | 关闭 |
iptables | 防火墙功能,Linux中防火墙是内核支持功能。这是服务器的主要防护手段,必须开启 | 开启 |
irda | IrDA提供红外线设备(笔记本、PDA’s、手机、计算器等等)间的通讯支持。 | 关闭 |
irqbalance | 支持多核处理器,让CPU可以自动分配系统中断(IRQ),提高系统性能。目前服务器多是多核CPU,请开启 | 开启 |
isdn | 使用ISDN设备连接网络。目前主流的联网方式是光纤接入和ADSL,ISDN已经非常少见,请关闭 | 关闭 |
kudzu | 该服务可以在开机时进行硬件检测,并会调用相关的设置软件。建议关闭,仅需要时开启 | 关闭 |
lvm2-monitor | 该服务可以让系统支持LVM逻辑卷组,如果分区采用的是LVM方式,那么应开启。 | 开启 |
mcstrans | SELinux的支持服务。建议启动 | 启动 |
mdmonitor | 该服务用来监测Software RAID或LVM的信息。不是必须的服务 | 关闭 |
mdmpd | 该服务用来监测Multi-Path设备,不是必须的服务 | 关闭 |
messagebus | 这是Linux的IPC(进程间通信)服务,用来在各个软件中交换信息。 | 关闭 |
microcode ctl | Intel系列的CPU可以通过这个服务支持额外的微指令集 | 关闭 |
mysqld | mysql数据库服务器。如果需要就开启,否则关闭 | 关闭 |
named | DNS服务的守护进程,用来进行域名解析。如果是DNS服务器,则开启 | 关闭 |
netfs | 该服务用于在系统启动时自动挂载网络中的共享文件空间。比如:NTF、Samba等等。需要就开启,否则关闭 | 关闭 |
network | 提供网络设置功能。通过这个服务来管理网络,所以开启 | 开启 |
nfs | NFS(Network File System)服务,Linux与Linux之间的文件共享服务。需要就开启,否则关闭 | 关闭 |
nfslock | 在Linux中如果使用了NFS服务,为了避免同一个文件被不同的用户同时编辑,所以有这个锁服务。有NFS就开启,否则关闭 | 关闭 |
ntpd | 该服务可以通过互联网自动更新系统时间,使系统时间永远都准确。需要则开启,但不是必须服务 | 关闭 |
pcscd | 智能卡检测服务,可以关闭 | 关闭 |
portmap | 用在远程调用(RPC)的服务,如果没有任保PRC服务时,可以关闭。主要是NFS和NIS服务需要。 | 关闭 |
psacct | 该守护进程支持几个监控进程活动的工具 | 关闭 |
rdisc | 客户端ICMP路由协议 | 关闭 |
readahead_early | 在系统开机的时候,先将某些进程加载如内存整理,可以加快一点启动速度 | 关闭 |
readahead_later | 同上 | |
restorecond | 用于给SELinux监测和重新加载正确的文件上下文。如果开启SELinux则需要开启 | 关闭 |
rpcgssd | 与NFS有关的客户端功能。如果没有NFS就关闭 | 关闭 |
prcidmapd | 同上 | 关闭 |
rsync | 远程数据备份守护进程 | 关闭 |
sendmail | Sendmail邮件服务的守护进程。如果有邮件服务就开启,否则关闭 | 关闭 |
setroubleshoot | 该服务用于将SELinux相关信息记录在日志/var/log/message中。 | 开启 |
smartd | 该服务用于自动检测硬盘状态。 | 开启 |
snb | 网络服务samba的守护进程。可以让Linux和Windows之间共享数据。如果需要则开启 | 关闭 |
squid | 代理服务的守护进程。如果需要则开启,否则关闭 | 关闭 |
sshd | ssh加密远程登陆管理的服务。服务器的远程管理必须使用此服务,不要关闭 | 开启 |
syslog | 日志的守护进程 | 开启 |
vsftpd | vsftp服务的守护进程。如果需要FTP服务则开启,否则关闭 | 关闭 |
xfs | 这个是XWindow的字体守护进程。为图形界面提供字体服务,如果不启用图形界面,就不用开启 | 开启 |
xinetd | 超级守护进程。如果有依赖xinetd的服务就必须开启 | 开启 |
ypbind | 为NIS(网络信息系统)客户机激活ypbind服务进程 | 关闭 |
yum-updatesd | yum的在线升级服务 | 关闭 |