このセクションでは、役割とユーザーを作成および変更するコマンドについて説明します。権利プロファイルを作成または変更するには、権利プロファイルを作成する方法および システム権利プロファイルをクローニングおよび変更する方法を参照してください。
役割の詳細については、ユーザー権利およびプロセス権利の基本情報を参照してください。
役割とユーザーの作成または変更における主なアクションを次に示します。
役割の作成
信頼できるユーザーの作成
役割の権利の変更
ユーザーの権利の変更
ユーザー独自のパスワードを使用した役割の引き受けの有効化
役割のパスワードの変更
役割の削除
役割を使用する場合にはさまざまなオプションがあります。ARMOR から事前定義の役割をインストールし、排他的に使用できます。また、役割を作成してパスワードを指定することもできます。ARMOR の役割と作成した役割をあわせて使用できます。
ARMOR の役割を使用するには、Example 3–1 を参照してください。
ユーザー独自の役割を作成するには、roleadd コマンドを使用します。このコマンドのすべての引数のリストについては、roleadd(1M) のマニュアルページを参照してください。
たとえば次のコマンドは、ローカルの User Administrator 役割とホームディレクトリ、pfbash ログインシェルを作成し、その役割のパスワードを作成します。
# roleadd -c "User Administrator role, local" \ -m -K profiles="User Security,User Management" useradm 80 blocks # ls /export/home/useradm local.bash_profile local.login local.profile # passwd useradm Password: xxxxxxxx Confirm Password: xxxxxxxx
各情報の意味は次のとおりです。
役割を記述します。
ホームディレクトリを作成します。
1 つまたは複数の権利プロファイルを役割に割り当てます。権利プロファイルのリストについては、権利プロファイルの一覧表示を参照してください。
役割の名前です。許容される文字列の制限については、roleadd(1M) のマニュアルページを参照してください。
この例では、セキュリティー管理者が ARMOR 標準により定義されている役割をインストールします。管理者は最初に、役割名が既存のアカウントと競合していないことを確認してから、パッケージのインストール、役割定義の表示、および信頼できるユーザーへの役割の割り当てを行います。
管理者は最初に、次の UID と名前がネームサービスに存在していないことを確認します。
57 auditadm
55 fsadm
58 pkgadm
53 secadm
56 svcadm
59 sysop
54 useradm
管理者は UID と名前が使用されていないことを確認してから、パッケージをインストールします。
# pkg install system/security/armor
このパッケージは、7 つの役割とローカルホームディレクトリを /export/home ディレクトリに作成します。
各役割の権利を確認するため、管理者は各役割に割り当てられているプロファイルを一覧表示できます。
# profiles auditadm # profiles fsadm # profiles pkgadm # profiles secadm # profiles svcadm # profiles sysop # profiles useradm
これらの権利割り当ては変更できません。別の権利構成を作成するには、新しい役割を作成してから、システム権利プロファイルをクローニングおよび変更する方法の手順に従って新しい権利プロファイルを作成する必要があります。
最後に、管理者は信頼できるユーザーに役割を割り当てます。役割の認証にはユーザー独自のパスワードが使用されます。一部のユーザーには複数の役割が割り当てられます。時間的制約のあるタスクを持つ役割は、複数の信頼できるユーザーに割り当てられます。
# usermod -R=auditadm adal # usermod -R=fsadm,pkgadm bdewey # usermod -R=secadm,useradm cfoure # usermod -R=svcadm ghamada # usermod -R=svcadm yjones # usermod -R=sysop hmurtha # usermod -R=sysop twong使用例 3-2 LDAP リポジトリでの User Administrator 役割の作成
管理者は LDAP 内に User Administrator 役割を作成します。ユーザーは役割を引き受けるときにパスワードを入力するため、個々のコマンドにパスワードを入力する必要がなくなります。
# roleadd -c "User Administrator role, LDAP" -m -S ldap \ -K profiles="User Security,User Management" useradm使用例 3-3 責務を分離するための役割の作成
管理者は 2 つの役割を作成します。usermgt 役割は、ユーザーを作成したり、ユーザーにホームディレクトリを提供したり、その他のセキュリティー以外のタスクを実行したりできます。usersec 役割は、ユーザーの作成はできませんが、パスワードの割り当てとほかの権利の割り当て変更は実行できます。いずれの役割でも、ユーザーまたは役割の監査フラグの設定や、役割のパスワードの変更はできません。これらのアクションは root 役割が実行する必要があります。
# roleadd -c "User Management role, LDAP" -s /usr/bin/pfksh \ -m -S ldap -K profiles="User Management" usermgt # roleadd -c "User Security role, LDAP" -s /usr/bin/pfksh \ -m -S ldap -K profiles="User Security" usersec
管理者は、Example 3–5 の通常のユーザーをすべて作成するには 2 人のユーザーが必要であると確認できます。
使用例 3-4 暗号化サービス管理のための役割の作成と割り当てこの例では、LDAP ネットワーク上の管理者が暗号化フレームワークを管理するための役割を作成して、その役割を UID 1111 に割り当てます。
# roleadd -c "Cryptographic Services manager" \ -g 14 -m -u 104 -S ldap -K profiles="Crypto Management" cryptmgt # passwd cryptmgt New Password: xxxxxxxx Confirm password: xxxxxxxx # usermod -u 1111 -R +cryptmgt
UID が 1111 のユーザーは、ログイン後にその役割を引き受けて、割り当てられている権利を表示します。
% su - cryptmgt Password: xxxxxxxx # profiles -l Crypto Management /usr/bin/kmfcfg euid=0 /usr/sbin/cryptoadm euid=0 /usr/sfw/bin/CA.pl euid=0 /usr/sfw/bin/openssl euid=0 #
暗号化フレームワークについては、Oracle Solaris 11.2 での暗号化と証明書の管理 の第 1 章暗号化フレームワークを参照してください。フレームワークを管理するには、Oracle Solaris 11.2 での暗号化と証明書の管理 の暗号化フレームワークの管理を参照してください。
ログインを作成するには useradd コマンドを使用します。useradd コマンドのすべての引数のリストについては、useradd(1M) のマニュアルページを参照してください。このコマンドの権利関連の引数は roleadd コマンドと同じですが、さらに –R rolename オプションがあります。
役割をユーザーに割り当てる場合、ユーザーはその役割を引き受けたあとでその役割の権利を使用できます。たとえば次のコマンドは、信頼できるユーザーのログインの作成で作成した useradm 役割を引き受けることが可能な信頼できるユーザーを作成します。
# useradd -c "Trusted Assistant User Manager user" -m -R useradm jdoe 80 blocks # ls /export/home/jdoe local.bash_profile local.login local.profile
username のログインシェルを決定します。このシェルは pfbash などのプロファイルシェルにできます。信頼できるユーザーにプロファイルシェルを割り当てる理由については、権利の割り当てにおける操作性に関する考慮事項を参照してください。プロファイルシェルのリストについては、pfexec(1) のマニュアルページを参照してください。
既存の役割の名前を割り当てます。
その他の例については、Oracle Solaris 11.2 のユーザーアカウントとユーザー環境の管理 のCLI を使用したユーザーアカウントの設定と管理のタスクマップを参照してください。
ユーザーアカウントを変更するには、usermod コマンドを使用します。usermod コマンドのすべての引数のリストについては、usermod(1M) のマニュアルページを参照してください。このコマンドの権利関連の引数は useradd コマンドと同じです。
権利プロファイルをユーザーに割り当てると、そのユーザーはプロファイルシェルを開いたあとで権利を使用できます。たとえば、ユーザーに権利プロファイルを割り当てます。
# usermod -K profiles="User Management" kdoe
これらの変更は、そのユーザーの次回のログイン時に有効になります。ユーザーが割り当てられている権利を使用する方法を習得する場合は、割り当てられている管理権利の使用を参照するように指示してください。
使用例 3-5 ユーザーへの役割の割り当てこの例では、通常のユーザーを作成するために 2 人の信頼できるユーザーが必要であることを管理者が確認します。役割はExample 3–3 で作成されたものです。
# usermod -R +useradm jdoe # usermod -R +usersec mdoe
役割アカウントを変更するには、rolemod コマンドを使用します。rolemod コマンドのすべての引数のリストについては、rolemod(1M) のマニュアルページを参照してください。このコマンドの権利関連の引数は roleadd コマンドと同じです。
key=value ペアの値と、–A、–P、および –R オプションは、マイナス記号 (–) またはプラス記号 (–) を使用して変更できます。– 記号は、現在割り当てられている値から値を引くことを示します。– 記号は、現在割り当てられている値に値を加えることを示します。権利プロファイルの場合、値は現在のプロファイルリストの先頭に付加されます。権利プロファイルが先の順序であることの影響については、割り当てられた権利の検索順序を参照してください。
使用例 3-6 役割の最初の権利プロファイルとしての権利プロファイルの追加たとえば、useradm 役割の先頭に権利プロファイルを付加します。
# rolemod -K profiles+="Device Management" useradm # profiles useradm useradm: Device Management User Management User Security使用例 3-7 ローカル役割に割り当てられているプロファイルの置換
この例では、セキュリティー管理者が prtmgt 役割を変更し、Printer Management プロファイルの後に VSCAN Management 権利プロファイルを組み込みます。
# rolemod -c "Handles printers and virus scanning" \ -P "Printer Management,VSCAN Management,All" prtmgt使用例 3-8 役割への特権の直接割り当て
この例では、セキュリティー管理者は、システム時間に影響を及ぼすきわめて特殊な特権を realtime 役割に委ねます。特権をユーザーに割り当てるには、Example 3–14 を参照してください。
# rolemod -K defaultpriv+='proc_clock_highres' realtime
defaultpriv キーワードの値は、常にその役割のプロセスに含まれる特権のリスト内にあります。
ユーザーが役割を引き受けるときに役割のパスワードではなくユーザー独自のパスワードを使用できるようにするには、その役割を変更します。
次のコマンドは、useradm 役割が割り当てられているすべてのユーザーが、useradm 役割を含め、割り当てられている任意の役割を引き受けるときに、ユーザー独自のパスワードを使用できるようにします。
# rolemod -K roleauth=user useradm
役割は多数のユーザーに割り当てることができるため、役割が割り当てられているユーザーは、その役割のパスワードを変更できません。役割のパスワードを変更するには root 役割である必要があります。
# passwd useradm Enter useradm's password: xxxxxxxx New: xxxxxxxx Confirm: xxxxxxxx
リポジトリを指定しない場合は、すべてのリポジトリでパスワードが変更されます。
コマンドオプションの詳細については、passwd(1) のマニュアルページを参照してください。
使用例 3-9 特定リポジトリでの役割のパスワードの変更次の例では、root 役割がローカル devadmin 役割のパスワードを変更します。
# passwd -r files devadmin New password: xxxxxxxx Confirm password: xxxxxxxx
次の例では、root 役割が LDAP ネームサービス内で devadmin 役割のパスワードを変更します。
# passwd -r ldap devadmin New password: xxxxxxxx Confirm password: xxxxxxxx
役割を削除すると、その役割は即時に使用不可になります。
# roledel useradm
役割の管理タスクを現在実行しているユーザーは、続行できなくなります。profiles コマンドは次の出力を表示します。
useradm # profiles Unable to get user name