萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 守護進程大全:核心系統服務功能解析與啟停管理指南

Systemd/SysV init 服務清單:功能、依賴、安全建議與管理操作

Linux 系統啟動數十上百個守護進程。理解各服務功能、依賴關係、攻擊面,能精準啟用必要服務、禁用風險服務,構建最小攻擊面系統。

一、核心系統服務分類表

服務名功能描述系統預設建議動作相依/衝突
systemd-journald日誌收集與儲存啟用必須啟用-
systemd-udevd裝置節點管理、硬體事件處理啟用必須啟用-
systemd-logind用戶登入會話、座位、電源鍵處理啟用桌面必須,無頭伺服器可保留-
dbus-daemon系統/會話訊息總線啟用必須啟用幾乎所有服務依賴
NetworkManager網路連線管理啟用桌面/筆電保留,伺服器可改用 systemd-networkd衝突 systemd-networkd
systemd-networkd網路配置守護程式停用伺服器/容器推薦衝突 NetworkManager
systemd-resolvedDNS 快取、解析、mDNS、DNSSEC啟用建議啟用,配合 stub-resolv.conf-
chronyd/ntpd時間同步chronyd 啟用必須啟用(生產環境)二選一
sshdSSH 遠端登入啟用啟用並強化配置-
rsyslog/syslog-ng傳統 syslog 相容視發行版需傳統日誌格式時啟用與 journald 並存
crond/cronie排程任務啟用啟用-
atd一次性排程啟用啟用-
auditdLinux 審計子系統停用合規/安全要求時啟用效能影響
firewalld/iptables/nftables防火牆firewalld 啟用啟用一種三選一
selinux強制存取控制Enforcing生產必須 Enforcing-
polkit權限授權代理啟用桌面必須,伺服器視需求-
accounts-daemon用戶帳號管理 D-Bus 介面啟用桌面保留,伺服器可停用-

二、網路服務類

服務功能埠口建議
httpd/nginxWeb 伺服器80/443按需啟用,配置 TLS、WAF
vsftpd/proftpdFTP 伺服器21棄用,改用 SFTP/SCP
smb/nmb (Samba)檔案/列印共享139/445內網需求啟用,啟用簽名加密
nfs-serverNFS 檔案共享2049內網啟用,配合 Kerberos
bind/namedDNS 伺服器53授權 DNS 啟用,遞迴限制內網
dhcpdDHCP 伺服器67/68指定介面啟用
postfix/sendmail郵件傳輸代理25/587僅本機郵件用 null-client 模式
dovecotIMAP/POP3 伺服器143/993/110/995郵件伺服器啟用
openvpn/wireguardVPN 服務1194/51820按需啟用,強認證
snmpdSNMP 監控代理161v3 加密、限制來源 IP、修改 community

三、資料庫與中介軟體

服務功能建議
mysqld/mariadb關聯式資料庫啟用、bind-address=127.0.0.1 或特定 IP
postgresqlPostgreSQL啟用、listen_addresses 限制
redis記憶體鍵值存儲bind 127.0.0.1、requirepass、rename-command CONFIG
memcached分散式快取-l 127.0.0.1、-U 0 禁用 UDP
rabbitmq訊息佇列建立專用用戶、啟用 TLS、限制存取
kafka/zookeeper串流平台SASL_SSL、ACL、隔離網段

四、傳統 SysV init 服務對照(CentOS 6/舊版)

# 服務管理指令
service  start|stop|restart|status
chkconfig  on|off
chkconfig --list

# 關鍵服務對照
# 系統核心
network, networkmanager, udev-post, lvm2-monitor, mdmonitor
# 記憶體/儲存
mdadm, lvm2, multipathd, iscsid, iscsi
# 安全
iptables, ip6tables, auditd, sshd
# 遠端存取
rpcbind, nfs, nfslock, rpcgssd, rpcidmapd, rpcsvcgssd
# 列印
cups
# 圖形
gdm, xfs (字體服務)
# 硬體監控
smartd, mcelog, irqbalance
# 電源
acpid, apmd, cpuspeed
# 時鐘
ntpd, chronyd
# 郵件
postfix, sendmail
# 計劃任務
crond, atd
# 系統日誌
rsyslog, syslog-ng
# 名稱服務
named, nscd, sssd, winbind
# 檔案共享
smb, nmb, netfs, autofs
# 資料庫
mysqld, postgresql, mongod
# Web
httpd, nginx, php-fpm
# 代理/快取
squid, varnish, haproxy
# 監控
zabbix-agent, prometheus-node-exporter, telegraf
# 容器
docker, containerd, kubelet, kube-proxy

五、服務管理最佳實踐

  1. 最小化原則:僅啟用業務必需服務,systemctl list-unit-files --state=enabled 定期審計
  2. 權限最小化:服務以專用系統用戶運行(User=、Group=),避免 root
  3. 沙箱隔離:systemd 提供 ProtectSystem=strict、PrivateTmp=yes、NoNewPrivileges=yes、CapabilityBoundingSet= 等強化選項
  4. 依賴明確化:使用 After=、Requires=、Wants= 定義啟動順序
  5. 資源限制:LimitNOFILE=、MemoryMax=、CPUQuota= 防止單服務耗盡資源
  6. 日誌集中化:統一轉發至 journald/rsyslog/ELK,設定保留策略
  7. 自動恢復:Restart=on-failure、RestartSec=5、StartLimitBurst=、StartLimitIntervalSec=
  8. 安全啟動:UEFI Secure Boot + 核心模組簽名 + IMA/EVM 完整性度量

六、服務狀態診斷指令

systemctl status  -l          # 詳細狀態
systemctl list-dependencies   # 依賴樹
systemctl cat                 # 查看 Unit 檔內容
systemctl show                # 所有屬性
journalctl -u  -f             # 即時日誌
journalctl -u  --since "1 hour ago" -p err..crit
systemd-analyze verify        # 配置語法檢查
systemd-analyze plot > boot.svg        # 啟動耗時火焰圖
copyright © 萬盛學電腦網 all rights reserved