作為一個運維,你應該將這些默認且不必要的系統服務禁用
今天分享一下如何關閉一些不必要的系統服務,這是運維工程師必知優化內容。禁用和移除不必要的服務,以達到節省系統資源、強化安全、優化啟動性能的目的。
本文主要以rockyLinux為例,同樣適用其他redhat其他發行版。
1. 查看服務狀態
(1) 查看所有服務狀態
systemctl list-unit-files --type=service
(2) 查看當前運行服務
systemctl | grep running
(3) 查看高內存/CPU消耗的進程
ps aux --sort=-%mem | head -n 15
ps aux --sort=-%cpu | head -n 15
以上操作主要排查哪些系統服務在啟動并占用多少資源,具體可以要看你的系統版本,可能有略微差異
2. 常見可禁用服務列表
以下服務可根據具體用途安全禁用,尤其是在無圖形界面、無打印、無藍牙、無郵件功能的最小化服務器場景中。
服務名 | 默認狀態 | 是否可禁用 | 用途說明 |
| enabled | 可禁用 | 打印服務(大多數服務器不需要) |
| enabled | 可禁用 | 藍牙(通常服務器無此功能) |
| enabled | 可禁用 | Zeroconf(局域網服務發現) |
| enabled | 可禁用 | 適用于調制解調器設備 |
| enabled | 可禁用 | 本地郵件傳輸代理(如不發送系統郵件) |
| enabled | 按需保留 | 防火墻(如使用外部防火墻可關閉) |
tuned | enabled | 可禁用 | 動態性能調優服務(對于固定用途服務器可關閉) |
auditd | enabled | 視情況 | 安全審計服務,用于記錄系統調用、日志(開發環境可以禁用) |
polkit | enabled | 小心禁用 | 控制非特權用戶訪問管理任務的權限(圖形界面或需用戶授權命令的系統保留,服務器可評估禁用) |
mclog | enabled | 可禁用 | 記錄 x86 CPU 硬件錯誤(無特殊硬件需求時可禁) |
irqbalance | enabled | 可禁用 | 多核 CPU 中自動均衡中斷負載的服務(對于單 CPU 或低負載服務器可禁) |
不一定每個服務器都有這些服務,這個看你之前的具體操作系統和部署方式。
3. 禁用不必要服務
systemctl stop cups avahi-daemon bluetooth ModemManager postfix
systemctl disable cups avahi-daemon bluetooth ModemManager postfix
4. 卸載服務軟件包
這個是可選,僅關閉也可以,將服務停止就不會被掃描到相應的系統,提高了安全性。
dnf cups avahi-daemon bluetooth ModemManager postfix -y
5. 檢查是否禁用成功
systemctl is-enabled cups
systemctl status cups
或者:
systemctl list-unit-files | grep enabled | grep cups
禁用時應該在測試環境先處理,避免出現異常操作導致無法登錄。