Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。提供这些服务的程序是由运行在后台的守护进程(daemons)来执行的。守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统关闭时终止。linux系统有很多守护进程,大多数服务器都是用守护进程实现的。同时,守护进程完成许多系统任务,比如,作业规划进程crond、打印进程lqd等。有些书籍和资料也把守护进程称作:“服务”。选择运行哪些守护进程,要根据具体需求决定。查看系统可以提供的守护进程对应的服务,使用下面方法,以root权限运行:
#ntsysv
下面详细介绍一下各项系统服务的功能。以英文字母为序:
一、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用于在系统负荷比较低时 运行
批处理任务。
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 关系数据库引擎。
nix下的一个配置灵活的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)一个子服务器响
应这个连接,而主服务器继续监听其他的服务请求。
守护进程工作方式:
(1)运行独立的守护进程
独立运行的守护进程由init脚本负责管理,所有独立运行的守护进程的脚本
在/etc/rc.d/init.d/目录下。系统服务都是独立运行的守护进程包括:syslogd和cron等。运行
独立的守护进程工作方式称作:stand-alone。它Unix传统的C/S模式的访问模式。服务器监听
(Listen)在一个特点的端口上等待客户端的联机。如果客户端产生一个连接请求,守护进程就
创建(Fork)一个子服务器响应这个连接,而主服务器继续监听。以保持多个子服务器池等待下
一个客户端请求。工作在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看做一个管理启动服务的管理服务
器,它决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。
和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
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系统的安全
和性能提升到新的高度。
作者:hezen 来源:赛迪网技术社区
分享到:
相关推荐
### Linux操作系统下守护进程的编程方法 #### 一、守护进程及其特性 守护进程(Daemon)是一种特殊类型的进程,它在后台运行,并且通常没有控制终端。守护进程的主要任务是执行周期性的操作或者响应特定的事件。...
守护进程的特点是独立于终端,用户不能直接操作守护进程,除非特殊情况下。守护进程与 Windows 中的后台服务程序比较类似,如 Windows 中有一种 time 系统服务,用来从远程主机获得日期和时间,Linux 中也有类似 的...
"Linux操作系统守护进程编程实现方法" 本文主要介绍了Linux操作系统下的守护进程编程实现方法。守护进程是一种特殊的进程,在后台运行,独立于控制终端,并周期性地执行某种任务或等待处理某些发生的事件。Linux...
Linux系统下守护进程编程方法是指在Linux操作系统下编写和实现守护进程的方法。 在Linux系统下,进程可以通过系统调用fork()创建新的进程,而fork()调用将当前进程复制一个副本,副本中除系统数据段中的少量内容...
在Linux环境中,为了确保应用程序如Tomcat能够随系统自动启动并作为守护进程运行,需要进行一系列的配置步骤。本文将详细介绍如何将Tomcat添加到Linux的守护进程,并处理"Invalid user name 'tomcat' specified"的...
编写 Linux下的守护进程需要使用 C 语言,了解操作系统的基本概念和函数调用。下面将详细介绍如何编写 Linux下的守护进程。 一、守护进程的概念和特点 守护进程是一种特殊类型的进程,它在后台运行,独立于控制...
Linux守护进程,也被称为服务,是Linux操作系统中的关键组成部分,它们在后台持续运行,执行着各种系统任务和服务。这些进程不依赖于任何控制终端,并且通常在系统启动时启动,直到系统关闭时才会终止。守护进程是...
守护进程在Linux操作系统中扮演着重要的角色,它们作为后台服务,独立于控制终端,执行预设的任务或响应特定事件。常见的守护进程有inetd(Internet服务器)、httpd(Web服务器)、crond(作业规划进程)和lpd(打印...
在Linux操作系统中,守护进程(Daemon)是一种在后台运行且没有控制终端的程序,它们通常在系统启动时启动,负责执行特定的任务,如网络服务、日志管理等。"xxxx.rar_linux 守护_linux 守护进程"这个压缩包文件可能...
守护进程(Daemon)是Linux操作系统中的一个重要组成部分,它们在后台运行,不与用户交互,主要用于提供系统服务。例如,网络服务、时间同步、打印服务等都由守护进程来执行。守护进程能够独立于控制终端运行,并且...
《编写Linux守护进程》这篇文献主要探讨了如何在Linux操作系统中创建和管理守护进程,这是一种在后台运行且独立于控制终端的进程,常用于提供系统服务,如HTTP服务器、打印服务等。守护进程的主要特点包括: 1. **...
Linux守护进程是Linux系统中的一种特殊进程,它们在系统启动后独立运行,通常与用户的交互较少,负责执行长期持续的任务,如网络服务、系统监控、定时任务等。这些守护进程在后台持续工作,确保系统的正常运行和服务...
linux系统有很多守护进程,大多数服务器都是用守护进程实现的。同时,守护进程完成许多系统任务,比如,作业规划进程crond、打印进程lqd等。有些书籍和资料也把守护进程称作:“服务”。选择运行哪些守护进程,要...
在Linux系统中,守护进程(daemon)是一种特殊类型的进程,它们在系统启动时启动,并持续运行直到系统关闭,通常没有与任何控制终端关联,因此在后台默默执行任务。守护进程在Unix和Linux环境中扮演着重要角色,执行...
在Linux操作系统中,守护进程(Daemon)是一种在后台运行且没有控制终端的进程。它们通常在系统启动时启动,执行特定的任务,如网络服务、日志记录或计划任务。守护进程不与用户交互,而是默默地运行,为系统提供...
Linux守护进程,或称为守护程序或精灵进程,是Linux操作系统中的关键组成部分,它们在后台运行,没有控制终端,且通常以超级用户权限运行。守护进程的主要任务是提供系统服务,如网络服务(如HTTP服务器httpd)、...
在Linux操作系统中,为确保数据安全性及系统的稳定性,特别是在银行等对数据有严格要求的企业中,采用Linux并配合在线式或线上互动式UPS(不间断电源)是非常常见的做法。在线式UPS能够在电网电压异常时,通过逆变...
本实验涵盖了 Linux 操作系统中的进程管理机制,包括进程的属性、前台和后台进程、守护进程、进程的层次结构和信号机制等。本实验旨在帮助学生掌握 Linux 操作系统中的进程管理技术,提高学生的实践能力和理论基础。