第10章 サービスとデーモン

システムのセキュリティ維持管理は極めて重要なタスクです。そのアプローチの一つとして、システムサービスへのアクセスを慎重に管理することがあげられます。システムが特定のサービスにオープンアクセスを提供する必要がある場合があります (例えば Web サーバーを実行している場合は httpd など)。但し、サービスを提供する必要がない場合は、バグが悪用される可能性を最小限に抑えるためオフにしておくべきです。
本章では、ランレベルの概念、及びデフォルトのランレベルを設定する方法について説明します。又、ランレベルで実行するサービスの設定についても取り上げ、コマンドラインで service コマンドを使用したサービスの起動、停止、再起動の方法についても説明します。

重要

新たなサービス用にアクセスを許可する場合は、ファイアウォールと SELinux の両方を設定する必要があることを常に念頭に置いて下さい。新規サービスの設定時に、最もよくあるミスの 1 つは、そのサービスへのアクセスを許可するのに必要なファイアウォール設定と SELinux ポリシーの実装を怠ってしまうことです。詳細は、Red Hat Enterprise Linux 6 『セキュリティガイド』 を参照して下さい。

10.1. デフォルトのランレベルの設定

ランレベル とは、状態または モード のことで、そのランレベルが選択された場合に実行されるサービスによって定義されます。番号が付いた 7 つのランレベルがあります (0 から始まります)。

表10.1 Red Hat Enterprise Linux でのランレベル

ランレベル 詳細
0 システムの停止に使用します。このランレベルは保持され、変更できません。
1 シングルユーザーモードでの実行に使用します。このランレベルは保持され、変更できません。
2 デフォルトでは使用されません。自由に定義できます。
3 コマンドラインユーザーインターフェースを使用するフルマルチユーザーモードでの実行に使用します。
4 デフォルトでは使用されません。自由に定義できます。
5 グラフィカルユーザーインターフェースを使用するフルマルチユーザーモードでの実行に使用します。
6 システムの再起動に使用します。このランレベルは保持され、変更できません。
どのランレベルで稼働しているかを確認するには、以下のコマンドを入力します:
~]$ runlevel
N 5
runlevel コマンドにより、以前と現在のランレベルが表示されます。上記の例では、数字の 5 が表示されており、システムはグラフィカルユーザーインターフェースを使用するフルマルチユーザーモードで実行されていることになります。
デフォルトのランレベルを変更するには、/etc/inittab ファイルを修正します。このファイルの終端の近くに、次のような行があります。
id:5:initdefault:
このファイルを root で編集し、この行の数字を、希望するランレベルに変更します。システムを再起動すると変更内容が反映されます。