最新消息:阿啰哈,本人90后,目前单身,欢迎妹子们来撩!.(。→‿←。) 微信:frank01991

关闭不需要的Linux服务

Linux 林志斌 1007浏览

Linux服务(Linux services)对于每个应用Linux的用户来说都很重要。关闭不需要的服务,可以让Linux运行的更高效,但并不是所有的Linux服务都可以关闭。因此着重了解了一下那些Linux服务(Linux services)可以关闭,那些Linux服务(Linux services)不能随意关闭。

在关闭Linux服务之前,需要了解一些概念:

  1. 什么是Linux服务/后台进程(Linux services/daemons)
  2. 什么是Linux服务运行级别(Linux runlevels)
  3. 以及各种用于管理Linux服务(Linux services)的工具。

Linux服务(Linux services)管理工具介绍:

  1. 可以在命令行下使用 chkonfig 或 ntsysv 命令来管理Linux服务(Linux services)
  2. 使用具有图形用户界面的 system-config-services 命令。
  3. GNOME 用户可以使用 系统->管理->服务器设置->Services来管理Linux服务(Linux services)

通常情况下下列Linux服务(Linux services)最好不要关闭,他们是一些系统级的服务,因为我是Linux入门级选手,所以我选择不去动他们。

  1. acpid, haldaemon, messagebus, klogd, network, syslogd  

但笔者最常用的一个十分有用的Linux服务 是sshd,通过ssh连接到Linux上,这个是必不可少的。所以严重建议保留这个。还有,就是SendMail服务,笔者使用的是CentOs Linux 5.2,居然安装时候默认就安装了改服务,因为没有用,所以关闭之。这个服务启动的够慢的。
最后请确定修改的是运行级别 3 和 5。

Linux服务(Linux services):NetworkManager, NetworkManagerDispatcher
NetworkManager 是一个自动切换网络连接的后台进程。很多笔记本用户都需要启用该功能,它让你能够在无线网络和有线网络之间切换。大多数台式机用户应该关闭该服务。一些 DHCP 用户可能需要开启它。
Linux服务(Linux services):acpid
ACPI(全称 Advanced Configuration and Power Interface)服务是电源管理接口。建议所有的笔记本用户开启它。一些服务器可能不需要 acpi。支持的通用操作有:“电源开关“,”电池监视“,”笔记本 Lid 开关“,“笔记本显示屏亮度“,“休眠”, “挂机”,等等。

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

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

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

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

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

Linux服务(Linux services):capi
仅仅对使用 ISDN 设备的用户有用。大多数用户应该关闭它。

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

Linux服务(Linux services):cron
参见 anacron

Linux服务(Linux services):cupsd, cups-config-daemon
打印机相关。如果你有能在 Fedora 中驱动的 CUPS 兼容的打印机,你应该开启它。

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

Linux服务(Linux services):dhcdbd
这是一个让 DBUS 系统控制 DHCP 的接口。可以保留默认的关闭状态。

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

Linux服务(Linux services):dund
参见 bluetooth

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

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

Linux服务(Linux services):hidd
参见 bluetooth

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

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

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

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

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

Linux服务(Linux services):isdn
这是一种互联网的接入方式。除非你使用 ISDN 猫来上网,否则你应该关闭它。

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

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

Linux服务(Linux services):mctrans
如果你使用 SELinux 就开启它。默认情况下 CentOs和Fedora Core 开启 SELinux。

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

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

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

Linux服务(Linux services):netdump
参见 diskdump

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

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

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

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

Linux服务(Linux services):pand
参见 bluetooth

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

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

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

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

Linux服务(Linux services):rpcgssd, rpcidmapd, rpcsvcgssd
用于 NFS v4。除非你需要或使用 NFS v4,否则关闭它。

Linux服务(Linux services):sendmail
除非你管理一个邮件服务器或你想在局域网内传递或支持一个共享的 IMAP 或 POP3 服务。大多数人不需要一个邮件传输代理。如果你通过网页(hotmail/yahoo/gmail)或使用邮件收发程序(比如:Thunderbird,Kmail,Evolution 等等)收发程序。你应该关闭它。(笔者在使用CentOs 5.2的时候,居然自动安装了这个服务,关闭之)

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

Linux服务(Linux services):smb
SAMBA 服务是在 Linux 和 Windows 之间共享文件必须的服务。如果有 Windows 用户需要访问 Linux 上的文件,就启用它。

Linux服务(Linux services):sshd
SSH 允许其他用户登录到你的系统并执行程序,该用户可以和你同一网络,也可以是远程用户。开启它存在潜在的安全隐患。如果你不需要从其它机器或不需要从远程登录,就应该关闭它。笔者强烈建议保留该服务,或者说如果说用Linux就不可能不用sshd 服务。

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

from:http://xiexiejiao.cn/linux/linux-service-remove-linux-service.html

Service Status

All services can be in any one of the following status at a time:

  1. Disabled : Disable the service if possible (e.g., NFS and portmap) .
  2. Enabled : Leave the service enabled (e.g. Power management, and Networking etc ).
  3. Configure: This is essential service and you need to configure so that server works correctly. The service must be configured properly for security and performance (e.g., various servers, Iptables, SELinux, and IP6tables etc).
  4. Remove: This is not status but you can delete the service (e.g., rsh, vsftpd, X Servers or any other unwanted insecure services).

Recommend Actions on Default Services

Service Description Action
acpid Advanced Configuration and Power Interface event daemon Enable
anacron Anacron is like cron, but it does not assume that the machine is running continuously. Hence, it can be used on machines that aren’t running 24 hours a day, to control daily, weekly, and monthly jobs that are usually controlled by cron. Disable on servers
apmd Advanced Power Management Subsystem (old system). If the server is capable of ACPI support, disable this service Disable if possible
auditd The Linux Auditing System Enable and configure
atd atd runs jobs queued by at Enable and configure
autofs The automount(8) program is used to manage mount points for autofs, the inlined Linux automounter. You can mount NFS, USB, DVD/CD, and CIFS via /etc/fstab. Disable
avahi-daemon and avahi-dnsconfd The Avahi mDNS/DNS-SD daemon implementing Apple's ZeroConf architecture (also known as "Rendezvous" or "Bonjour"). Disable
bluetooth and hidd Bluetooth services for service discovery, authentication, Human Interface Devices (hidd), etc Disable
cpuspeed This service monitors the system’s idle percentage and reduces or raises the CPUs’ clock speeds and voltages accordingly to minimize power consumption when idle and maximize performance when needed Enable
crond Service to execute scheduled commands via crond daemon. Enable and configure
cups Common unix printing system service Disable if possible
dc_client & dc_client Startup script for the Distcache SSL Session Cache Client and server proxy. Disable if you do not need cache proxy. Disable if possible
dnsmasq the DNS caching server. Enable if your ISP or remote DNS caching server is pretty slow. Enable
dkmdkms_autoinstallers dkms is a framework which allows kernel modules to be dynamically built for each kernel on your system in a simplified and organized fashion. Disable if possible
firstboot RHLE specific service. It does a few configuration following successful installation of the operating system. Disable
gpm A cut and paste utility and mouse server service for virtual consoles. Disable
haldaemon This service is used for collecting and maintaing information about hardware from several sources. This is only used for X and desktop apps. Disable it on servers. Disable
hplip A service for non-PostScript HP printer. Disable it on servers. Disable
irda IrDA(TM) (Infrared Data Association) is an industry standard for wireless, infrared communication between devices. IrDA speeds range from 9600 bps to 4 Mbps, and IrDA can be used by many modern devices including laptops, LAN adapters, PDAs, printers, and mobile phones. Disable if possible
iscsi & iscsid iscsi service logs into iSCSI targets needed at system startup (i.e. iscsi client). iscsid will start and stop iSCSI daemon. Use this if you've iscsi based storage. Disable if possible
iptables & ip6tables IPv4 and IPv6 firewall service. Enableandconfigure
irqbalance The irqbalance service will distribute interrupts across the cpus on a multiprocessor system with the purpose of spreading the load. Enable
isdn Provides the Internet connectivity using an ISDN modem. Disable if not using an ISDN modem.
kdump Kernel crash dump analyzer. This service is useful for kernel hackers and device driver development or testing new kernel feature. Dsable the service on production boxes. Disable
kudzu RHEL specific hardware detection service. This is required on desktop or laptop where end users can add a new hardware but not on servers. Disable
lm_sensors lm_sensors is used for monitoring motherboard sensor values. Disable
lvm2-monitor Starts and stops dmeventd monitoring for lvm2. If you are not using LVM2 (Linux volume manager) based storage disable it. Disable
mcstrans Starts the SELinux Context Translation System daemon. This is site specific SELinux requirements. Disable if possible
mdmonitor software RAID monitoring and management service. If you are not using software RAID disable it. This is not required for hardware RAID setup as they comes with their own programs. Disable if possible
messagebus This service broadcasts notifications of system events and other messages (D-bus). Turn it on for bluetooth, X Windows and desktop systems. Disable
microcode ctl Script to apply cpu microcode for Intel IA32 processor. If you are not using Intel IA32 processor disable it. Disable
netfs, nfslock, rpcgssd, rpcidmapd, and portmap Mount and configure Linux network network filesystems (NFS). If you are not using NFS client/server technology disable it. Disable if possible
network A service to activates/deactivates all network interfaces configured to start at boot time. Enable
pcscd The PC/SC smart card sevice is a resource manager for the PC/SC lite and Musclecard frameworks. It coordinatescommunications with smart card readers, smart cards, and cryptographic tokens that are connected to the system.If Smart Cards are not in use on the system, disable this service: Disable
readahead_early and readahead_later This sevice provide one-time caching of files belonging to a few boot services. It does not provide any boosting. Just disable it. Disable
restorecond This service restores the correct security context for SELinux. Enable
rhnsd This service handles the task of connecting periodically to the RHN servers to check for updates, notifications and perform system monitoring tasks according to the service level that your server is subscribed for. Disable this service and use yum-updatesd service. Disable
sendmail Use to start sendmail server. Enable and configure
smartd Self Monitoring and Reporting Technology (SMART) Daemon for hard disks. Enable and configure
setroubleshoot This service starts the SELinux Troubleshooting daemon. It will send notification tothe desktop user of SELinux access denied messages in a user-friendly fashion. Disable
sshd The openssh server. If you need remote login enable it. You must enable this on all servers so that you can login and configure everything. Enable
syslog Syslog is the facility by which many other Linux daemons use to log messages to various system log files. It is a good idea to always run syslog. Enable
xfs X Windows font server. Disable it on servers. Disable
yum-updatesd Update notification daemon for system packages. Enable

Remove Outdated Insecure Services

Is there a mission-critical reason for users to access the system via the insecure protocolssuch as ftp, NIS and telnet? The following services are obsolete services and must be deleted for security:

  1. inetd and xinetd : This is not installed by default. But, it it is installed just delete it. Consider switching to more secure services which provide the needed functionality.
  2. telnet-server : Delete insecure telnet remote login, use OpenSSH server and ssh client to get back into the server.
  3. rsh-server : Delete insecure rlogin, rsh, or rcp commands. Use scp and ssh commands from the OpenSSH.
  4. ypserv & ypbind : Remote outdated NIS, consider using OpenLDAP or Fedora / Redhat directory server.
  5. tftp-server : Remove outdated and insecure TFTP server software.

Configure Required Services

Other services need to be installed and configr as and when required:

  1. httpd: The Apache web server.
  2. php-cgi: The php server.
  3. bind9 (named): The DNS server.
  4. ntpd : The time network based time client/server.
  5. snmpd : The net-snmp server.
  6. squid : The squid proxy and web caching server.

from:http://www.cyberciti.biz/faq/linux-default-services-which-are-enabled-at-boot/

RHEL/CentOS 6.x的系统服务比5.x系列的要多了很多新面孔,估计很多童鞋不甚理解,网上这方面资料也很少。理解这个对运维人员是必要的,因为开启不必要的服务越多,系统就相对越不安全。不需开启的服务尽量关闭。本人结合自己的应用经验做一些讲解说明,有不同理解的童鞋欢迎交流。

下面列表是在RHEL/CentOS 6.x最小化桌面环境安装下显示出来的系统服务,其中红色字体标注的是用官方的minimal ISO最小化安装系统后的服务列表。

服务名称 功能     
 默认     
  
  建议     
备注说明
NetworkManager 用于自动连接网络,常用在Laptop上 开启 关闭 对服务器无用
abrt-ccpp   开启 自定 对服务器无用
abrt-oops   开启 自定 对服务器无用
abrtd   开启 自定 对服务器无用
acpid 电源的开关等检测管理,常用在Laptop上 开启 自定 对服务器无用
atd 在指定时间执行命令 开启 关闭 如果用crond,则可关闭它
auditd 审核守护进程 开启 开启 如果用selinux,需要开启它
autofs 文件系统自动加载和卸载 开启 自定 只在需要时开启它,可以关闭
avahi-daemon 本地网络服务查找 开启 关闭 对服务器无用
bluetooth 蓝牙无线通讯 开启 关闭 对服务器无用
certmonger   关闭 关闭  
cpuspeed 调节cpu速度用来省电,常用在Laptop上 开启 关闭 对服务器无用
crond 计划任务管理 开启 开启 常用,开启
cups 通用unix打印服务 开启 关闭 对服务器无用
dnsmasq dns cache 关闭 关闭 DNS缓存服务,无用
firstboot 系统安装后初始设定 关闭 关闭  
haldaemon 硬件信息收集服务 开启 开启  
ip6tables ipv6防火墙 开启 关闭 用到ipv6网络的就用,一般关闭
iptables ipv4防火墙 开启 开启 ipv4防火墙服务
irqbalance cpu负载均衡 开启 自定 多核cup需要
kdump 硬件变动检测 关闭 关闭 服务器无用
lvm2-monitor lvm监视 开启 自定 如果使用LVM逻辑卷管理就开启
matahari-broker   关闭 关闭 此服务不清楚,我关闭
matahari-host   关闭 关闭 此服务不清楚,我关闭
matahari-network   关闭 关闭 此服务不清楚,我关闭
matahari-service   关闭 关闭 此服务不清楚,我关闭
matahari-sysconfig
关闭 关闭 此服务不清楚,我关闭
mdmonitor 软raid监视 开启 自定  
messagebus 负责在各个系统进程之间传递消息 开启 开启 如停用,haldaemon启动会失败
netconsole   关闭 关闭  
netfs 系统启动时自动挂载网络文件系统 开启 关闭 如果使用nfs服务,就开启
network 系统启动时激活所有网络接口 开启 开启 网络基础服务,必需!
nfs 网络文件系统 关闭 关闭 nfs文件服务,用到就开启
nfslock nfs相关 开启 关闭 nfs相关服务,用到就开启
ntpd 自动对时工具 关闭 自定 网络对时服务,用到就开启
ntpdate 自动对时工具 关闭 关闭  
oddjobd 与D-BUS相关 关闭 关闭  
portreserve RPC 服务相关 开启 自定 可以关闭
postfix 替代sendmail的邮件服务器 开启 自定 如果无邮件服务,可关闭
psacct 负荷检测 关闭 关闭 可以关闭
qpidd 消息通信 开启 开启  
quota_nld   关闭 关闭 可以关闭
rdisc 自动检测路由器 关闭 关闭  
restorecond selinux相关 关闭 关闭 如果开启了selinux,就需开启
rpcbind   开启 开启 关键的基础服务,nfs服务和桌面环境都依赖此服务!相当于CentOS 5.x里面的portmap服务。
rpcgssd NFS相关 开启 关闭 NFS相关服务,可选
rpcidmapd RPC name to UID/GID mapper 开启 关闭 NFS相关服务,可选
rpcsvcgssd NFS相关 关闭 关闭 NFS相关服务,可选
rsyslog 提供系统的登录档案记录 开启 开启 系统日志关键服务,必需!
saslauthd sasl认证服务相关 关闭 关闭  
smartd 硬盘自动检测守护进程 关闭 关闭  
spice-vdagentd   开启 开启  
sshd ssh服务端,可提供安全的shell登录 开启 开启 SSH远程登录服务,必需!
sssd   关闭 关闭  
sysstat   开启 开启 一组系统监控工具的服务,常用
udev-post 设备管理系统 开启 开启  
wdaemon   关闭 关闭  
wpa_supplicant 无线认证相关 关闭 关闭  
ypbind network information service客户端 关闭 关闭  

转载请注明:林志斌 » 关闭不需要的Linux服务

发表评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址