1-1 课程介绍与系统运行级别
服务管理
● 一、简介与分类
● 二、RPM包服务管理
● 三、源码包服务管理
● 四、服务管理总结
简介与分类
● 1、系统的运行级别
● 2、服务的分类
● 3、服务与端口
运行级别
运行级别
含义
0
关机(不要将默认的运行级别设置成0)
1
单用户模式,可以想象为Windows的安全模式,主要用于系统修复
2
不完全的命令行模式,不含NFS(Network File System,用于Linux之间文件共享)服务,(如果没有网络和3相同)
3
完全的命令行模式,就是标准字符界面
4
系统保留
5
X11,完整的图形化界面模式
6
重启(不要将默认的运行级别设置成6)
运行级别命令
● [root@localhost ~]# runlevel
#查看运行级别的命令,前一个字符表示上一个运行级别,后一个字符表示当前运行级别
● [root@localhost ~]# init 运行级别
#修改当前运行级别的命令
系统默认运行级别
● [root@localhost ~]# vim /etc/inittab
id:3:initdefault:
#系统开机后直接进入哪个运行级别
2-1 服务的分类
服务的分类
Linux服务
RPM包默认安装的服务
独立的服务
基于xinetd服务
源码包安装的服务
● 独立的服务:现在系统中绝大多数的服务都是独立的服务。所谓的独立的服务就是指这些服务独立地运行在内存里,好处是有任何的客户端想要访问可以直接响应,缺点是要占用内存。
● 基于xinetd服务:越来越少(现在常规服务只剩rsync,用于Linux之间执行网络备份),逐步淘汰,超级守护进程,管理后台程序,如果有用户想要访问xinetd管理的后台程序,需要先访问xinetd再通过xinetd访问后台程序,回应过程也是,优点是除了xinetd本身占内存,其他服务不再占内存,缺点时响应更慢。
1-3 启动与自启动
启动与自启动
◆ 服务启动:就是在当前系统中让服务运行,并提供功能。
◆ 服务自启动:自启动是指让服务在系统开机或重启动之后,随着系统的启动而自动启动服务。
1-4 查询已安装的服务
查询已安装的服务
◆ RPM包安装的服务
➢ chkconfig --list
#查看服务自启动状态,可以看到所有RPM包安装的服务
◆ 源码包安装的服务
➢ 查看服务安装位置,一般是/usr/local/下
RPM安装服务和源码包安装服务的区别
◆ RPM安装服务和源码包安装服务的区别就是安装位置的不同
➢ 源码包安装在指定位置,一般是/usr/local/
➢ RPM包安装在默认位置中
1-5 服务与端口
如何查看系统下开启了哪些服务?两个方法。
方法一:查看进程,ps aux有进程就说明对应的服务启动。
方法二:查看端口,netstat -tuln端口开启说明对影的服务启动。
端口是什么
● 如果把IP地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(0-65535)个。
关于端口
应用层
F
T
P
T
E
L
N
E
T
S
M
T
P
D
N
S
T
F
T
P
S
N
M
P
------
21
23
25
53
69
161
←端口号
传输层
TCP
UDP
FTP:File Transfer Protocol(文件传输协议)(安全)
TELNET:远程管理协议(不安全)
SMTP:Simple Mail Transfer Protocol(简单邮件传输协议)
DNS:Domain Name System(域名系统)
TFTP:Trivial File Transfer Protocol(简单文件传输协议)
SNMP:简单网络管理协议
端口与服务的对应
● /etc/services
查询系统中开启的服务
● netstat -tulnp
-t:列出tcp数据
-u:列出udp数据
-l:列出正在监听的网络服务(不包含已经连接的网络服务)
-n:用端口来显示服务,而不是服务名
-p:列出该进程的进程ID(PID)
● 会列出系统中所有的已经启动的服务
2-1 独立的服务管理1
● 1.2.1 独立服务的管理
● 1.2.2 基于xinetd服务的管理
1、RPM包安装服务的位置
◆ RPM安装服务和源码包安装服务的区别就是安装位置的不同
➢ 源码包安装在指定位置,一般是/usr/local/
usr是Unix System Resource,即Unix系统资源的缩写,不是user的缩写。
➢ RPM包安装在默认位置中
/etc/init.d/:启动脚本位置
/etc/sysconfig/:初始化环境配置文件位置
/etc/:配置文件位置
/etc/xinetd.conf:xinetd配置文件
/etc/xinetd.d/:基于xinetd服务的启动脚本
/var/lib/:服务产生的数据放在这里
/var/log/:日志
2-2 独立的服务管理2
2、独立服务的启动
◆ /etc/init.d/独立服务名 start|stop|restart|status(标准,通用)
◆ service 独立服务名start|stop|restart|status(只有Redhat系列才有)
2-3 独立的服务管理3
3、独立服务的自启动
◆ chkconfig [--level 运行级别] [独立服务名] [on|off](推荐)
◆ 修改/etc/rc.d/rc.local文件(推荐)
◆ 使用ntsysv命令管理自启动(Redhat系列专有)
前两种方法相互独立,当心重复。
方法一和方法三是同一种方法。
2-4 基于xinetd服务的管理
1、安装xinetd
● [root@localhost ~]# yum -y install xinetd
2、xinetd服务的启动
● [root@localhost ~]# vi /etc/xinetd.d/rsync
#修改xinetd下管理的配置文件
service rsync←服务的名称为rsync
{
flags = REUSE←标志为REUSE,设定TCP/IP socket可重用
socket_type = stream←使用TCP协议数据包
wait = no←允许多个连接同时连接
user = root←启动服务的用户为root
server = /usr/bin/rsync←服务的启动程序
log_on_failure += USERID←登录失败后,记录用户的ID
disable = no←服务启动
}
● [root@localhost ~]# service xinetd restart
#重启xinetd服务,使配置生效,rsync启动
3、xinetd服务的自启动
◆ [root@localhost ~]# chkconfig rsync on
◆ ntsysv
chkconfig命令对于基于xinetd服务的自启动就是启动,启动就是自启动。
chkconfig命令对于基于xinetd服务不能加运行级别,否则报错。
3-1 源码包服务管理
service chkconfig ntsysv这些命令不能直接管理源码包服务,原因是源码包服务的启动脚本没有放在/etc/init.d/目录中。
1、源码包安装服务的启动
◆ 使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不同。可以查看源码包的安装说明,看看启动脚本的方法。
/usr/locl/apache2/bin/apachectl start|stop
源码包apache的网页位置/usr/local/apache2/htdocs/
RPM包apache的网页位置/var/www/html/
在真实服务器上相同的软件不会源码包装一个,RPM包装一个,浪费资源。
2、源码包服务的自启动
● [root@locathost ~]# vi /etc/rc.d/rc.local
● 加入
● /usr/local/apache2/bin/apachectl start
● :wq保存退出
3、让源码包服务被服务管理命令识别
◆ 让源码包的apache服务能被service命令管理
● ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apachectl
◆ 让源码包的apache服务能被chkconfig与ntsysv命令管理自启动
● vi /etc/init.d/apachectl
● # chkconfig:35 86 76
● #指定httpd脚本可以被chkconfig命令管理。
● #格式是:chkconfig:运行级别 启动顺序 关闭顺序
● # description:source package apachectl
● #说明,内容随意
● [root@localhost ~]# chkconfig --add apachectl
● #把源码包apache加入chkconfig命令
4-1 服务管理总结
Linux
服务
RPM包安装的服务
独立的服务
启动
使用/etc/init.d/目录中脚本启动服务
如:/etc/init.d/httpd start|stop|restart|status
使用service命令启动服务
如:service httpd start|stop|restart|status
自启动
使用chkconfig命令管理自启动
如:chkconfig -level 2345 http on|off
修改/etc/rc.d/rc.local文件
如:vi /etc/rc.d/rc.local
加入:/etc/init.d/httpd start
使用ntsysv命令管理服务自启动
基于xinetd
的服务
启动
修改/etc/xinetd.d/配置文件
如:vi /etc/xinetd.d/rsync
把disable=yes改为disable=no
重启xinetd服务:service xinetd restart
自启动
使用chkconfig命令管理自启动
如:chkconfig rsync on|off
使用ntsysv命令管理服务自启动
源码包安装的服务
启动
使用源码包启动脚本启动服务
如:/usr/local/apache2/bin/apachectl start
自启动
修改/etc/rc.d/rc.local文件
如:vi /etc/rc.d/rc.locl
加入:/usr/local/apache2/bin/apachectl start
服务名称
功能介绍
建议
acpid
电源管理接口。如果是笔记本用户建议开启,可以监听内核层的相关电源事件。
开启
anacron
系统的定时任务程序。cron的一个子系统,如果定时任务错过了执行时间,可以通过anacron继续唤醒执行。
关闭
alsasound
Alsa声卡驱动。如果使用alsa声卡,开启。
关闭
apmd
电源管理模块。如果支持acpid,就不需要apmd,可以关闭。
关闭
atd
指定系统在特定时间执行某个任务,只能执行一次。如果需要则开启,但我们一般使用crond来进行循环定时任务。
关闭
auditd
审核子系统。如果开启了此服务,SELinxux的审核信息会写入/var/log/audit/audit.log文件,如果不开启,审核信息会记录在syslog中。
开启
autofs
让服务器可以自动挂载网络中的其他服务器的共享数据,一般用来自动挂载NFS服务。如果没有NFS服务建议关闭。
关闭
avahi-daemon
Avahi是zeroconf协议的实现。它可以在没有DNS服务的局域网里发现基于zeroconf协议的设备和服务。除非有兼容设备或使用zeroconf协议,否则关闭。
关闭
bluetooth
蓝牙设备支持。一般不会在服务器上启用蓝牙设备,关闭它。
关闭
capi
仅对使用ISND设备的用户有用。
关闭
chargen-steam
使用UDP协议的chargen server。主要功能是提供类似远程打字的功能。
关闭
cpuspeed
可以用来调整CPU的频率。当闲置时可以自动降低CPU频率来节省电量。
开启
crond
系统的定时任务,一般的Linux服务器都需要定时任务帮助系统维护。建议开启。
开启
cvs
一个版本控制系统。
关闭
daytime-dgram
Daytime使用TCP协议的Daytime守护进程,该协议为客户机实现从远处服务器获取日期和时间的功能。
关闭
daytime-stream
同上。
关闭
dovecot
邮件服务中POP3/IMAP服务的守护进程。主要用来接收信件,如果启动了邮件服务则开启,否则关闭。
关闭
echo-dgram
服务器回显客户服务的进程。
关闭
echo-stream
同上。
关闭
firstboot
系统安装完成之后,有个欢迎界面,需要对系统进程初始化设定。就是这个进程的作用。既然不是第一次启动了,关闭吧。
关闭
gpm
在字符终端(tty1-tty6)中可以使用鼠标复制和粘贴。就是这个服务的功能。
开启
haldaemon
检测和支持USB设备。如果是服务器可以关闭,个机器建议开启。
关闭
hidd
蓝牙鼠标、键盘等蓝牙设备检测。必须启动bluetooth服务。
关闭
hplip
HP打印机支持,如果没有HP打印机关闭吧。
关闭
httpd
Apache服务的守护进程。如果需要启动apache,就开启。
开启
ip6tables
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(Interprocess Communication,进程间通信)服务,用来在各个软件中交换信息。个人建议关闭。
关闭
microcode_ctl
Intel系列的CPU可以通过这个服务支持额外的微指令集。
关闭
mysqld
mysql数据库服务器。如果需要就开启,否则关闭。
开启
named
DNS服务的守护进程,用来进行域名解析。如果是DNS服务器则开启,否则关闭。
关闭
netfs
该服务用于在系统启动时自动挂载网络中的共享文件空间,比如:NFS,Samba等等。需要就开启,否则关闭。
关闭
network
提供网络设置功能。通过这个服务来管理网络,所以开启。
开启
nfs
NFS(Network File System)服务,Linux与Linux之间的文件共享服务。需要就开启,否则关闭。
关闭
nfslock
在Linux中如果使用了NFS服务,为了避免同一个文件被不同的用户同时编辑,所以有这个锁服务。有NFS就开启,否则关闭。
关闭
ntpd
该服务可以通过互联网自动更新系统时间,使系统时间永远都准确。需要则开启,但不是必须服务。
关闭
pcscd
智能卡检查服务,可以关闭。
关闭
portmap
用在远程过程调用(RPC)的服务,如果没有任何RPC服务时,可以关闭。主要是NFS和NIS服务需要。
关闭
psacct
该守护进程支持几个监控进程活动的工具。
关闭
rdisc
客户端ICMP路由。
关闭
readahead_early
在系统开机的时候,先将某些进程加载入内存整理,可以加快一点启动速度。
关闭
readahead_later
同上。
关闭
restorecond
用于给SELinux监测和重新加载正确的文件上下文。如果开启SELinux则需要开启。
关闭
rpcgssd
与NSF有关的客户端功能。如果没有NFS就关闭吧。
关闭
rpcidmapd
同上。
关闭
rsyncd
远程数据备份守护进程。
关闭
sendmail
Sendmail邮件服务的守护进程。如果有邮件服务就开启,否则关闭。
关闭
setroubleshoot
该服务用于将SELinux相关信息记录在日志/var/log/messages中。建议开启。
开启
smartd
该服务用于自动检测硬盘状态。建议开启。
开启
smb
网络服务samba的守护进程。可以让Linux和Windows之间共享数据。如果需要则开启。
关闭
squid
代理服务的守护进程。如果需要FTP服务则开启,否则关闭。
关闭
sshd
ssh加密远程登录管理的服务。服务器的远程管理必须使用此服务,不要关闭。
开启
syslog
日志的守护进程。
开启
vsftpd
vsftp服务的守护进程。如果需要FTP服务则开启,否则关闭。
关闭
xfs
这个是X Windows的字体守护进程。为图形界面提供字体服务,如果不启动图形界面,就不用开启。
关闭
xinetd
超级守护进程。如果有依赖xinetd的服务就必须开启。
开启
ypbind
为NTS(网络信息系统)客户端激活ypbind服务进程。
关闭
yum-updatesd
yum的在线升级服务。
关闭



