実行レベルは、HP-UX の動作状態であり、各実行レベルでは特定のプロセスだけが実行を許可されます。これらのプロセスとデフォルトの実行レベルは、/etc/inittab ファイルで定義されます。
実行レベルは、以下のとおりです。
- 実行レベル s
システム管理者が使う動作モードです (シングルユーザー状態とも呼びます)。このモードは、システム管理者がシステムの保守作業を行っているときに、他のユーザーがシステムにログインできないようにします。この実行レベルでは、システムに唯一アクセスできるのは、ユーザー root によるシステムコンソール経由のアクセスです。システムで動作するプロセスは、システムコンソール上のシェル、/sbin/rc によって起動されるバックグラウンドデーモンプロセス、システム管理者が起動するプロセスに限定されます。/sbin/fsck のように、システムが非アクティブの状態で実行する必要があるコマンドは、実行レベル s で実行しなければなりません。
- 実行レベル 1
重要なシステムプロセスのサブセットを実行します。システム管理作業を行うために使うこともできます。
- 実行レベル 2
この動作モードは、通常マルチユーザー状態と呼ばれます。このモードでは、すべてのユーザーがシステムにアクセスすることができます。
- 実行レベル 3
NFS サーバーの場合。このモードでは、NFS サーバーとして NFS ファイルシステムを共有することができます。
CDE ユーザーの場合。このモードでは、CDE がアクティブになります。CDE は、HP-UX 10.30 以降のデフォルトのデスクトップです。
- 実行レベル 4
オプションのソフトウェアで使われることがあります。
デフォルトの実行レベルは、システムに応じて、通常は 3 または 4 です。CDE のデフォルトの実行レベルは 3 です。
init プロセスの現在の実行レベルを調べるには、次のコマンドを実行します。
# who -r
. run-level 3 Mar 5 12:01 3 0 S |
HP-UX が各実行レベルで起動するプロセスのシーケンスに対して、追加や変更を行うことができます。詳細は、『HP-UX システム管理者ガイド : 定型の管理作業』を参照してください。また、inittab(4) のマンページも参照してください。
システムコンソールからログインしたスーパーユーザーも、次のように、/sbin/init コマンドと /sbin/shutdown コマンドを使って現在の実行レベルを変更することができます。
現在ログインしているすべてのユーザーに対して警告を行います。システムの実行レベルを変更すると、新しい実行レベルにエントリーがないプロセスはすべて抹消されます。自動的に警告シグナルが送信された後、20 秒の猶予期間があります。
実行レベルs に変更するには、shutdown コマンドを使います。
実行レベルs 以外の実行レベルに変更するには、init コマンドを使います。
shutdown(1M) とinit(1M) を参照してください。
セキュリティを強化するために、ファイル /sbin/init と /etc/inittab のパーミッション (および所有権) は次のようにしてください。
# ll /sbin/init /etc/inittab
-r--r--r-- 1 root sys 2152 Oct 17 01:25 /etc/inittab
-r-xr-xr-x 1 bin bin 1968452 Oct 10 21:31 /sbin/init |
また、上記のように、inittab のサイズは数 KB、init のサイズは 1~2 MB となります。