mkuser コマンド
目的
新しいユーザー・アカウントを作成します。
構文
mkuser [ -R load_module ] [-a ] [ Attribute=Value ... ] Name
説明
mkuser コマンドは、新しいユーザー・アカウントを作成します。 Name パラメーターは、固有のストリング (その長さは、 chdev コマンドを使用して管理者が構成できます) でなければなりません。 ユーザー名には ALL または default キーワードは使用できません。 デフォルトでは、mkuser コマンドは標準ユーザー・アカウントを作成します。 管理ユーザー・アカウントを作成するには、-a フラグを指定します。
代替の識別と認証 (I&A) メカニズムを使用するユーザーを作成するには、-R フラグを使用して、I&A ロード・モジュールを指定することができます。 -R フラグを用いずにユーザーを作成する場合は、各ユーザーをローカルに作成します。 ロード・モジュールは、/usr/lib/security/methods.cfg ファイルで定義されます。
mkuser コマンドは、ユーザーのパスワード情報を作成しません。 このコマンドは、* (アスタリスク) を使用して password フィールドを初期化します。 このフィールドは後で、passwd または pwdadm コマンドによって設定されます。 passwd または pwdadm コマンドを使用して /etc/security/passwd ファイルに確認情報が追加されるまで、新規アカウントは使用できません。
このコマンドは、System Management Interface Tool (SMIT) smit mkuser 高速パスを使用して実行することができます。
mkuser コマンドは、常にターゲット・ユーザーのレジストリーを検査して、新規アカウントの ID がターゲット・レジストリーに対して固有であるか確認します。 mkuser コマンドは、dist_uniqid システム属性を使用して、システムのすべてのユーザー・レジストリーを検査するように構成することもできます。 dist_uniqid システム属性は /etc/security/login.cfg ファイルの usw スタンザの属性であり、chsec コマンドを使用して管理できます。
- never -非ターゲット・レジストリーとの ID 衝突を検査しません。 これがデフォルト設定です。
- always -他のすべてのレジストリーとの ID の衝突を検査します。 ターゲット・レジストリーとそれ以外のレジストリーの間に衝突が検出されると、アカウントの作成や変更は失敗します。
- uniqbyname -他のすべてのレジストリーとの ID の衝突を検査します。 レジストリー間の衝突が許可されるのは、作成されるアカウントの名前が既存のアカウントと同じである場合に限られます。
uniqbyname システム属性の設定は、2 つのレジストリーに対して有効に機能します。 3 つ以上のレジストリーがあり、2 つのレジストリー間に既に ID 衝突が存在する場合、衝突した ID 値を使用して第 3 のレジストリーに新規アカウントを作成した場合の mkuser コマンドの動作は未指定です。 新規アカウントの作成は、レジストリーの検査順序によって正常に行われる場合と失敗する場合があります。
ID 衝突の検査は、ローカル・レジストリーとリモート・レジストリー間、またはリモート・レジストリー同士間の ID の固有性に関してのみ行われます。 リモート・レジストリー上で新しく作成されたアカウントと、同じリモート・レジストリーを使用する他のシステム上の既存ローカル・ユーザーとの間では、ID の固有性は保証されません。 mkuser コマンドは、それが実行された時点でリモート・レジストリーに到達できないときは、そのリモート・レジストリーをバイパスします。
ユーザー名作成に関する制約事項
ログインの不整合を防ぐために、すべて英大文字のユーザー名を作成しないようにする必要があります。 mkuser コマンドはマルチバイト・ユーザー名をサポートしますが、ユーザー名は POSIX 移植可能ファイル名文字セットに制限することをお勧めします。
ユーザー・データベースが壊れていない状態を保つには、ユーザー名は慎重に付ける必要があります。 ユーザー名を - (ダッシュ)、+ (正符号)、@ (アットマーク)、~ (ティルド) で始めることはできません。 ユーザー名にはキーワード ALL も default も使用できません。 さらに、ユーザー名文字列の中では、次のどの文字も使用してはなりません。
| 項目 | 説明 |
|---|---|
| : | コロン |
| " | 二重引用符 |
| # | ポンド記号 |
| , | コンマ |
| = | 等号 |
| \ | 円記号 |
| / | スラッシュ |
| ? | 疑問符 |
| ' | 単一引用符 |
| ` | 逆引用符 |
また、Name パラメーターにスペース、タブ、または改行文字を使用できません。
フラグ
| 項目 | 説明 |
|---|---|
| -a | ユーザーが管理者であることは指定します。 root ユーザーだけがこのフラグを使用したり、管理者ユーザーの属性を変更したりすることができます。 |
| ユーザー名 | ユーザーが新規ユーザーであることを指定します。 |
| -R ロード・モジュール | ユーザーを作成するために使用されるロード可能 I&A モジュールを指定します。 |
パラメーター
終了状況
| 項目 | 説明 |
|---|---|
| 0 | コマンドが正常に実行され、要求されたすべての変更が行われました。 |
| >0 | エラーが発生しました。 印刷されるエラー・メッセージには、コマンド失敗のタイプに関する詳細が示されます。 |
セキュリティー
アクセス制御: このコマンドは、実行 (x) 権限を root ユーザーとセキュリティー・グループ・メンバーにのみ付与します。 このコマンドは、トラステッド・コンピューティング・ベース (TCB) にプログラムとしてインストールされなければなりません。 このコマンドは、 setuid (SUID) ビットが設定されている root ユーザーが所有しなければなりません。
- aix.security.user.audit
- aix.security.role.assign
- aix.security.group.change
- aix.security.user.change
アクセスされるファイル:
| モード | ファイル |
|---|---|
| rw | /etc/passwd |
| rw | /etc/security/user |
| rw | /etc/security/user.roles |
| rw | /etc/security/limits |
| rw | /etc/security/environ |
| rw | /etc/group |
| rw | /etc/security/group |
| r | /usr/lib/security/mkuser.default |
| x | /usr/lib/security/mkuser.sys |
監査イベントは次のとおりです。
| イベント | 情報 |
|---|---|
| USER_Create | ユーザー |
制限
ユーザーを作成しても、すべてのロード可能 I&A モジュールによってサポートされないことがあります。 ロード可能 I&A モジュールがユーザーの作成をサポートしない場合には、 エラーが報告されます。
例
- To create thedavis/usr/lib/security/mkuser.default ファイル内のデフォルト値を持つユーザー・アカウントの場合は、次のように入力します。
mkuser davis - To create thedavisアカウントdavis管理者として、以下を入力します。
作成できるのは、root ユーザーまたは UserAdmin 権限を持つユーザーのみです。davis管理ユーザーとして使用します。mkuser -a davis - To create the davisユーザー・アカウントを使用して、 su 属性を以下の値に設定します。false、タイプ:
mkuser su=false davis - To create thedavisLDAP ロード・モジュールを介して識別および認証されるユーザー・アカウント、タイプ:
mkuser -R LDAP davis
エラー・コード
| 項目 | 説明 |
|---|---|
| 0 | コマンドは正常に実行されました。 |
| EINVAL | ユーザー名引数が無効です (無効な文字を含んでいます)。 |
| EACCES | 呼び出し側がデータベース・ファイルに対する書き込みアクセス権がありません。 |
| EPERM | -a フラグが指定されていて、呼び出し側が root でない場合、ユーザー識別と認証は失敗します。 |
| EEXIST | ユーザーは既に存在しています。 |
| ENAMETOOLONG | ユーザー名が長すぎます。 |
| その他の errno | その他のシステム・エラーがあります。 |
ファイル
| 項目 | 説明 |
|---|---|
| /usr/bin/mkuser | mkuser コマンドが入っています。 |
| /usr/lib/security/mkuser.default | 新規ユーザーのデフォルト値が入っています。 |
| /etc/passwd | ユーザーの基本属性が入っています。 |
| /etc/security/user | ユーザーの拡張属性が入っています。 |
| /etc/security/user.roles | ユーザーの管理ロール属性が入っています。 |
| /etc/security/passwd | パスワード情報が入っています。 |
| /etc/security/limits | ユーザーごとのリソース・クォータおよび制限を定義します。 |
| /etc/security/environ | ユーザーの環境属性が入っています。 |
| /etc/group | グループの基本属性が入っています。 |
| /etc/security/group | 拡張グループ属性が入っています。 |
| /etc/security/.ids | 標準ユーザー ID、管理者ユーザー ID、グループ ID が入っています。 |