マニュアルページセク ション 1M: システム管理コマンド

印刷ビューの終了

更新: 2014 年 7 月
 
 

roleadd(1M)

名前

roleadd - システムでの新しい役割アカウントの管理

形式

roleadd [-c comment] [-b base_dir | -d dir] [-e expire] [-f inactive] 
     [-g group] [-G group [, group...]] [-m [-k skel_dir]] 
     [-u uid [-o]] [-s shell] [-S repository]
     [-A authorization [,authorization...]] [-K key=value] role
roleadd -D [-b base_dir | -d dir] [-e expire] [-f inactive] 
     [-g group] [-A authorization [,authorization...]] 
     [-P profile [,profile...] [-K key=value]]

説明

roleadd は、–S オプションで指定された passwdshadow、および user_attr データベースに役割エントリを追加します。デフォルトのリポジトリは files です。–A および –P オプションは、それぞれ承認とプロファイルを役割に割り当てます。役割をほかの役割に割り当てることはできません。–K オプションは、役割の user_attrkey=value ペアを追加します。–K オプションを複数使用して、複数の key=value ペアを追加できます。

また、roleadd では必要に応じて、役割の補助グループメンバーシップを作成したり (–G オプション)、役割のホームディレクトリを作成したり (–m オプション) できます。新しい役割アカウントは、passwd(1) コマンドが実行されるまで、ロックされたままになります。

roleadd –D–g–b–f–e、または –K オプション (またはこれらのオプションを任意に組み合わせたもの) を指定すると、それぞれ対応するフィールドのデフォルト値を設定できます。–D オプションを参照してください。これ以降の roleadd コマンドを –D オプションなしで実行すると、これらの引数が使用されます。

このコマンドで作成されるシステムファイルエントリには、1 行あたり 512 文字の制限があります。複数のオプションに長い引数を指定する場合は、この制限を超える可能性があります。

役割 (role) フィールドは、英字、数字、ピリオド (.)、下線 (_)、およびハイフン (-) のセットに含まれる文字から成る、8 バイト以下の文字列を受け入れます。最初の文字は英字にし、フィールドには少なくとも 1 つの小文字の英字を含めるようにしてください。これらの制限が満たされていない場合は、警告メッセージが書き込まれます。Solaris の将来のリリースでは、これらの要件を満たさない役割フィールドは受け入れを拒否される可能性があります。

role フィールドには少なくとも 1 文字が含まれている必要があり、コロン (:) や復帰改行 (\n) が含まれていてはいけません。

新しい役割を作成するには、管理者に User Management プロファイルが付与されている必要があります。passwdshadow、および user_attr の各種フィールドの設定に必要な承認については、passwd(4)shadow(4)、および user_attr(4) を参照してください。グループの割り当てに必要な承認については、group(4) を参照してください。

オプション

サポートしているオプションは、次のとおりです。

–A authorization

auth_attr(4) で定義されている、コンマで区切られた 1 つ以上の承認。承認の grant 権を持っているユーザーまたは役割だけが、それをアカウントに割り当てることができます。

–b base_dir

–d dir が指定されていない場合のシステムのデフォルトベースディレクトリ。base_dir とアカウント名を連結することによってホームディレクトリが定義されます。–m オプションが使用されていない場合、base_dir は存在する必要があります。

–c comment

任意のテキスト文字列。通常、これは役割の簡単な説明です。この情報は、役割の passwd エントリに保存されます。

–d dir | server:dir

新しい役割のホームディレクトリのパスを指定します。サーバー名が指定されていない場合、指定されたディレクトリは passwd(4) データベースで管理されます。

省略可能なサーバー名は、ホストディレクトリがあるホストを指定します。この形式のエントリはオートマウンタに依存し、auto_home マップで管理されます。パス /home/usernamepasswd(4) データベースで管理されます。ユーザーが続けて /home/username を参照すると、オートマウンタはここに指定されているディレクトリを /home/username にマウントします。

–D

groupbase_dirskel_dirshellinactiveexpire、および key=value ペアのデフォルト値を表示します。–g–b–f、または –K オプションとともに使用された場合、–D オプションは指定されたフィールドのデフォルト値を設定します。デフォルト値は次のとおりです。

group

other (GID は 1)

base_dir

/export/home

skel_dir

/etc/skel

shell

/bin/pfsh

inactive

0

expire

NULL

auths

NULL

profiles

NULL

key=value (user_attr(4) に定義されているペア)

存在しない

–e expire

役割の有効期限日を指定します。この日付を過ぎると、どのユーザーもこの役割にアクセスできなくなります。expire オプション引数の日付は、テンプレートファイル /etc/datemsk に含まれている日付形式のいずれかを使用して入力します。getdate(3C) を参照してください。

選択した日付形式にスペースが含まれている場合は、引用符で囲む必要があります。たとえば、10/6/90 または October 6, 1990 と入力できます。NULL 値 (" ") を指定すると、期限切れのステータスは無効になります。このオプションは一時的な役割を作成する場合に役立ちます。

–f inactive

役割 ID が使用されてから無効と宣言されるまでの、最大日数を指定します。通常は正の整数です。値 0 を指定すると、このステータスは無効になります。

–g group

既存グループのグループ ID (整数) または名前 (文字列) を指定します。–D オプションが指定されていない場合、新しい役割のプライマリグループメンバーシップを定義し、デフォルトでは、デフォルトグループになります。このデフォルト値は、roleadd –D –g group を呼び出すことで再設定できます。

–G group

既存グループのグループ ID (整数) または名前 (文字列) を指定します。新しい役割の補助グループメンバーシップを定義します。group–g オプションと –G オプションで重複して指定されている場合、その項目は無視されます。指定できるグループの数は NGROUPS_MAX 以下です。

–k skel_dir

新しい役割のホームディレクトリにコピーできるスケルトン情報 (.profile など) を格納しているディレクトリ。このディレクトリはすでに存在している必要があります。システムには、この目的のために使用できるスケルトンディレクトリとして /etc/skel が用意されています。

–K key=value

役割の属性に追加する key=value ペア。–K オプションを複数使用して、複数の key=value ペアを追加できます。暗黙に指定される特定のキーオプション (–A および–P) の代わりに、汎用の –K オプションと適切なキーを使用できます。使用可能な key=value ペアのリストについては、user_attr(4) を参照してください。type キーは、このオプションに有効なキーではありません。キーを重複して指定することはできません。

–m

新しい役割のホームディレクトリがすでに存在していない場合は作成します。ディレクトリがすでに存在している場合、そこには group (役割のプライマリグループ) による読み取り権、書き込み権、および実行権が設定されている必要があります。–d オプションに指定されたサーバー名がリモートホストの場合、システムはホームディレクトリの作成を試みません。

ディレクトリがまだ存在しない場合、親ディレクトリが ZFS データセットのマウントポイントであれば、そのデータセットの子が作成され、指定された場所にマウントされます。ZFS スナップショットを作成してそれをプロモートするためのアクセス権が役割に委任されます。新しく作成されるデータセットは、その親から暗号化設定を継承します。暗号化されている場合は、そのラップ鍵を変更するためのアクセス権が役割に委任されます。

–o

重複した (一意でない) UID を許可します。

–P profile

prof_attr(4) で定義されている実行プロファイルを 1 つ以上、コンマで区切って指定します。

–s shell

ユーザーのログインシェルとして使用するプログラムのフルパス名を指定します。デフォルトは空のフィールドで、その場合システムはデフォルトとして /bin/pfsh を使用します。shell の値は有効な実行可能ファイルでなければなりません。

–S repository

有効なリポジトリは、filesldap です。リポジトリは、更新するネームサービスを指定します。デフォルトのリポジトリは files です。リポジトリが files の場合、承認、プロファイル、および役割が、別のネームサービスリポジトリに存在していても、files リポジトリ内のユーザーに割り当てることができます。リポジトリが ldap である場合、LDAP サーバーとクライアントの両方が EnableShadowUpdate=true で構成されている必要があります。また、割り当て可能な属性がすべて ldap リポジトリに存在している必要があります。

–u uid

新しい役割の UID。この UID は、<sys/param.h> ヘッダーファイルで定義された MAXUID より小さく、かつ負でない 10 進整数でなければなりません。UID のデフォルトは、現在割り当てられている最大の値の次に大きい使用可能な (一意の) 値です。たとえば、UID 100、105、および 200 が割り当て済みの場合、次のデフォルトの UID 番号は 201 になります。(0 から 99 の UID は、将来アプリケーションで使用できるように予約されています。)

終了ステータス

エラーが発生した場合、roleadd コマンドはエラーメッセージを出力し、次のいずれかの値で終了します。LDAP が誤って構成されているためにエラーが発生した場合は、「LDAP configuration problem」に続いて次の値が示されます。

1

行おうとした操作に必要な権限がありません。

2

コマンド構文が無効でした。usermod コマンドの使用法に関するメッセージが表示されます。

3

オプションに無効な引数が指定されました。

4

–u オプションで指定された gid または uid はすでに使用されています。

5

password ファイルと shadow ファイルが互いに整合していません。pwconv(1M) がエラーの修正に役立つ可能性があります。passwd(4) および shadow(4) を参照してください。

6

変更されるログインが存在しないか、gid または uid が存在しません。

7

grouppasswd、または shadow ファイルがありません。

9

グループまたはユーザーの名前はすでに使用されています。

10

passwdshadow、または user_attr ファイルを更新できません。

11

ホームディレクトリを移動するための容量が不足しています (–m オプション)。

12

新しいホームディレクトリを作成、削除、または移動できません。

13

要求されたログインはすでに使用されています。

14

予期しない失敗。

16

グループデータベースを更新できません。

17

プロジェクトデータベースを更新できません。

18

承認が不十分です。

19

役割がありません。

20

プロファイルがありません。

21

特権がありません。

22

ラベルがありません。

23

グループがありません。

24

システムで Trusted Extensions が実行されていません。

25

プロジェクトがありません。

26

auto_home を更新できません。

ファイル

/etc/datemsk

/etc/passwd

/etc/shadow

/etc/group

/etc/skel

/usr/include/limits.h

/etc/user_attr

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
確実

関連項目

auths(1), passwd(1), pfexec(1), profiles(1), roles(1), users(1B), groupadd(1M), groupdel(1M), groupmod(1M), grpck(1M), logins(1M), pwck(1M), userdel(1M), usermod(1M), getdate(3C), auth_attr(4), group(4), passwd(4), prof_attr(4), shadow(4), user_attr(4), attributes(5)

Oracle Solaris 11.2 ディレクトリサービスとネームサービスでの作業: LDAP

診断

エラーが発生した場合、roleadd はエラーメッセージを出力し、ゼロ以外のステータスで終了します。

次のメッセージは、指定された login がすでに使用されていることを示します。

UX: roleadd: ERROR: login is already in use. Choose another.

次のメッセージは、–u オプションで指定された uid が一意でないことを示します。

UX: roleadd: ERROR: uid uid is already in use. Choose another. 

次は、–g オプションで指定された group がすでに使用されていることを示します。

UX: roleadd: ERROR: group group does not exist. Choose another. 

次のメッセージは、–u オプションで指定された uid が予約済み UID の範囲 (0 から 99) に含まれていることを示します。

UX: roleadd: WARNING: uid uid is reserved.

次のメッセージは、–u オプションで指定された uid<sys/param.h> で定義された MAXUID を超えていることを示します。

UX: roleadd: ERROR: uid uid is too big. Choose another.

次のメッセージは、/etc/passwd または /etc/shadow ファイルが存在しないことを示します。

UX: roleadd: ERROR: Cannot update system files - login cannot be created.

次のメッセージは、コマンドを実行したユーザーに、この操作を実行するための十分な承認がないことを示します。

UX: roleadd: ERROR: Permission denied.