9.10. ユーザーおよびグループスキーマの管理
ユーザーエントリーは作成時に自動的に特定の LDAP オブジェクトクラスが割り当てられ、これにより特定の属性が利用可能になります。LDAP 属性を使用して、情報がディレクトリーに保存されます。(この詳細は、『『Directory Server Deployment Guide』』および『『Directory Server Schema Reference』』で説明されています。)
詳細 | オブジェクトクラス | |||||
---|---|---|---|---|---|---|
IdM オブジェクトクラス |
| |||||
人物のオブジェクトクラス |
| |||||
Kerberos のオブジェクトクラス |
| |||||
Managed エントリー (テンプレート) のオブジェクトクラス | mepOriginEntry |
ユーザーエントリーには多くの利用可能な属性があります。手動で設定されるものや、特定の値が設定されてない場合はデフォルト値を元に設定されるものもあります。その属性に UI やコマンドライン引数がない場合でも、表9.1「デフォルトの Identity Management ユーザーオブジェクトクラス」 内のオブジェクトクラスで使用できる属性を追加するオプションもあります。また、デフォルトの属性で生成もしくは使用される値は、「デフォルトのユーザーおよびグループ属性の指定」にあるように設定可能です。
UI フィールド | コマンドラインオプション | 必須、任意またはデフォルト[a] |
---|---|---|
User login | username | 必須 |
First name | --first | 必須 |
Last name | --last | 必須 |
Full name | --cn | 任意 |
Display name | --displayname | 任意 |
Initials | --initials | デフォルト |
Home directory | --homedir | デフォルト |
GECOS field | --gecos | デフォルト |
Shell | --shell | デフォルト |
Kerberos principal | --principal | デフォルト |
Email address | 任意 | |
Password | --password [b] | 任意 |
User ID number[c] | --uid | デフォルト |
Group ID number[c] | --gidnumber | デフォルト |
Street address | --street | 任意 |
City | --city | 任意 |
State/Province | --state | 任意 |
Zip code | --postalcode | 任意 |
Telephone number | --phone | 任意 |
Mobile telephone number | --mobile | 任意 |
Pager number | --pager | 任意 |
Fax number | --fax | 任意 |
Organizational unit | --orgunit | 任意 |
Job title | --title | 任意 |
Manager | --manager | 任意 |
Car license | --carlicense | 任意 |
--noprivate | 任意 | |
SSH Keys | --sshpubkey | 任意 |
Additional attributes | --addattr | 任意 |
[a]
必須の属性は、すべてのエントリーで設定する必要があります。オプションの属性は設定が可能で、デフォルトの属性は特定の値を提供しない場合は事前設定の値で自動的に追加されます。
[b]
スクリプトは、引数の値を受け付けずに、新たなパスワードを要求します。
[c]
UID 番号を指定せずにユーザーを作成すると、ユーザーアカウントには、サーバーまたはレプリカの範囲で次に利用可能な ID 番号が自動的に割り当てられます。(数値の範囲は「一意の UID および GID 番号の割り当て管理」で詳述されています。) つまり、UID 番号およびプライベートグループ (設定されている場合) には一意の番号が常に割り当てられることになります。
数値がユーザーエントリーに 手動で 割り当てられると、サーバーでは uidNumber が一意であるかどうかは検証されません。ID を重複させることができます。POSIX エントリーでは、想定されている動作 (非推奨) です。
2 つのエントリーに同じ ID 番号が割り当てられている場合に、検索では、対象の ID 番号の最初のエントリーだけが返されます。ただし、他の属性の検索時や、 ipa user-find --all を使用時には、両方のエントリーが返されます。
|
9.10.1. デフォルトのユーザーおよびグループスキーマの変更
ユーザーおよびグループエントリーに使用されているオブジェクトクラスおよび属性は、変更できます (「ユーザーおよびグループスキーマの管理」)。
IdM 設定は、オブジェクトクラスが変更されると以下の確認を行います。
- すべてのオブジェクトクラスとそれらの指定された属性を LDAP サーバーが認識していること。
- エントリーに設定されたデフォルトの属性はすべて、設定済みのオブジェクトクラスにサポートされていること。
ただし、IdM スキーマの検証には限界があります。最も重要なのは、IdM サーバーは定義済みユーザーもしくはグループオブジェクトクラスに IdM エントリーで必要なオブジェクトクラスすべてが含まれているかどうかを確認しないという点です。たとえば、IdM エントリーはすべて、ipaobject オブジェクトクラスが必要です。しかし、ユーザーもしくはグループスキーマが変更されると、このオブジェクトクラスが含まれているかどうかをサーバーは検証しません。このオブジェクトクラスが誤って削除されると、それ以降のエントリー追加操作は失敗することになります。
また、すべてのオブジェクトクラス変更は、漸増的ではなくアトミックです。変更があると毎回、デフォルトのオブジェクトクラス一覧全体を定義する必要があります。たとえば、企業が従業員の誕生日や就業開始日などの情報を保存するためのカスタムのオブジェクトクラスを作成したとします。管理者は単にカスタムのオブジェクトクラスをリストに追加することはできません。新規オブジェクトクラスに加えて 現行のデフォルトのオブジェクトクラス一覧全体を設定する必要があります。設定を更新する際は常に、既存のデフォルトのオブジェクトクラスを含める必要があります。これを含めないと現行設定が上書きされ、パフォーマンスに関する重大な問題が発生することになります。