この手順では、ログインユーザーから役割へ root を変更する方法を示します。この手順を完了すると、シングルユーザーモード以外では、root としてシステムに直接ログインできなくなります。root 役割が割り当てられていることと、su コマンドによって root になることが必要です。
root ユーザーを役割に変更することにより、匿名の root ログインを防ぎます。ユーザーは、ログイン後、root 役割を引き受ける必要があるため、ユーザーのログイン ID が監査サービスに提供され、sulog ファイルに含められます。
この手順では、ローカルユーザーを作成し、このユーザーに root 役割を割り当てます。ユーザーがこの役割を引き受けることを防ぐには、例 9–8 を参照してください。
root として直接ログインすると、この手順は実行できません。自分のユーザー名でログイン後、su コマンドによって root になる必要があります。
通常のユーザーとして、対象のシステムにログインします。
Primary Administrator 役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
root 役割を引き受けることができるローカルユーザーを作成します。
安全のために、少なくとも 1 人のローカルユーザーを root 役割に割り当ててください。
$ useradd -c comment -u uid -d homedir username |
ユーザーについて説明するコメントです。
ユーザーのホームディレクトリです。このディレクトリはローカルシステム上にあります。
ユーザーの識別番号です。
新しいローカルユーザーの名前です。
# useradd -c "JDoe's local account" -u 123 -d /export/home1 jdoe-local |
ユーザーにパスワードを与えます。
# passwd -r files jdoe-local New Password: <Type password> Re-enter new Password: <Retype password> passwd: password successfully changed for jdoe-local # |
root としてログインしていないことを確認します。
# who jdoe console May 24 13:51 (:0) jdoe pts/5 May 24 13:51 (:0.0) jdoe pts/4 May 24 13:51 (:0.0) jdoe pts/10 May 24 13:51 (:0.0) |
root ユーザーを役割に変更します。
# usermod -K type=role root |
root が役割であることを確認します。
user_attr ファイルの root エントリは、次のようになります。
# grep root /etc/user_attr root::::type=role;auths=solaris.*,solaris.grant;profiles=... |
root 役割を自分のローカルアカウントに割り当てます。
# usermod -R root jdoe-local |
root 役割をユーザーに割り当てないと、シングルユーザーモード以外では誰もスーパーユーザーになれなくなります。シングルユーザーモードに入るには、root パスワードを入力する必要があります。
失敗した場合に返されるようにネームサービスを構成します。
新しい端末ウィンドウを開き、root 役割を引き受けます。
% whoami jdoe % su - jdoe-local Enter password: <Type jdoe-local password> % roles root % su - root Enter password: <Type root password> # |
nsswitch.conf ファイルを編集します。
たとえば、nsswitch.conf ファイルの次のエントリによって、ネームサービスを返すことができます。
passwd: files nis [TRYAGAIN=0 UNAVAIL=return NOTFOUND=return] group: files nis [TRYAGAIN=0 UNAVAIL=return NOTFOUND=return] |
(省略可能) root 役割をネームサービスで選択されたユーザーアカウントに割り当てます。
この手順については、「ユーザーの RBAC プロパティーを変更する方法」を参照してください。
この例では、システムの構成にはいくつかの個別の役割を使用するように、サイトのセキュリティーポリシーで要求します。これらの個別の役割はすでに作成され、テストされています。root アカウントがシステムの構成に使用されることを防ぐために、セキュリティー管理者は root を役割に変更し、ただしその役割を割り当てないようにします。シングルユーザーモードでシステムに入ることができるように、root 役割のパスワードは維持します。
管理者はまず、root が役割として割り当て済みでないことを確認します。
% whoami jdoe-local % su - root Password: a!2@3#4$5%6^7 # grep roles /etc/user_attr jdoe-local::::type=normal;roles=secadmin kdoe-local::::type=normal;roles=sysadmin |
引き続き root アカウントで、root を役割に変更します。
# usermod -K type=role root |
次に、user_attr ファイル内の root エントリの変更内容を確認します。
# grep root /etc/user_attr root::::type=role;auths=solaris.*,solaris.grant;profiles=... |
この例では、管理者はシステムの使用を停止し、スーパーユーザーとしてデスクトップにログインします。システムはすでにネットワークから削除されています。
管理者はまず、root 役割を引き受け、root 役割の割り当てをすべて削除します。
% whoami jdoe-local % su - root Password: a!2@3#4$5%6^7 # grep roles /etc/user_attr jdoe-local::::type=normal;roles=root kdoe-local::::type=normal;roles=root # usermod -R "" jdoe-local # usermod -R "" kdoe-local # grep roles /etc/user_attr # |
引き続き root 役割で、root をユーザーに変更します。
# rolemod -K type=normal root |
次に、user_attr ファイル内の root エントリの変更内容を確認します。
# grep root /etc/user_attr root::::type=normal;auths=solaris.*,solaris.grant;profiles=... |
デスクトップ環境では、root が役割の場合、root として直接ログインすることはできません。このシステム上で root が役割になっていることを示す診断メッセージが表示されます。root 役割を引き受けることのできるローカルアカウントがない場合は、ローカルアカウントを作成します。root としてシングルユーザーモードでシステムにログインし、ローカルユーザーアカウントを作成し、この新しいアカウントに root 役割を割り当てます。次に、この新しいユーザーでログインし、root 役割を引き受けます。
root ユーザーを役割に変更し、次の割り当てのいずれかを実行できない場合、スーパーユーザーになることはできません。
有効なユーザーに root 役割を割り当てます。
root の権利プロファイルと同等の権利プロファイルを、有効なユーザーに割り当てます。Primary Administrator プロファイルは、root の機能に相当する権利プロファイルです。
root の機能を持った役割を作成し、この役割を有効なユーザーに割り当てます。Primary Administrator プロファイルが割り当てられた役割は、root 役割と同等です。