Go to main content
Oracle® Solaris 11.3 でのユーザーとプロセスのセキュリティー保護

印刷ビューの終了

更新: 2016 年 11 月
 
 

割り当てられている管理権利の使用

root 役割では、初期ユーザーにすべての管理権限が与えられます。このユーザーは root として、役割、権利プロファイル、特定の特権などの管理権利と承認を信頼できるユーザーに割り当てることができます。このセクションでは、このようなユーザーが各自に割り当てられている権利を使用する方法を説明します。


注 -  Oracle Solaris には管理ファイル用の特殊なエディタがあります。管理ファイルを編集するときには pfedit コマンドを使用します。使用例 40は、root 以外のユーザーが指定したシステムファイルを編集できるようにする方法を示しています。

管理タスクを実行するには、端末ウィンドウを開いて次のオプションのいずれかを選択します。

  • sudo を使用する場合は、sudo コマンドを入力します。

    sudo コマンドを使い慣れている管理者の場合は、sudoers ファイルで管理者に割り当てられている管理コマンドの名前を使用してこのコマンドを実行します。詳細は、sudo(1m) および sudoers(4) のマニュアルページを参照してください。

  • タスクにスーパーユーザー特権が必要な場合は、root になります。

    % su -
    Password: xxxxxxxx
    #

    注 -  このコマンドは、root がユーザーまたは役割のいずれであっても機能します。ポンド記号 (#) のプロンプトは、ユーザーが現在 root であることを示します。
  • タスクが役割に割り当てられている場合、そのタスクを実行できる役割を引き受けます。

    次の例では、監査構成の役割になります。この役割には、Audit Configuration 権利プロファイルが含まれています。管理者からこの役割のパスワードを受け取っています。

    % su - audadmin
    Password: xxxxxxxx
    #

    ヒント  -  役割のパスワードを受け取っていない場合は、管理者が、ユーザーのパスワードを求めるように役割を構成しています。役割を引き受けるには、ユーザーパスワードを入力します。このオプションの詳細については、使用例 18を参照してください。

    このコマンドを入力したシェルは、プロファイルシェルになりました。このシェルでは、auditconfig コマンドを実行できます。プロファイルシェルの詳細については、プロファイルシェルと権利の検証を参照してください。


    ヒント  -  役割の権利を表示するには、権利プロファイルの一覧表示を参照してください。
  • 自身のタスクがユーザーとして自身に直接割り当てられ、使用例 71で説明しているようにプロファイルシェルを実行していない場合は、次のいずれかの方法でプロファイルシェルを作成してください。

    • pfbash コマンドを使用して、管理権利を評価するシェルを作成します。

      次の例では、Audit Configuration 権利プロファイルがユーザーに直接割り当てられています。次のコマンドセットにより、pfbash プロファイルシェルで監査事前選択値と監査ポリシーを表示できます。

      % pfbash
      # auditconfig -getflags
      active user default audit flags = ua,ap,lo(0x45000,0x45000)
      configured user default audit flags = ua,ap,lo(0x45000,0x45000)
      # auditconfig -getpolicy
      configured audit policies = cnt
      active audit policies = cnt
    • 1 つの管理コマンドを実行するには、pfexec コマンドを使用します。

      次の例では、Audit Configuration 権利プロファイルが認証権利プロファイルとしてユーザーに直接割り当てられています。特権付きコマンドの名前を指定した pfexec コマンドを使用して、このプロファイルからその特権付きコマンドを実行できます。たとえば、ユーザーの事前選択監査フラグを表示できます。

      % pfexec auditconfig -getflags
      Enter password: Type your user password
      active user default audit flags = ua,ap,lo(0x45000,0x45000)
      configured user default audit flags = ua,ap,lo(0x45000,0x45000)

      一般に、権利に含まれている別の特権付きコマンドを実行するには、その特権付きコマンドを入力する前に、pfexec を再度入力する必要があります。詳細は、pfexec(1) のマニュアルページを参照してください。パスワードキャッシュを使用して構成されている場合は、使用例 41に示すように、構成可能な期間内ではパスワードを入力せずに後続のコマンドを実行できます。

使用例 40  システムファイルの編集

0 の UID を持つ root でない場合は、デフォルトでは、システムファイルを編集できません。ただし、solaris.admin.edit/path-to-system-file 承認が割り当てられている場合は、system-file を編集できます。たとえば solaris.admin.edit/etc/security/audit_warn 承認が割り当てられている場合は、pfedit コマンドを使用して audit_warn ファイルを編集できます。

# pfedit /etc/security/audit_warn

詳細は、 pfedit (4) のマニュアルページを参照してください。このコマンドは、すべての管理者が使用できます。

使用例 41  役割の使用を容易にするために認証をキャッシュする

この例では、監査構成を管理するための役割を管理者が構成しますが、ユーザーの認証をキャッシュすることで使用が容易になります。最初に、管理者は役割を作成して割り当てます。

# roleadd -K roleauth=user -K profiles="Audit Configuration" audadmin
# usermod -R +audadmin jdoe

jdoe が、その役割に切り替えるときに –c オプションを使用した場合は、auditconfig の出力が表示される前にパスワードが必要になります。

% su - audadmin -c auditconfig option
Password: xxxxxxxx 
auditconfig output

認証がキャッシュされない場合は、jdoe がコマンドを再度実行するときにパスワードプロンプトが表示されます。

管理者が、認証のキャッシュを有効にする su スタックを保持するファイルを、pam.d ディレクトリに作成します。認証をキャッシュするときには、初回はパスワードが必要ですが、その後は一定の時間が経過するまでは、パスワードは不要です。

# pfedit /etc/pam.d/su
## Cache authentication for switched user
#
auth required           pam_unix_cred.so.1
auth sufficient         pam_tty_tickets.so.1
auth requisite          pam_authtok_get.so.1
auth required           pam_dhkeys.so.1
auth required           pam_unix_auth.so.1

このファイルを作成したあと、管理者は、各エントリにタイポ、脱字、または繰り返しがないかチェックします。

管理者は、前の su スタック全体を提供する必要があります。pam_tty_tickets.so.1 モジュールにはキャッシュが実装されています。PAM の詳細については、pam_tty_tickets(5) および pam.conf(4) のマニュアルページとOracle Solaris 11.3 での Kerberos およびその他の認証サービスの管理 の 第 1 章, プラグイン可能認証モジュールの使用を参照してください。

管理者が su PAM ファイルを追加してシステムをリブートしたあと、audadmin 役割を含むすべての役割は、一連のコマンドを実行しているときに 1 回だけパスワードの入力を要求されます。

% su - audadmin -c auditconfig option
Password: xxxxxxxx 
auditconfig output
% su - audadmin -c auditconfig option 
auditconfig output
...
使用例 42  root 役割になる

次の例では、最初のユーザーが root 役割になり、その役割のシェルで特権を一覧表示します。

% roles
root
% su - root
Password: xxxxxxxx
# Prompt changes to root prompt
# ppriv $$
1200:   pfksh
flags = <none>
        E: all
        I: basic
        P: all
        L: all

特権については、プロセス権管理および ppriv(1) のマニュアルページを参照してください。

使用例 43  ARMOR 役割の引き受け

この例では、ユーザーは管理者が割り当てた ARMOR 役割を引き受けます。

端末ウィンドウで、ユーザーは割り当てられている役割を確認します。

% roles
fsadm
sysop

その後ユーザーは fsadm 役割を引き受け、ユーザーパスワードを入力します。

% su - fsadm
Password: xxxxxxxx
#

su - rolename コマンドは、端末のシェルをプロファイルシェルに変更します。これでユーザーは、この端末ウィンドウで fsadm 役割になりました。

この役割で実行できるコマンドを確認するため、ユーザーは 権利プロファイルの一覧表示の手順に従います。