总结]关于守护进程解释文章

  [总结]关于守护进程解释文章
这里三篇文章涵盖了守护进程的功能和一些解释,可以为准备优化系统启动速度的朋友提供一些建议。第一篇中还有设置硬盘等等的信息资料。欢迎大家阅读。摘自linuxsir.org

定制自己的Linux应用环境(一)
作者:曹江华 本文选自:开放系统世界--赛迪网 2002年12月11日

基于开放源代码的Linux给用户提供了这样一个平台:可以根据自己的软、硬件环境,定制自己的Linux应用环境。因此,根据每个用户不同的应用范围定制应用环境,可以将Linux系统的性能提升到新的高度。

定制系统服务


Linux 在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。但是,开启不必要或有漏洞的服务则会给操 作系统带来安全和性能上的影响。对于系统安全来说,如果操作系统中的任何一个漏洞,都可能使整个系统受到攻击。所以,增加系统安全的最佳办法就是尽量监视 系统的功能。至于选择多少服务和功能,要根据工作需求和能力来决定。

下面以root身份运行:

#ntsysv

在 此可以开启/关闭每一项系统服务(以Red Flag 3.0为例)。将不需要的服务和进程前面的*去掉(用空格键),然后重新启动系统,这样就可以使不需要的服务和进程不再启动。用这种办法可以随时根据需求 定制系统服务,不但安全有保障,而且还能提高系统的性能,一举两得。要保障Linux正常工作,有些系统服务是必须启动的,例如crond、 syslog、keytable、nfs、 kudzu。

为了高效安全地定制系统服务,下面介绍一下各项系统服务的功能。

alsasound Alsa 声卡驱动程序支持。Alsa声卡驱动程序本来是为了一种声卡Gravis UltraSound(GUS)而写的,它和OSS/Free 及OSS/Linux兼容。

apmd 用来监视系统用电状态,并将相关信息通过syslogd 写入日志,也可以用来在电源不足时关机。一般用于笔记本电脑,若是台式机建议关闭。

atd 用At命令调度的任务,也在系统负荷比较低时运行批处理任务。

autofs 需要时自动转载文件系统,不需要时自动卸载。

chargen 端口chargen字符产生的缩写,输出一个可打印字符的旋转序列,用于测试字符终端设备。

chargen udp udp格式下端口chargen字符产生的缩写,输出一个可打印字符的旋转序列,用于测试字符终端设备。

crond 根据用户要求周期地运行调度的任务。它比较安全,配置简单,类似Windows中的计划任务。

dhcpd 提供了对动态主机控制协议(Dynamic Host Control Protocol)的访问支持。

echo 端口echo简单地回应所有为测试连接发送给它的数据。

echo udp udp格式下端口echo简单地回应所有为测试连接发送给它的数据。

gpm 为文本模式下的Linux程序,如MC(Midnight Commander)提供了鼠标的支持。它也支持控制台下鼠标的拷贝、粘贴操作及弹出式菜单。

inetd 因特网操作服务程序。监控网络管理服务的需求,并在必要的时候启动相应的服务程序。通常,inetd 管理的程序有telnet、ftp、rsh和rlogin。关闭inetd也就关闭了这些由它管理的服务。

http 它是著名的WWW服务器,可用来提供HTML文件以及CGI动态内容服务。

isdn isdn的守护程序。

keytable 该程序的功能是转载/etc/sysconfig/keyboards里说明的键盘映射表。该表可以通过kbdconfig工具进行选择,应该使该程序处于激活状态。

kudzu 它是一个硬件检测程序,和Windows中的添加新硬件差不多。如果系统核心支持该硬件,并且有该驱动程序,就可自动装载。

linuxconf 它是Linux下一个有效的系统配置工具,该服务允许远程运行。

linuxconf web 在Web方式下使用linuxconf。

lpd 系统打印守护程序,负责将lpr等程序提交给打印作业。

medusa 支持Web的浏览器。

mysql 一个快速高效可靠的小型SQL数据库引擎。

ntalk 允许用户把自己的计算机和其它的计算机连接起来,然后向前或向后传送信息。

netfs 负责装载/卸载NFS、Samba、NCP(Netware)文件系统。

network 激活/关闭启动时的各个网络接口。

nfs 一个流行的、基于TCP/IP网络的文件共享协议。该服务提供了NFS文件共享服务,具体的配置在/etc/ exports文件里。

nscd 该服务负责密码和组的查询,并且缓冲查询结果。如果系统有比较慢的服务(如NIS和NIS+),则应该启动该服务。

pxe 用于远程无盘的Linux系统启动的服务程序。

pcmcia 主要用于支持笔记本电脑。

rexec 它是一个安全、分散式的远程执行系统,用于集群计算机的平行和连续运行。

random 保存和恢复系统的高质量随机数生成器。这些随机数是由系统一些随机行为提供的。

routed 该守护程序支持RIP协议的自动IP路由表维护。RIP主要使用在小型网络上,大一点的网络就需要复杂一点的协议。

rsync 叠加的Ftp Server,允许循环检查。

rsh 远程主机上启动一个shell,并执行用户命令。

rwhod 允许远程用户获得运行rwho守护程序的机器上所有已登录用户的列表,与finger类似。

swat Samba的一个工具包,使用901号端口。

sendmail 邮件服务器。

smb 启动和关闭smbd和nmbd守护程序,以提供SMB网络服务。

snmpd 简单网络管理协议(SNMP)的守护程序。

syslog 是操作系统提供的一种机制,守护程序通常使用这种机制将各种信息写到各个系统日志文件。通常应该启动该服务。

xfs X-Window系统的字体服务器。

xinetd 是inetd继承服务,监控网络对各种管理的服务的需求,并在必要的时候启动相应的服务程序。

以上这些系统服务中,安全隐患比较大的是:rsh、rwhod、rexec、snmp、named、sendmail。对于确实需要的系统服务,应该尽量选用最新的版本程序,并增加其它安全防范。

另 外,许多Linux产品在系统初始化后缺省地启动X-Window 管理器。如果只编译程序或编辑配置文件,那么启动X-Window管理器将会消耗大量系统资源。禁用X-Window管理器的方法是:编辑 /etc/inittab 文件,找到内容为id:5:initdefault的那一行,把它改为 id:3:initdefault,系统重新启动后将提供命令行登录。当需要运行X-Window管理器的时候,只要输入startx 就可以了。

根据硬件进行优化


1.CPU

CPU 是Linux主机的核心硬件,根据CPU型号在编译时优化以获得最佳性能。在/etc/profile文件中,含有系统环境和启动程序的配置信息,采用- O9 来编译程序时,运行速度也是最快的。编译时使用-fomit-frame-poinetr选项,程序运行时访问变量会使用堆栈。使用-mcpu=cpu- type和 -march= cpu-type时,gcc会对针对CPU型号进行优化。

如果CPU是Pentium Pro、PentiumⅡ、PentiumⅢ、AMD K6-2、K6-3、Althon,那么在"/etc/profile"加入:

CFLAGS='-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro
-march=pentiumpro -fomit-
frame-pointer -fno-exceptions'



如果CPU是Pentium 、Pentium MMX、AMD K5 、IDT、Cyrix,那么在"/etc/profile"加入:

export CFLAGS=-O3 -march=pentium -mcpu=pentium -
ffast-math -funroll-loops -fomit-frame-pointer -
fforce-mem -fforce-addr -malign-double -fno-exceptions



2.硬盘

采 用UDMA/33、66、100、133技术的硬盘,其最高传输速率是33MB/s、66MB/s、100MB/s、100MB/s。从理论上来说,它是 IDE硬盘(这里是指PIO MODE4模式,其传输率是16.6MB/s)传输速率的3~6倍,但是在Linux缺省设置中,DMA却是被禁用的,所以必须将它打开。我们可以使用 /sbin/hdparm程序打开它。hdparm 的一些常用选项如下:

/sbin/hdparm -c1 /dev/hda或hdb或hdc等启用 PCI 总线上的 32 位 I/O模式传输数据。
/sbin/hdparm -d1 /dev/hda启用 DMA模式传输数据。
/sbin/hdparm -d1 -X66/dev/hda启用UltraDMA模式传输数据。



获取系统中当前硬盘驱动器的设置列表的方法是(作为root)输入:

$/sbin/hdparm /dev/hda



接着再输入命令:

$/sbin/hdparm -kl /dev/hda



使硬盘在Reset之后仍然保持上述的设置。把一切优化到最佳状态后,请把各种命令添加到 /etc/rc.d/rc.local 文件中去,使这些命令在每次系统引导时自动运行。

3.内存

在Linux下使用free可以观察内存的使用情况。如果发现Linux只能使用其中的一部分,则在/etc/lilo.conf 加入append="mem=XXX"就可以,其中XXX是物理内存容量。这样可以告诉Linux使用全部内存。

如 果对计算速度要求很高,可以通过增加内存来实现,使用ramdisk技术。 一个A RamDisk就是把内存假设为一个硬盘驱动器,并且在它的上面存储文件。假设有几个文件要频繁的使用,如果将它们加到内存当中,程序运行速度会大幅度提 高,因为内存的读写速度远高于硬盘。划出部分内存提高整体性能,不亚于更换新的CPU。像Web服务器这样的计算机,需要大量读取和交换特定的文件。因 此,在Web服务器上建立RamDisk会大大提高网络读取速度。

$mkdir /tmp/ramdisk0
$mke2fs /dev/ram0
$mount /dev/ram0 /tmp/ramdisk0



上面这三个命令将会为RamDisk创建一个目录、格式化RamDisk(创建件系统),并把RamDisk装载到目录"/tmp/ramdisk0"中。现在,就可以把它作为一个磁盘分区使用了。

把下面这一行加到你的lilo.conf 文件中去:

ramdisk_size=20000



这样,当键入LILO命令并重新启动后,RamDisk的大小将为20MB。

如果你有512MB以上的内存,划出256MB作为暂存区/tmp,当很多程序用到/tmp,如Web服务,那么系统性能会大大提高。重新启动后,/tmp 中将被清空。注意:一定要记住保存RamDisk中有用的东西。

以上介绍了如何根据工作要求定制Linux系统应用环境,最后要强调的是一定要进行系统备份。

-------------------------------------------------------------------------------------------------

请教:linux启动服务解释大全(请大家知道一点加一点,接龙来完成)
装 过了很多linux系统,现在我用的是redhat7.2,可是里面的系统服务却是越来越多,而且似乎也没有哪里专门介绍了每个服务的功能,搞得我们不知 道机器启动了什么服务,是否达到了最优化的启动模式。所以,今天把我见过的linux服务全写下来,请大家来解释:打星号的,是系统默认自动启动的服务:

FreeWnn
amanda
amd这个好像是管理mixer设备的)?
amidxtape
*anacron(命令调度)
*apmd(高级电源管理)
arpwatch(看ARP的?)
*atd (功能cron类似)
*autofs(自动加载文件系统)
*bcm5820
bgpd
cwnn
bootparamd(启动参数管理?)
chargen
chargen-udp
comsat
*crond
daytime(夏时制管理的daemon?)
daytime-udp(udp-用户数据报协议,与之同级别的是TCP)
dbskkd-cdb
dhcpd(动态主机服务)
echo(服务器回显客户数据服务)
echo-udp(UDP版本的echo)
eklogin
finger(finger服务)
gated (网关服务)
*gpm(控制台下的鼠标)
gssftp (gss ftp服务器还有wu-ftp服务器)
httpd (超文本协议服务)
identd
imap(邮件服务中的imap协议)
imaps(邮件服务中的imap协议?)
innd(互联网新闻服务)
*ipchains(防火墙)
ipop2 (邮件服务的发件服务第2版)
ipop3(邮件服务的发件服务第3版)
*iptables(防火墙)
irda
*iscsi(利用高速专线组成SCSI磁盘阵列)
*isdn (提供对isdn设备的支持)
junkbuster
kwnn
kadmin
kdcrotate
keytable(键盘的配置)
klogin(远程登录)
kprop
krb5-telnet (krb5 是什么? 提供telnet服务?)
krb524
krb5kdc
kshell
*Kudzu
ldap(目录服务)
*linuxconf(疑问:linuxconf为什么要作为服务启动?)
linuxconf-web(打开linuxconf的web配置端口)
*lpd(提供对打印机的支持)
mars-nwe(模拟novell网服务器)
mcserv
mysqld(提供mysql数据库的支持)
named(域名服务器)
*netfs(网络文件系统)
*network(提供网络支持)
nfs(网络文件系统)
*nfslock(网络文件系统锁定?)
nscd
ntalk(talk-在线聊天服务)
ntpd
ospftd
spfd
*pcmica(提供对pc卡的支持)
pop3s(是不是pop3的服务器?)
*portmap(端口映射列表,但不清楚是干什么的)
postgresql(提供对postgre sql数据库的支持)
radvd
*random(产生并存储高精度数据运算的随机数,为什么平时要自动启动呢?)
rawdevices(好像是对读写设备的支持例如磁带机?)(Read After Write)
regongfig(支持远端配置?)
rexec(远端执行?)
rhnsd
ripd
ripngd
rlogin(支持远端登录)
routed(linux路由服务)
rsh(r shell?)
rstatd
rsync
rusersd
rwalld
rwhod
*sendmail(大名鼎鼎的邮件服务器)
smb(是不是samba呀?--是)
sgi_fam
snmpd(简单网络管理服务)
squid(代理服务器)
swat(smb的901web配置)
*systlog(系统日志服务)
talk
telnet(telnet服务)
time(回响系统时间)
time-udp(回响系统时间的UDP版本)
tux(好像 是基于内核的高速静态web)
ups(提供对ups的控制支持?)
vncserver
*wine(在linux下直接执行windows二进制代码!)
wu-ftpd(华盛顿大学的ftp服务器.很好用
xfs(x font server)
xinetd(新版本的互联网服务器)
ypbind
yppasswdd
ypserv
yhpxfrd
Zebra


以上就是我记得的一些服务,能说明一些的,都做了说明,其中也有自己的疑问,请各位同好者,如果有谁知道其中的部分或者全部,
就在跟贴里面说明,越详细越好~~~~ 请让我来帮助你,就象帮助我们自己... :)

keytable(键盘影射,适用于韩文,日文,德国等语言)
KZUZU----启动系统时检测PC硬件有无变动,比如换了显卡会提示你重新配制XF86
*gpm-----好像是在控制台模式下实现mouse 的CP和PASTE功能.
*crond---一个基于UNIX的定期命令调度器
swat----基于视窗的samba配置程序
xfs---Xwindows Font Server


bgpd(bgp路由协议daemon)
*gpm(字符终端状态下的mouse驱动)
*ipchains(2.0 kernel下的防火墙进程)
*iptables(防火墙进程)
kshell(k shell)
ldap(ldap服务进程)
ntalk(网络talk进程)
ntpd(网络时间服务进程)
ospftd(ospf 路由协议进程?)
spfd(spf路由协议进程?)
ripd(rip路由协议进程)
smb(是不是samba呀?)---是的
squid(代理服务进程)
talk(应该是本机talk进程吧)
Zebra(一个很有名的路由服务套件)

--------------------------------------------------------------------------------------

LINUX守护进程介绍

amd:自动安装NFS(网络文件系统)守侯进程
apmd:高级电源管理
Arpwatch:记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库
Autofs:自动安装管理进程automount,与NFS相关,依赖于NIS
Bootparamd:引导参数服务器,为LAN上的无盘工作站提供引导所需的相关信息
crond:Linux下的计划任务
Dhcpd:启动一个DHCP(动态IP地址分配)服务器
Gated:网关路由守候进程,使用动态的OSPF路由选择协议
Httpd:WEB服务器
Inetd:支持多种网络服务的核心守候程序
Innd:Usenet新闻服务器
Linuxconf:允许使用本地WEB服务器作为用户接口来配置机器
Lpd:打印服务器
Mars-nwe:mars-nwe文件和用于Novell的打印服务器
Mcserv:Midnight命令文件服务器
named:DNS服务器
netfs:安装NFS、Samba和NetWare网络文件系统
network:激活已配置网络接口的脚本程序
nfs:打开NFS服务
nscd:nscd(Name Switch Cache daemon)服务器,用于NIS的一个支持服务,它高速缓存用户口令和组成成员关系
portmap:RPC portmap管理器,与inetd类似,它管理基于RPC服务的连接
postgresql:一种SQL数据库服务器
routed:路由守候进程,使用动态RIP路由选择协议
rstatd:一个为LAN上的其它机器收集和提供系统信息的守候程序
ruserd:远程用户定位服务,这是一个基于RPC的服务,它提供关于当前记录到LAN上一个机器日志中的用户信息
rwalld:激活rpc.rwall服务进程,这是一项基于RPC的服务,允许用户给每个注册到LAN机器上的其他终端写消息
rwhod:激活rwhod服务进程,它支持LAN的rwho和ruptime服务
sendmail:邮件服务器sendmail
smb:Samba文件共享/打印服务
snmpd:本地简单网络管理候进程
squid:激活代理服务器squid
syslog:一个让系统引导时起动syslog和klogd系统日志守候进程的脚本
xfs:X Window字型服务器,为本地和远程X服务器提供字型集
xntpd:网络时间服务器
ypbind:为NIS(网络信息系统)客户机激活ypbind服务进程
yppasswdd:NIS口令服务器
ypserv:NIS主服务器
gpm:管鼠标的
identd:AUTH服务,在提供用户信息方面与finger类似

Linux各项系统开机服务的功能是什么?有哪些可以关掉?
Linux 在启动时要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。但是,开启不必要或有漏洞的服务则会给操作 系统带来安全和性能上的影响。下面我们以BluePoint Linux 2.0的开机服务为例,列表说明各项服务的功能。

alsasound
Alsa 声卡驱动程序支持。Alsa声卡驱动程序本来是为了 一种声卡Gravis UltraSound(GUS)而写的,该程序被证 明很优秀,于是作者就开始为一般的声卡写驱动程序。 Alsa和OSS/Free 及OSS/Linux兼容,但是有自己的接 口,甚至比OSS优秀。

amd
运行automount精灵程序,该精灵在必要时自动安装一些 本地设备和NFS文件系统。

apmd
apmd用来监视系统用电状态,并将相关信息通过syslogd 写入日志。也可以用来在电源不足时关机。

arpwatch
该程序主要用来维护以太网物理地址和IP地址的对应关系。

atalk
AppleTalk精灵程序。注意不要在后台运行该程序,该程 序的数据结构必须在运行其他进程前先花一定时间初始化。

atd
运行用户用At命令调度的任务。也在系统负荷比较低时 运行批处理任务。

autofs
当您需要时自动转载文件系统,而当您不需要时自动卸载。

bootparamd
该服务允许老的Sun工作站从Linux网络启动,它和rarp 现在很少使用,基本上被bootp和dhcp取代了。

crond
cron是Unix下的一个传统程序,该程序周期地运行用户 调度的任务。比起传统的Unix版本,Vixie版本添加了不 少属性,而且更安全,配置更简单。
dhcpd 该精灵提供了对动态主机控制协议(Dynamic Host Control Protocol)的访问支持。

gated
gated通过一个数据库提供了网络路由功能支持。它支持 各种路由协议,包括RIP版本1和2、DCN HELLO协议、 OSPF版本2以及EGP版本2到4。

gpm
gpm为文本模式下的Linux程序如mc(Midnight Commander)提供了鼠标的支持。它也支持控制台下鼠标 的拷贝,粘贴操作以及弹出式菜单。

httpd
http是著名的www服务器,可用来提供HTML文件以 及CGI动态内容服务。

inetd
因特网操作服务程序。监控网络对各种它管理的服务的需 求,并在必要的时候启动相应的服务程序。通常,inetd 管理的程序有telnet、ftp、rsh和rlogin。关闭inetd也就 关闭了这些由它管理的服务。

innd
inn是最流行的用户组新闻服务器。它允许您建立起本地 新闻服务器。配置有一定的难度,可以先阅读/usr/doc/ inn*文档获得帮助。


keytable 该程序的功能是转载您在/etc/sysconfig/keyboards里说 明的键盘映射表,该表可以通过kbdconfig工具进行选 择。您应该使该程序处于激活状态。

ldap
LDAP代表Lightweight Directory Access Protocol, 实现了目录访问协议的行业标准。

linuxconf
linuxconf是Linux下的一个有效的系统配置工具,该服 务允许远程运行。

lpd
lpd是系统打印守护程序,负责将lpr等程序提交给打印 作业。

mcserv
Midnight Commander服务进程允许远程机器上的用户 通过Midnight Commander文件管理器操作本机文件。服 务进程用PAM来验证用户,需要给出"用户名/口令" 以通过验证。

mysql 一个快速高效可靠的轻型SQL数据库引擎。

named 域名服务器,将Internet主机名解析为点分的IP地址。

netfs 负责装载/卸载NFS、Samba、NCP(Netware)文件系统。

network 激活/关闭启动时的各个网络接口。

nfs
NFS是一个流行的基于TCP/IP网络的文件共享协议。该 服务提供了NFS文件共享服务,具体的配置在/etc/ exports文件里。

nscd
该服务负责密码和组的查询,并且缓冲查询结果。如果您 的系统有比较慢的服务(如NIS和NIS+),则应该启动该 服务。

pcmcia pcmcia 主要用于支持笔记本电脑。

portmap portmap 用来支持RPC连接,RPC被用于NFS以及NIS 等服务。

postgresql PostgreSQL 关系数据库引擎。

proftpd proftpd 是Unix下的一个配置灵活的ftp守护程序。

radvd 路由广播程序。

random
保存和恢复系统的高质量随机数生成器,这些随机数是系 统一些随机行为提供的。

routed
该守护程序支持RIP协议的自动IP路由表维护。RIP主要 使用在小型网络上,大一点的网络就需要复杂一点的协议。

rstatd Rstat协议允许网络上的用户获得同一网络上各机器的性能 参数。

rusersd 该服务使网络用户可以定位同一网络上的其他用户。

rwalld
Rwall协议允许远程用户向在同一系统中活跃着的终端发送 消息,类似wall的本地行为。

rwhod
允许远程用户获得运行rwho精灵的机器上所有已登录用户 的列表,与finger类似。

sendmail 大名鼎鼎的邮件服务器。

smb 启动和关闭smbd和nmbd精灵程序以提供SMB网络服务。

snmpd 简单网络管理协议(SNMP)的守护精灵。

syslog
syslog是操作系统提供的一种机制,守护程序通常使用这 种机制将各种信息写到各个系统日志文件。通常应该启动 该服务。

xfs X的字体服务器。
ypbind NIS/YP的客户端守护程序。如果您需要使用NIS/YP机 器,请启动这项服务,否则,关闭这项服务。

yppasswd
让NIS用户能够修改密码。运行在NIS域的服务器上。客 户端程序同样也叫yppasswd。

ypserv
标准NIS/YP网络协议的一个实现。允许主机名,用户名 和其他信息分布于网络各端。运行在NIS服务器上,客户 端不需要。


Linux启动各项服务说明
 
 

anacron,类似于cron,定时执行任务

atd,定时批处理,即at的守护进程

xfs,X Windows的字体服务器

gpm,linux text模式下鼠标支持

portmap,用于支持RPC连接,用在NFS、NIS等服务

nscd,负责密码和组的查询,在有NIS服务时需要

ypbind,用于连接NIS/YP服务器

network,激活和关闭网络接口

netfs,NFS、SAMBA等服务使用

apmd,电源管理

acpid,先进电源管理

autofs,光盘软盘自动加载

cpuspeed,降低或加快CPU速度

cups,Unix公共打印支持

irda,红外线标准服务

mdmonitor,与RAID有关的服务

mdmpd,与RAID有关的守护进程

isdn,ISDN设备支持

kudzu,硬件自动监测程序

messagebus,为多个程序之间提供一对一通讯

netdump,远程备份服务器

nfslock,NFS文件锁定功能

ntpd,网络时间服务

pcmcia,笔记本设备支持

rhnsd,RedHat网络服务,系统补丁
rpcgssd、rpcidmapd、rpcsrcgssd,RPC新服务,一般不需要启动

yum,一个自动更新、安装和删除RPM软件包的管理程序
networkmanager,减少网络手动设定
saslauthd,SASL认证服务
psacct,ac,lastcomm, accton 和sa进程监控工具
winbind,使用Windows 2000 PDC系统进行认证
netplugd,网卡监控程序
rdisc,ICMP寻径协议
nifd、mdnsresponder,HOWL程序,用于连接APPLE
auditd,用户空间监控程序
Last Article:

Linux 服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。提供这些服务的程序是由 运行在后台的守护进程(daemons)来执行的。守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事 件。他们常常在系统引导装入时启动,在系统关闭时终止。linux系统有很多守护进程,大多数服务器都是用守护进程实现的。同时,守护进程完成许多系统任 务,比如,作业规划进程crond、打印进程lqd等。有些书籍和资料也把守护进程称作:“服务”。选择运行哪些守护进程,要根据具体需求决定。查看系统 可以提供的守护进程对应的服务,使用下面方法,以root权限运行: 

#ntsysv 



界面如图1所示的窗口,下面详细介绍一下各项系统服务的功能。以英文字母为序: 
一、Linux守护进程简介 
1. alsasound : Alsa声卡驱动守护程序。Alsa声卡驱动程序本来是为了 一种声卡Gravis UltraSound(GUS)而写的,该程序被证 明很优秀,于是 作者就开始为一般的声卡写 驱动程序。 Alsa和OSS/Free 及OSS/Linux兼容,但是有自己的接 口,甚至比OSS优秀。 
2. acpid:acpid(Advanced Configuration and Power Interface)是为替代传统的APM电源管理标准而推出的新型电源管理标准。通常笔记本电脑需要启动电源进行管理。 
3. atalk:AppleTalk网络守护进程。注意不要在后台运行该程序,该程序的数据结构必须在运行其他进程前先花一定时间初始化。 
4. amd: 自动安装NFS守护进程。 
5. anacron: 一个自动化运行任务守护进程。Red Hat Linux 随带四个自动化任务的工具:cron、 anacron、at、和 batc。当你的 Linux服务器并不是全天运行,这个anacron就可以帮你执行在"crontab"设定的时间内没有执行的工作。 
6. apmd:apmd(Advanced Power Management)是高级电源管理。传统的电源管理标准,对于笔记本电脑比较有用,可以了解系统的电池电量信息。并将相关信息通过syslogd 写入日志。也可以用来在电源不足时关机。 
7. arptables_jf :为arptables网络的用户控制过滤的守护进程。 
8. arpwatch: 记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库 。 
atd:at和batch命令守护进程,用户用at命令调度的任务。Batch用于在系统负荷比较低时 运行批处理任务。 
9. autofs:自动安装管理进程automount,与NFS相关,依赖于NIS服务器。 
10. bootparamd:引导参数服务器,为LAN上的无盘工作站提供引导所需的相关信息。 
11. bluetooch:蓝牙服务器守护进程。 
12. crond :cron是Unix下的一个传统程序,该程序周期地运行用户 调度的任务。比起传统的Unix版本,Linux版本添加了不少属性,而且更安全,配置更简单。类似计划任务。 
13. chargen:使用tcp协议的chargen server,chargen(Character Generator Protocol)是一种网络服务,主要功能是提供类似远程打字的功能。 
14. chargen-udp:使用UDP协议的chargen server。 
15. cpuspeed:监测系统空闲百分比,降低或加快CPU时钟速度和电压从而在系统空闲时将能源消耗降为最小,而在系统繁忙时最大化加快系统执行速度。 
16. dhcpd:动态主机控制协议(Dynamic Host Control Protocol)的服务守护进程。 
17. cups: cups(Common UNIX Printing System)是通用UNIX打印守护进程,为Linux提供第三代打印功能。 
18. cups-config-daemons:cups打印系统切换守护进程。 
19. cups-lpd:cups行打印守护进程。 
20. daytime:使用TCP 协议的Daytime守护进程,该协议为客户机实现从远程服务器获取日期 和时间的功能。预设端口:13。 
21. daytime-udp:使用UDP 协议的Daytime守护进程。 
22. dc_server:使用SSL安全套接字的代理服务器守护进程。 
23. dc_client:使用SSL安全套接字的客户端守护进程。 
24. diskdump:服务器磁盘备份守护进程。 
25. echo:服务器回显客户数据服务守护进程。 
26. echo-udp:使用UDP协议的服务器回显客户数据服务守护进程。 
27. eklogin:接受rlogin会话鉴证和用kerberos5加密的一种服务的守护进程。 
28. gated :网关路由守护进程。它支持各种路由协议,包括RIP版本1和2、DCN HELLO协议、 OSPF版本2以及EGP版本2到4。 
29. gpm:gpm(General Purpose Mouse Daemon )守护进程为文本模式下的Linux程序如mc(Midnight Commander)提供了鼠标的支持。它也支持控制台下鼠标 的拷贝,粘贴操作以及弹出式菜单。 
30. gssftp: 使用kerberos 5认证的ftp守护进程 
31. httpd:Web服务器Apache守护进程,可用来提供HTML文件以 及CGI动态内容服务。 
32. inetd :因特网操作守护程序。监控网络对各种它管理的服务的需求,并在必要的时候启动相应的服务程序。在Redhat 和Mandrake linux中被xinetd代替。Debian, Slackware, SuSE仍然使用。 
33. innd:Usenet新闻服务器守护进程。 
34. iiim:中文输入法服务器守护进程。 
35. iptables:iptables防火墙守护进程。 
36. irda:红外端口守护进程。 
37. isdn:isdn启动和中止服务守护进程。 
38. krb5-telnet:使用kerberos 5认证的telnet守护进程。 
39. klogin:远程登陆守护进程。 
40. keytable: 该进程的功能是转载在/etc/sysconfig/keyboards里定义的键盘映射表,该表可以通过kbdconfig工具进行选择。您应该使该程序处于激活状态。 
41. irqbalance:对多个系统处理器环境下的系统中断请求进行负载平衡的守护程序。如果你只安装了一个CPU,就不需要加载这个守护程序。 
42. kshell :kshell守护进程。 
43. kudzu: 硬件自动检测程序,会自动检测硬件是否发生变动,并相应进行硬件的添加、删除工作。当系统启动时,kudzu会对当前的硬件进行检测,并且和存储在       /etc/sysconfig/hwconf中的硬件信息进行对照,如果某个硬件从系统中被添加或者删除时,那么kudzu就会察觉到,并且 通知用户是否进行相关配置,然后修改etc/sysconfig/hwconf,使硬件资料与系统保持同步。如果 /etc/sysconfig/hwconf这个文件不存在,那么kudzu将会从/etc/modprobe.conf, /etc/sysconfig/network-scripts/和 etc/X11/XF86Config中探测已经存在的硬件。如果你不打算增加新硬 件,那么就可以关闭这个启动服务,以加快系统启动时间。 
44. ldap:ldap(Lightweight Directory Access Protocol)目录访问协议服务器守护进程。 
45. lm_seroems:检测主板工作情况守护进程。 
46. lpd :lpd是老式打印守护程序,负责将lpr等程序提交给打印 作业。 
47. mdmonitor:RAID相关设备的守护程序。 
48. messagebus: D-BUS是一个库,为两个或两个以上的应用程序提供一对一的通讯。 dbus-daemon-1是一个应用程序,它使用这个库来实现 messagebus守护程序。多个应用程序通过连接messagebus守护程序可以实现与其他程序交换信息。 
49. microcode_ctl:可编码以及发送新的微代码到内核以更新Intel IA32系列处理器守护进程。 
50. mysqld: 一个快速高效可靠的轻型SQL数据库引擎守护进程。 
51. named:DNS(BIND)服务器守护进程。 
52. netplugd:netplugd(network cable hotplug management daemon)守护程序,用于监控一个或多个网络接口的状态,当某些事件触发时运行一个外部脚本程序。 
53. netdump:远程网络备份服务器守护进程。 
54. netfs:Network Filesystem Mounter,该进程安装和卸载NFS、SAMBA和NCP网络文件系统。 
55. nfs:网络文件系统守护进程。 
56. nfslock:NFS是一个流行的通过TCP/IP网络共享文件的协议,此守护进程提供了NFS文件锁定功能。 
57. ntpd:Network time Protocol daemon(网络时间校正协议)。ntpd是用来使系统和一个精确的时间源保持时间同步的协议守护进程。 
58. network:激活/关闭启动时的各个网络接口守护进程。 
59. psacct:该守护进程包括几个工具用来监控进程活动的工具,包括ac,lastcomm, accton 和sa。 
60. pcmcia:主要用于支持笔记本电脑接口守护进程。 
61. portmap:该守护进程用来支持RPC连接,RPC被用于NFS以及NIS 等服务。 
62. postgresql: PostgreSQL 关系数据库引擎。 
63. proftpd: proftpd 是Unix下的一个配置灵活的ftp服务器的守护程序。 
64. pppoe:ADSL连接守护进程。 
65. random :保存和恢复系统的高质量随机数生成器,这些随机数是系 统一些随机行为提供的。 
66. rawdevices:在使用集群文件系统时用于加载raw设备的守护进程。 
67. readahead、 readahead_early:readahead和readahead_early是在Fedora core 2中最新推出的两个后台运行的守护程 序。其作用是在启动系统期间,将启动系统所要用到的文件首先读取到内存中,然后在内存中进行执行,以加快系统的启动速度。 
68. rhnsd:Red Hat 网络服务守护进程。通知官方的安全信息以及为系统打补丁。 
69. routed :该守护程序支持RIP协议的自动IP路由表维护。RIP主要 使用在小型网络上,大一点的网络就需要复杂一点的协议。 
70. rsync:remote sync远程数据备份守护进程。   
71. rsh :远程主机上启动一个shell,并执行用户命令。 
72. rwhod: 允许远程用户获得运行rwho守护程序的机器上所有已登录用户的列表。 
73. rstatd:一个为LAN上的其它机器收集和提供系统信息的守候进程。 
74. ruserd:远程用户定位服务,这是一个基于RPC的服务,它提供关于当前记录到LAN上一个机器日志中的用户信息 
75. rwalld:激活rpc.rwall服务进程,这是一项基于RPC的服务,允许用户给每个注册到LAN机器上的其他终端写消息 。 
76. rwhod:激活rwhod服务进程,它支持LAN的rwho和ruptime服务。 
77. saslauthd: 使用SASL的认证守护进程。 
78. sendmail:邮件服务器sendmail守护进程。 
79. smb:Samba文件共享/打印服务守护进程。 
80. snmpd:本地简单网络管理守护进程。 
81. squid:代理服务器squid守护进程。 
82. sshd:OpenSSH服务器守护进程。Secure Shell Protocol可以实现安全地远程管理主机。 
83. smartd:Self Monitor Analysis and Reporting Technology System,监控你的硬盘是否出现故障。 
84. syslog:一个让系统引导时起动syslog和klogd系统日志守候进程的脚本。 
85. time :该守护进程从远程主机获取时间和日期,采用TCP协议。 
86. time-udp: 该守护进程从远程主机获取时间和日期,采用UDP协议。 
87. tux:在Linux内核中运行apache服务器的守护进程。 
88. vsftpd:vsftpd服务器的守护进程。 
89. vncserver: VNC (Virtual Network Computing,虚拟网络计算),它提供了一种在本地系统上显示远程计算机整个"桌面"的轻量型协议。 
90. xfs:X Window字型服务器守护进程,为本地和远程X服务器提供字型集。 
91. xinetd:支持多种网络服务的核心守护进程。 
92. ypbind:为NIS(网络信息系统)客户机激活ypbind服务进程 。 
93. yppasswdd:NIS口令服务器守护进程。 
94. ypserv:NIS主服务器守护进程。 
95. yum:RPM操作系统自动升级和软件包管理守护进程。 

    二、守护进程工作原理和方式 
在Client/Server 模式下。服务器监听(Listen)在一个特定的端口上等待客户连接。连接成功后服务器和客户端通过端口进行数据通信。守护进程的工作就是打开一个端口, 并且等待(Listen)进入连接。如果客户端产生一个连接请求,守护进程就创建(Fork)一个子服务器响应这个连接,而主服务器继续监听其他的服务请 求。 

2.守护进程工作方式: 
(1)运行独立的守护进程 
独立运行的守护进程由init脚本负责管理,所有独 立运行的守护进程的脚本在/etc/rc.d/init.d/目录下。系统服务都是独立运行的守护进程包括:syslogd和cron等。运行独立的守护 进程工作方式称作:stand-alone。它Unix传统的C/S模式的访问模式。服务器监听(Listen)在一个特点的端口上等待客户端的联机。如 果客户端产生一个连接请求,守护进程就创建(Fork)一个子服务器响应这个连接,而主服务器继续监听。以保持多个子服务器池等待下一个客户端请求。 stand-alone模式工作原理见图1。 

       图1 stand-alone工作模式 
工作在stand- alone模式下的网络服务有route、gated。另外是大家最熟悉是Web服务器:Apache和邮件服务器Sendmail、域名服务器 Bind。因为这些负载很大服务器上,预先创子服务器,可以通过客户的服务速度。在Linux系统中通过stand-alone工作模式启动的服务由 /etc/rc.d/下面对应的运行级别当中的符号链接启动。 

(2)xinetd模式 
从守护进程的概念可以看出,对于 系统所要通过的每一种服务,都必须运行一个监听某个端口连接所发生的守护进程,这通常意味着资源浪费。为了解决这个问题,Linux引进了“网络守护进程 服务程序”的概念。Redhat Linux 9.0使用的网络守护进程是xinted(eXtended InterNET daemon)。和 stand-alone模式相比xinted模式也称 Internet Super-Server(超级服务器)。xinetd能够同时监听多个指定的 端口,在接受用户请求时,他能够根据用户请求的端口不同,启动不同的网络服务进程来处理这些用户请求。可以把xinetd看做一个管理启动服务的管理服务 器,它决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。xinetd模式工作原理见图3。 

          图3  xinetd工作模式 
和stand -alone工作模式相比,系统不想要每一个网络服务进程都监听其服务端口。运行单个xinetd就可以同时监听所有服务端口,这样就降低了系统开销,保 护系统资源。但是对于访问量大、经常出现并发访问时,xinetd想要频繁启动对应的网络服务进程,反而会导致系统性能下降。察看系统为Linux服务提 供那种模式方法在Linux命令行可以使用pstree命令可以看到两种不同方式启动的网络服务。一般来说系统一些负载高的服务:sendmail、 Apache服务是单独启动的。而其他服务类型都可以使用xinetd超级服务器管理。查看目前运行的守护进程可以使用命令:“pstree” 

三、守护进程管理工具 
Linux提供了三种不同的守护进程管理工具:redhat-config-services、ntsysv、chkconfig,可以根据具体需要灵活运用。 
(1) redhat-config-services 
redhat -config-services是一个一个图形化应用程序,它显示了每项服务的描述,以及每项服务是否在引导时启动(运行级别3、4、5),并允许你启 动、停止、或重新启动/etc/rc.d/init.d 中的哪些 SysV 服务,哪些 xinetd 服务。要从桌面启动服务配置工具,点击面板上的 「主菜单」 => 「系统设置」 => 「服务器设置」 => 「服务」,或在 shell 提示下,键入命令:“redhat- config-services” (见图4)。 

图4 redhat-config-services配置工具 
redhat -config-services列出了 /etc/rc.d/init.d 中的服务和由 xinetd 控制的服务。点击左侧列表中的服务名来显示该 服务的简短描述以及它的服务状态。如果这个服务不是 xinetd 服务,状态窗口会显示该服务目前是否在运行。如果该服务被 xinetd 所控制,状 态窗口会显示「xinetd 服务」这个短语。要立即启动、停止、或重新启动某项服务,从列表中选择该项服务,然后点击工具栏上的相应按钮(或从「行动」 拉下菜单中选择行动)。如果该服务是一个 xinetd 服务,行动按钮会被禁用,因为它们不能被单个地启动或停止。 如果你通过选择或取消选择服务名旁 的复选箱来启用或禁用了 xinetd 服务,你必须从拉下菜单中选择「文件」 => 「保存改变」来重新启动 xinetd,并立即启用或禁用你 所改变的 xinetd 服务。xinetd 还被配置成自动记忆设置。你可以同时启用或禁用多个 xinetd 服务,在结束后再保存改变。 
(2)ntsysv 
ntsysv  工具为激活或停运服务提供了简单的界面。你可以使用 ntsysv 来启动或关闭由 xinetd 管理的服务。你还可以使用 ntsysv 来配置运行 级别。按照默认设置,只有当前运行级别会被配置。要配置不同的运行级别,使用 --level 选项来指定一个或多个运行级别。譬如,命令  ntsysv --level 345 配置运行级别3、4、和5。 ntsysv 的工作界面见图1。使用上下箭头来上下查看列表。使用空格键来选择 或取消选择服务,或用来“按”「确定」和「取消」按钮。要在服务列表和「确定」、「取消」按钮中切换,使用 [Tab]键。* 标明某服务被设为启动。 [F1] 键会弹出每项服务的简短描述。 
(3)chkconfig 
chkconfig 命令也可以用来激活和解除服务。 chkconfig --list 命令显示系统服务列表,以及这些服务在运行级别0到6中已被启动(on)还是停止(off)。chkconfig 还 能用来设置某一服务在某一指定的运行级别内被启动还是被停运。譬如,要在运行级别3、4、5中停运 nfs 服务,使用下面的命令: 
chkconfig --level 345 nfs off 
四、合理选择守护进程规避安全隐患 
运 行不必要或有漏洞的守护进程会给操作系统带来安全和性能上的影响。对于系统安全来说,如果操作系统中的任何一个漏洞,都可能使整个系统受到攻击。所以,增 加系统安全的最佳办法就是尽量监视系统的功能。文章开始介绍了重要的守护进程,其中“crond、syslog、keytable、xinetd、 kudzu、iptables”等是需要运行的,echo、echo-udp、daytime、daytime-udp、chargen、chargen -udp主要是做调试用,普通用户基本用不到,可以关闭。 
r字开头的守护进程:rsh、rstatd、rsync、rusersd、 rwalld这些命令都是Berkley远程命令,因为都以字母r开头,故称r*命令。主要使用来使一台计算机上的某个用户以相同的帐户远程执行另一台计 算机的一个程序。但是,r命令已经被证实存在安全风险。对于确实需要的守护进程,应该尽量选用最新的版本程序,并增加其安全防范。   
另外我们还要合理选择守护进程例如innd是运行新闻组服务的进程,如果用户不做Usenet服务器,应该关掉。 

总结: 
基于开放源代码的Linux给用户提供了这样一个平台:可以根据自己的软、硬件环境,定制自己的Linux守护进程。因此,根据每个用户不同的应用范围定制应用环境,可以将Linux系统的安全和性能提升到新的高度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值