Solaris のシステム管理 (上級編)

ソフトウェアの問題解決に関する新機能

この節では、Solaris 9 リリースでの新機能について説明します。

新しいシステムログローテーション

Solaris 9 リリースでは、システムログファイルローテーションが、ルートの crontab ファイルのエントリから logadm コマンドによって実行されます。 /usr/lib/newsyslog スクリプトは使用されません。

この新しいシステムログローテーションは、 /etc/logadm.conf ファイルに定義されます。このファイルには、syslogd などのプロセスのログローテーションエントリが含まれています。 たとえば、/etc/logadm.conf ファイルにある 1 つのエントリは、/var/log/syslog ファイルが空でなければ、そのローテーションが毎週実行されます。つまり、最新の syslog ファイルが syslog.0 になり、その次に新しい syslog ファイルが syslog.1 になります。最新からさかのぼって 8 つまでの syslog ログファイルが保存されます。

また、/etc/logadm.conf ファイルには、最後のログローテーション実行時のタイムスタンプも含まれます。

logadm コマンドを使用して、必要に応じてシステムログをカスタマイズしたり、/etc/logadm.conf ファイルにログを追加したりすることができます。

たとえば、Apache アクセスとエラーログのローテーションを実行するには、次のコマンドを使用します。


# logadm -w /var/apache/logs/access_log -s 100m
# logadm -w /var/apache/logs/error_log -s 10m

この例では、Apache の access_log ファイルのローテーションは、そのサイズが 100 MB に達したときに実行され、そのファイル名に .0 .1 などのように接尾辞が付けられます。また、古い access_log ファイルのコピーが 10 個保存されます。また、error_log のローテーションは、そのサイズが 10 MB に達したときに実行され、access_log ファイルと同様に、接尾辞が付けられ、コピーが作成されます。

前述の Apache ログローテーションの例における /etc/logadm.conf エントリの例は、次のようになります。


# cat /etc/logadm.conf
.
.
.
/var/apache/logs/error_log -s 10m
/var/apache/logs/access_log -s 100m

詳細については、logadm(1M) のマニュアルページを参照してください。

スーパーユーザーでログインするか、同等の役割 (ログ管理の権限を持つ) でアクセスすることによって、logadm コマンドを使用できます。役割によるアクセス制御 (RBAC) を設定すれば、logadm コマンドへのアクセス権を与えることで、ルート以外のユーザーにログ管理の権限を与えることができます。

たとえば、次のエントリを /etc/user_attr ファイルに追加して、logadm コマンドを使用できる andy をユーザーに与えます


andy::::profiles=Log Management

または、Solaris 管理コンソールを使用して、ログ管理の役割を設定できます。役割の設定に関する詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「役割によるアクセス制御 (概要)」を参照してください。

新しい root アカウントに対するシェルのフォールバック

Solaris の前のリリースでは、root のシェルを存在しないシェルに変更すると、CD またはネットワークからシステムをブートし、/etc/passwd ファイルにある root シェルを修正する必要がありました。

Solaris 9 リリースでは、root に存在しないシェルを間違って入力しても、次のいずれかを実行すると、root のシェルが自動的に /sbin/sh にフォールバックされます。

詳細については、su(1M) のマニュアルページを参照してください。