Linux服务系统守护进程详解


红帽企业 Linux 改进了对审核子系统的内核和用户支持。审核子系统可以被系统管理员用来监测系统调用和那些符合 CAPP 或其它审核要求的文件系统访问。它的主要内容包括:

  • 默认情况下,审核在内核中被禁用。但是,当安装了 auditd 软件后,运行这个软件将会启动审核守护进程(auditd)。
  • 当 auditd 运行的时候,审核信息会被发送到一个用户配置日志文件中(默认的文件是 /var/log/audit/audit.log)。如果 auditd 没有运行,审核信息会被发送到 syslog。这是通过默认的设置来把信息放入 /var/log/messages。如果审核子系统没有被启用,没有审核信息会被产生。
  • 这些审核信息包括了 SELinux AVC 信息。以前,AVC 信息会被发送到 syslog,但现在会被审核守护进程发送到审核日志文件中。
  • 要完全在内核中禁用审核,在启动的时候使用 audit=0 参数。您还需要使用 chkconfig auditd off 2345 来关闭 auditd。您可以在运行时使用 auditctl -e 0 来在内核中关闭审核。

红帽企业 Linux 4 Update 2 包括了审核子系统用户空间服务和工具程序的初始发行。

审核守护进程(auditd)从内核的 audit netlink 接口获取审核事件数据。auditd 的配置会不尽相同,如输出文件配置和日志文件磁盘使用参数可以在 /etc/auditd.conf 文件中配置。请参阅 auditd(8) 和auditd.conf(5) 说明书页来获得详悉的信息。请注意,如果您设置您的系统来进行 CAPP 风格的审核,您必须设置一个专用的磁盘分区来只供 audit 守护进程使用。这个分区应该挂载在 /var/log/audit。

系统管理员还可以使用 auditctl 工具程序来修改 auditd 守护进程运行时的审核参数、syscall 规则和文件系统的查看。要获得详细的信息,请参阅 auditctl(8) 说明书页。它包括了一个 CAPP 配置样本,您可以把它拷贝到 /etc/audit.rules 来使它起作用。

审核日志数据可以通过 ausearch 工具程序来查看和搜索。请参阅 ausearch(8) 说明书页来获得搜索选项的信息。

不要关闭以下服务(除非你有充足的理由):

==acpid, haldaemon, messagebus, klogd, network, syslogd==

请确定修改的是运行级别 3 和 5。

NetworkManager

NetworkManager 是一个自动切换网络连接的后台进程。很多笔记本用户都需要启用该功能,它让你能够在无线网络和有线网络之间切换。大多数台式机用户应该关闭该服务。一些 DHCP 用户可能需要开启它。

acpid

ACPI(全称 Advanced Configuration and Power Interface)服务是电源管理接口。建议所有的笔记本用户开启它。一些服务器可能不需要acpi。支持的通用操作有:“电源开关“,”电池监视“,”笔记本 Lid 开关“,“笔记本显示屏亮度“,“休眠”, “挂机”,等等。

anacron, atd, cron

这几个调度程序有很小的差别。 建议开启 cron,如果你的电脑将长时间运行,那就更应该开启它。对于服务器,应该更深入了解以确定应该开启哪个调度程序。大多数情况下,笔记本/台式机应该关闭 atd 和 anacron。注意:一些任务的执行需要 anacron,比如:清理/tmp或 /var。

apmd

一些笔记本和旧的硬件使用 apmd。如果你的电脑支持 acpi,就应该关闭 apmd。如果支持 acpi,那么 apmd 的工作将会由 acpi 来完成。

autofs

该服务自动挂载可移动存储器(比如 USB 硬盘)。如果你使用移动介质(比如移动硬盘,U 盘),建议启用这个服务。

avahi-daemon, avahi-dnsconfd

Avahi 是 zeroconf 协议的实现。它可以在没有 DNS 服务的局域网里发现基于zeroconf 协议的设备和服务。它跟 mDNS 一样。除非你有兼容的设备或使用 zeroconf 协议的服务,否则应该关闭它。我把它关闭。

bluetooth, hcid, hidd, sdpd, dund, pand

蓝牙(Bluetooth)是给无线便携设备使用的(非 wifi, 802.11)。很多笔记本提供蓝牙支持。有蓝牙鼠标,蓝牙耳机和支持蓝牙的手机。很多人都没有蓝牙设备或蓝牙相关的服务,所以应该关闭它。其他蓝牙相关的服务有:hcid 管理所有可见的蓝牙设备,hidd 对输入设备( 键盘,鼠标)提供支持, dund 支持通过蓝牙拨号连接网络,pand 允许你通过蓝牙连接以太网。

capi

仅仅对使用 ISDN 设备的用户有用。大多数用户应该关闭它。

cpuspeed

该服务可以在运行时动态调节 CPU 的频率来节约能源(省电)。许多笔记本的 CPU 支持该特性,现在,越来越多的台式机也支持这个特性了。如果你的 CPU 是:Petium-M,Centrino,AMD PowerNow, Transmetta,Intel SpeedStep,Athlon-64,Athlon-X2,Intel Core 2 中 的一款,就应该开启它。如果你想让你的 CPU 以固定频率运行的话就关闭它。

cron

参见 anacron。

cupsd, cups-config-daemon

打印机相关。如果你有能在 Fedora 中驱动的 CUPS 兼容的打印机,你应该开启它。

dcclient, dcserver

磁盘缓存(Distcache)用于分布式的会话缓存。主要用在 SSL/TLS 服务器。它可以被 Apache 使用。大多数的台式机应该关闭它。

dhcdbd

这是一个让 DBUS 系统控制 DHCP 的接口。可以保留默认的关闭状态。

diskdump, netdump

磁盘转储(Diskdump)用来帮助调试内核崩溃。内核崩溃后它将保存一个 “dump“ 文件以供分析之用。网络转储(Netdump)的功能跟 Diskdump 差不多,只不过它可以通过网络来存储。除非你在诊断内核相关的问题,它们应该被关闭。

dund

参见 bluetooth。

firstboot

该服务是 Fedora 安装过程特有的。它执行在安装之后的第一次启动时仅仅需要执行一次的特定任务。它可以被关闭。

gpm

终端鼠标指针支持(无图形界面)。如果你不使用文本终端(CTRL-ALT-F1, F2..),那就关闭它。不过,我在运行级别 3 开启它,在运行级别 5 关闭它。

hidd

参见 bluetooth。

hplip, hpiod, hpssd

HPLIP 服务在 Linux 系统上实现 HP 打印机支持,包括 Inkjet,DeskJet,OfficeJet,Photosmart,Business InkJet 和一部分LaserJet 打印机。这是 HP 赞助的惠普 Linux 打印项目(HP Linux Printing Project)的产物。如果你有相兼容的打印机,那就启用它。

iptables

它是 Linux 标准的防火墙(软件防火墙)。如果你直接连接到互联网(如,cable,DSL,T1),建议开启它。如果你使用硬件防火墙(比如:D-Link,Netgear,Linksys 等等),可以关闭它。强烈建议开启它。

ip6tables

如果你不知道你是否在使用 IPv6,大部分情况下说明你没有使用。该服务是用于 IPv6 的软件防火墙。大多数用户都应该关闭它。阅读这里了解如何关闭 Fedora 的 IPv6 支持。

irda, irattach

IrDA 提供红外线设备(笔记本,PDA's,手机,计算器等等)间的通讯支持。大多数用户应该关闭它。

irqbalance

在多处理器系统中,启用该服务可以提高系统性能。大多数人不使用多处理器系统,所以关闭它。但是我不知道它作用于多核CPU's或超线程 CPU's 系统的效果。在单 CPU 系统中关闭它应该不会出现问题。

isdn

这是一种互联网的接入方式。除非你使用 ISDN 猫来上网,否则你应该关闭它。

kudzu

该服务进行硬件探测,并进行配置。如果更换硬件或需要探测硬件更动,开启它。但是绝大部分的台式机和服务器都可以关闭它,仅仅在需要时启动。

lm_sensors

该服务可以探测主板感应器件的值或者特定硬件的状态(一般用于笔记本电脑)。你可以通过它来查看电脑的实时状态,了解电脑的健康状况。它在 GKrellM 用户中比较流行。查看 lm_sensors 的主页获得更多信息。如果没有特殊理由,建议关闭它。

mctrans

如果你使用 SELinux 就开启它。默认情况下 Fedora Core 开启 SELinux。

mdmonitor

该服务用来监测 Software RAID 或 LVM 的信息。它不是一个关键性的服务,可以关闭它。

mdmpd

该服务用来监测 Multi-Path 设备(该类型的存储设备能被一种以上的控制器或方法访问)。它应该被关闭。

messagebus

这是 Linux 的 IPC(Interprocess Communication,进程间通讯)服务。确切地说,它与 DBUS 交互,是重要的系统服务。强烈建议开启它。

netdump

参见 diskdump。

netplugd

Netplugd 用于监测网络接口并在接口状态改变时执行指定命令。建议保留它的默认关闭状态。

netfs

该服务用于在系统启动时自动挂载网络中的共享文件空间,比如:NFS,Samba 等等。如果你连接到局域网中的其它服务器并进行文件共享,就开启它。大多数台式机和笔记本用户应该关闭它。

nfs, nfslock

这是用于 Unix/Linux/BSD 系列操作系统的标准文件共享方式。除非你需要以这种方式共享数据,否则关闭它。

ntpd

该服务通过互联网自动更新系统时间。如果你能永久保持互联网连接,建议开启它,但不是必须的。

pand

参见 bluetooth。

pcscd

该服务提供智能卡(和嵌入在信用卡,识别卡里的小芯片一样大小)和智能卡读卡器支持。如果你没有读卡器设备,就关闭它。

portmap

该服务是 NFS(文件共享)和 NIS(验证)的补充。除非你使用 NFS 或 NIS 服务,否则关闭它。

readaheadearly, readaheadlater

该服务通过预先加载特定的应用程序到内存中以提供性能。如果你想程序启动更快,就开启它。

restorecond

用于给 SELinux 监测和重新加载正确的文件上下文(file contexts)。它不是必须的,但如果你使用 SELinux 的话强烈建议开启它。

rpcgssd, rpcidmapd, rpcsvcgssd

用于 NFS v4。除非你需要或使用 NFS v4,否则关闭它。

sendmail

除非你管理一个邮件服务器或你想 在局域网内传递或支持一个共享的 IMAP 或 POP3 服务。大多数人不需要一个邮件传输代理。如果你通过网页(hotmail/yahoo/gmail)或使用邮件收发程序(比如:Thunderbird, Kmail,Evolution 等等)收发邮件。你应该关闭它。

smartd

SMART Disk Monitoring 服务用于监测并预测磁盘失败或磁盘问题(前提:磁盘必须支持 SMART)。大多数的桌面用户不需要该服务,但建议开启它,特别是服务器。

smb

SAMBA 服务是在 Linux 和 Windows 之间共享文件必须的服务。如果有 Windows 用户需要访问 Linux 上的文件,就启用它。查看如何在Fedora Core 6 下配置Samba。

sshd

SSH 允许其他用户登录到你的系统并执行程序,该用户可以和你同一网络,也可以是远程用户。开启它存在潜在的安全隐患。如果你不需要从其它机器或不需要从远程登录,就应该关闭它。

xinetd

(该服务默认可能不被安装)它是 一个特殊的服务。它可以根据特定端口收到的请求启动多个服务。比如:典型的 telnet 程序连接到23号端口。如果有 telent 请求在 23 号端口被 xinetd 探测到,那 xinetd 将启动telnetd 服务来响应该请求。为了使用方便,可以开启它。运行 chkconfig --list,通过检查 xinetd 相关的输出可以知道有哪些服务被 xinetd 管理。