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 ユーザーだけがこのフラグを使用したり、管理者ユーザーの属性を変更したりすることができます。 |
username | ユーザーが新規ユーザーであることを指定します。 |
-R load_module | ユーザーを作成するために使用されるロード可能 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 モジュールがユーザーの作成をサポートしない場合には、 エラーが報告されます。
例
- /usr/lib/security/mkuser.default
ファイル内のデフォルト値を使用して davis ユーザー・アカウントを作成するには、
次のように入力します。
mkuser davis
- 管理者として davis を持つ davis
アカウントを作成するには、次のように入力します。
root ユーザーまたは UserAdmin 権限を持つユーザーのみが、 davis を管理ユーザーとして作成することができます。mkuser -a davis
- davis ユーザー・アカウントを作成し、
su 属性を値 false に設定するには、次のように入力します。
mkuser su=false davis
- LDAP ロード・モジュールを介して識別および認証される davis ユーザー・アカウントを作成するには、次のように入力します。
mkuser -R LDAP davis
エラー・コード
項目 | 説明 |
---|---|
0 | コマンドは正常に実行されました。 |
EINVAL | ユーザー名引数が無効です (無効な文字を含んでいます)。 |
EACCES | 呼び出し側がデータベース・ファイルに対する書き込みアクセス権がありません。 |
EPERM | -a フラグが指定され、呼び出し側が root でない場合は、ユーザー識別および認証は失敗します。 |
EEXIST | ユーザーは既に存在しています。 |
ENAMETOOLONG | ユーザー名が長すぎます。 |
other 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 が入っています。 |