Solaris のシステム管理 (セキュリティサービス)

Procedureroot ユーザーを役割にする方法

この手順では、ログインユーザーから役割へ root を変更する方法を示します。この手順を完了すると、シングルユーザーモード以外では、root としてシステムに直接ログインできなくなります。root 役割が割り当てられていることと、su コマンドによって root になることが必要です。

root ユーザーを役割に変更することにより、匿名の root ログインを防ぎます。ユーザーは、ログインroot 役割を引き受ける必要があるため、ユーザーのログイン ID が監査サービスに提供され、sulog ファイルに含められます。

この手順では、ローカルユーザーを作成し、このユーザーに root 役割を割り当てます。ユーザーがこの役割を引き受けることを防ぐには、例 9–8 を参照してください。

始める前に

root として直接ログインすると、この手順は実行できません。自分のユーザー名でログイン後、su コマンドによって root になる必要があります。

  1. 通常のユーザーとして、対象のシステムにログインします。

  2. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  3. root 役割を引き受けることができるローカルユーザーを作成します。

    安全のために、少なくとも 1 人のローカルユーザーを root 役割に割り当ててください。


    $ useradd -c comment -u uid -d homedir username
    
    -c comment

    ユーザーについて説明するコメントです。

    -d homedir

    ユーザーのホームディレクトリです。このディレクトリはローカルシステム上にあります。

    -u uid

    ユーザーの識別番号です。

    username

    新しいローカルユーザーの名前です。


    # useradd -c "JDoe's local account" -u 123 -d /export/home1 jdoe-local
    
  4. ユーザーにパスワードを与えます。


    # passwd -r files jdoe-local
    New Password:    <Type password>
    Re-enter new Password: <Retype password>
    passwd: password successfully changed for jdoe-local
    #
  5. 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)
  6. root ユーザーを役割に変更します。


    # usermod -K type=role root
    
  7. root が役割であることを確認します。

    user_attr ファイルの root エントリは、次のようになります。


    # grep root /etc/user_attr
    root::::type=role;auths=solaris.*,solaris.grant;profiles=...
  8. root 役割を自分のローカルアカウントに割り当てます。


    # usermod -R root jdoe-local
    

    注意 – 注意 –

    root 役割をユーザーに割り当てないと、シングルユーザーモード以外では誰もスーパーユーザーになれなくなります。シングルユーザーモードに入るには、root パスワードを入力する必要があります。


  9. 失敗した場合に返されるようにネームサービスを構成します。

    1. 新しい端末ウィンドウを開き、root 役割を引き受けます。


      % whoami
      jdoe
      % su - jdoe-local
      Enter password:   <Type jdoe-local password>
      % roles
      root
      % su - root
      Enter password:   <Type root password>
      #
    2. nsswitch.conf ファイルを編集します。

      たとえば、nsswitch.conf ファイルの次のエントリによって、ネームサービスを返すことができます。


      passwd:  files nis [TRYAGAIN=0 UNAVAIL=return NOTFOUND=return]
      group:  files nis [TRYAGAIN=0 UNAVAIL=return NOTFOUND=return]
  10. (省略可能) root 役割をネームサービスで選択されたユーザーアカウントに割り当てます。

    この手順については、「ユーザーの RBAC プロパティーを変更する方法」を参照してください。


例 9–8 root 役割がシステムの構成に使用されることを防ぐ

この例では、システムの構成にはいくつかの個別の役割を使用するように、サイトのセキュリティーポリシーで要求します。これらの個別の役割はすでに作成され、テストされています。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=...


例 9–9 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=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 ユーザーを役割に変更し、次の割り当てのいずれかを実行できない場合、スーパーユーザーになることはできません。