目次
概要
Rocky Linux(RHEL系)では、サービス管理に systemctl を使用します。このガイドでは、サービスの状態確認から、不要サービスの停止・無効化、さらにセキュリティ観点でのチェックポイントまでを整理しています。
1. サービスの状態を確認する
■ 稼働中(ACTIVE)のサービス一覧を表示
systemctl -t service
✔ 出力の見方
| 項目 | 意味 |
|---|---|
| LOAD | ユニット定義が正しく読み込まれたか |
| ACTIVE | 高レベルの稼働状態(active / inactive) |
| SUB | 詳細な状態(running / exited など) |
■ インストールされている全サービス一覧
systemctl list-unit-files -t service
✔ 出力の見方
| STATE | 意味 |
|---|---|
| enabled | 起動時に自動起動する |
| disabled | 自動起動しない |
| static | 単体では起動せず、他のユニットから呼ばれる |
| masked | 完全に無効化(起動不可) |
■ 現在enabledになっているサービスだけを絞り込む
systemctl list-unit-files -t service --state=enabled
ポイント
サーバー構築後は一度この一覧を確認し、「なぜこのサービスが動いているのか説明できるか」をチェックする習慣をつけると、不要なサービスの見落としを防げます。
2. 不要なサービスを停止・無効化する
例として、bluetooth サービスを停止し、起動時に自動起動しないようにします。
精査メモ:練習台のサービス選びについて
以前の版では例として smartd(ディスクの健康状態を監視するS.M.A.R.T.サービス)を停止対象にしていましたが、これは物理サーバーではむしろ有効にしておきたい監視系サービスです。実機で確認したところ、このサーバーでも smartd は現在 enabled/active(稼働中)でした。無効化の練習台としては不適切なため、サーバー用途では通常不要な bluetooth に差し替えています。
■ サービスを停止(今すぐ止める)
sudo systemctl stop bluetooth
■ 自動起動を無効化(次回以降の起動を止める)
sudo systemctl disable bluetooth
3. よく使うsystemctlコマンド一覧(保存版)
| 操作 | コマンド |
|---|---|
| サービスの状態確認 | systemctl status サービス名 |
| サービスを開始 | systemctl start サービス名 |
| サービスを停止 | systemctl stop サービス名 |
| 再起動 | systemctl restart サービス名 |
| 自動起動を有効化 | systemctl enable サービス名 |
| 自動起動を無効化 | systemctl disable サービス名 |
| 自動起動の状態確認 | systemctl is-enabled サービス名 |
| 起動不可にする(最強の無効化) | systemctl mask サービス名 |
4. サービス管理のポイント
- 不要なサービスは停止+無効化しておくと、セキュリティとパフォーマンスが向上します。
staticのサービスは他のユニットから呼ばれるため、通常は無効化しません。- 変更後は
statusで状態を確認すると安心です。
5. RHEL/Rocky系でよく無効化されるサービス一覧
サーバー用途(headless運用)では、以下のようなデスクトップ/周辺機器向けサービスが不要なケースが多く見られます。ご自身の環境に応じて要否を判断してください。
| サービス名 | 用途 | 無効化の目安 |
|---|---|---|
bluetooth | Bluetooth通信 | サーバー用途では通常不要(本サイトのサーバーでも現在enabled) |
cups | 印刷(プリンタ管理) | プリンタを使わないサーバーでは不要 |
avahi-daemon | mDNSによるローカルネットワーク自動検出 | 外部DNS(Unbound等)で名前解決している構成では不要な場合が多い |
ModemManager | モバイル通信モデム管理 | サーバーでは通常不要 |
確認方法
サービスがそもそもインストールされていない場合は systemctl is-enabled サービス名 が「見つかりません」といったエラーになります。エラーが出た場合はそのサービス自体が存在しないため、対応不要です。
6. セキュリティ観点での推奨設定
- アタックサーフェスの削減:使っていない待受サービス(ネットワークポートを開くもの)は積極的に停止・無効化し、外部から狙われる面を減らします。
- 監視系サービスは逆に維持:
smartd(ディスク監視)、auditd(監査ログ)、rsyslog(ログ収集)、fail2ban(不正アクセス検知)のような監視・防御系サービスは、無効化するのではなくむしろ有効化を維持すべきです。 - maskの活用:誤って再度有効化されたくない重要なサービスは、
disableだけでなくsystemctl mask サービス名を使うと、他のユニットからの依存関係経由での起動も含めて完全にブロックできます。 - 定期的な棚卸し:
systemctl list-unit-files --state=enabledを定期的に見直し、「なぜ有効なのか説明できないサービス」が増えていないか確認する習慣をつけましょう。
📌 まとめ
このガイドを使えば、
- サービスの一覧確認
- 稼働中サービスの把握
- 不要サービスの停止・無効化
- RHEL系でよく無効化されるサービスの見極め
- セキュリティ観点での運用ポイントの理解
が一通りできるようになります。