Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

11.6.3. IdM アイデンティティーを管理する外部プロビジョニングシステムの LDAP プロバイダーの設定

このセクションでは、さまざまなユーザーおよびグループ管理操作のテンプレートについて説明します。テンプレートを使用して、プロビジョニングシステムの LDAP プロバイダーを設定して、IdM ユーザーアカウントを管理できます。たとえば、従業員が退職したあと、ユーザーアカウントを非アクティブにするようにシステムを設定できます。

LDAP を使用したユーザーアカウントの管理

新しいユーザーエントリーを追加したり、既存のエントリーの変更、さまざまなライフサイクル状態のユーザーの移動、または基礎となる Directory Server データベースを編集してユーザーを削除できます。データベースを編集するには、ldapmodify ユーティリティーを使用します。
以下の LDIF 形式のテンプレートは、ldapmodify を使用して修正する属性に関する情報を提供します。詳細な手順例は、例11.2「ldapmodify を使用したステージユーザーの追加」 および 例11.3「ldapmodify でのユーザーの保存」 を参照してください。
新規 stage ユーザーの追加
UID と GID が自動的に割り当てられたユーザーを追加:
dn: uid=user_login,cn=staged users,cn=accounts,cn=provisioning,dc=example,dc=com
changetype: add
objectClass: top
objectClass: inetorgperson
uid: user_login
sn: surname
givenName: first_name
cn: full_name
UID および GID が静的に割り当てられているユーザーを追加:
dn: uid=user_login,cn=staged users,cn=accounts,cn=provisioning,dc=example,dc=com
changetype: add
objectClass: top
objectClass: person
objectClass: inetorgperson
objectClass: organizationalperson
objectClass: posixaccount
uid: user_login
uidNumber: UID_number
gidNumber: GID_number
sn: surname
givenName: first_name
cn: full_name
homeDirectory: /home/user_login
stage ユーザーの追加時に IdM オブジェクトクラスを指定する必要はありません。IdM は、ユーザーのアクティベート後にこれらのクラスを自動的に追加します。
作成したエントリーの識別名 (DN) は uid=user_login で開始する必要があります。
既存ユーザーの変更
ユーザーを変更する前に、ユーザーのログインを検索してユーザーの識別名 (DN) を取得します。以下の例では、以下の例の user_allowed_to_read ユーザーはユーザーおよびグループの情報を読み取り、パスワードは このユーザーのパスワードになります。
# ldapsearch -LLL -x -D "uid=user_allowed_to_read,cn=users,cn=accounts,dc=example, dc=com" -w "password" -H ldap://server.example.com -b "cn=users, cn=accounts, dc=example, dc=com" uid=user_login
ユーザーの属性を変更するには、以下を実行します。
dn: distinguished_name
changetype: modify
replace: attribute_to_modify
attribute_to_modify: new_value
ユーザーを無効にするには、以下を実行します。
dn: distinguished_name
changetype: modify
replace: nsAccountLock
nsAccountLock: TRUE
ユーザーを有効にするには、以下を実行します。
dn: distinguished_name
changetype: modify
replace: nsAccountLock
nsAccountLock: FALSE
ユーザーを保存するには、以下を実行します。
dn: distinguished_name
changetype: modrdn
newrdn: uid=user_login
deleteoldrdn: 0
newsuperior: cn=deleted users,cn=accounts,cn=provisioning,dc=example
nssAccountLock 属性の更新は、stage ユーザーおよび保存済みユーザーには影響を及ぼしません。更新操作が正常に完了しても、属性値は nssAccountLock: TRUE のままになります。
新規グループの作成
新規グループを作成するには、以下を実行します。
dn: cn=group_distinguished_name,cn=groups,cn=accounts,dc=example,dc=com
changetype: add
objectClass: top
objectClass: ipaobject
objectClass: ipausergroup
objectClass: groupofnames
objectClass: nestedgroup
objectClass: posixgroup
cn: group_name
gidNumber: GID_number
グループの変更
グループを変更する前に、グループ名を使用して検索してグループの識別名 (DN) を取得します。
# ldapsearch -YGSSAPI  -H ldap://server.example.com -b "cn=groups,cn=accounts,dc=example,dc=com" "cn=group_name"
既存グループを削除するには、以下を実行します。
dn: group_distinguished_name
changetype: delete
グループにメンバーを追加するには、以下を実行します。
dn: group_distinguished_name
changetype: modify
add: member
member: uid=user_login,cn=users,cn=accounts,dc=example,dc=com
グループからメンバーを削除するには、以下を実行します。
dn: distinguished_name
changetype: modify
delete: member
member: uid=user_login,cn=users,cn=accounts,dc=example,dc=com
stage または保存済みユーザーをグループに追加しないでください。更新操作が正常に完了しても、ユーザーはグループのメンバーとして更新されません。アクティブユーザーのみがグループに所属できます。

例11.2 ldapmodify を使用したステージユーザーの追加

標準の interorgperson オブジェクトクラスを使用して、新しい stageuser ユーザーを追加するには、以下を実行します。
  1. ldapmodify を使用してユーザーを追加します。
    # ldapmodify -Y GSSAPI
    SASL/GSSAPI authentication started
    SASL username: admin@EXAMPLE
    SASL SSF: 56
    SASL data security layer installed.
    dn: uid=stageuser,cn=staged users,cn=accounts,cn=provisioning,dc=example
    changetype: add
    objectClass: top
    objectClass: inetorgperson
    cn: Stage
    sn: User
    
    adding new entry "uid=stageuser,cn=staged users,cn=accounts,cn=provisioning,dc=example"
    
  2. stageエントリの内容を検証して、プロビジョニングシステムが必要なすべてのPOSIX属性を追加し、stageエントリをアクティブ化する準備ができていることを確認することを検討してください。新規 stage ユーザーの LDAP 属性を表示するには、ipa stageuser-show --all --raw コマンドを実行します。ユーザーは、nsaccountlock 属性により明示的に無効になっていることに注意してください。
    $ ipa stageuser-show stageuser --all --raw
      dn: uid=stageuser,cn=staged users,cn=accounts,cn=provisioning,dc=example
      uid: stageuser
      sn: User
      cn: Stage
      has_password: FALSE
      has_keytab: FALSE
      nsaccountlock: TRUE
      objectClass: top
      objectClass: inetorgperson
      objectClass: organizationalPerson
      objectClass: person
    

例11.3 ldapmodify でのユーザーの保存

LDAP の modrdn 操作を使用して ユーザー を保存するには、以下を実行します。
  1. ldapmodify ユーティリティーを使用してユーザーエントリーを変更します。
    $ ldapmodify -Y GSSAPI
    SASL/GSSAPI authentication started
    SASL username: admin@EXAMPLE
    SASL SSF: 56
    SASL data security layer installed.
    dn: uid=user1,cn=users,cn=accounts,dc=example
    changetype: modrdn
    newrdn: uid=user1
    deleteoldrdn: 0
    newsuperior: cn=deleted users,cn=accounts,cn=provisioning,dc=example
    
    modifying rdn of entry "uid=user1,cn=users,cn=accounts,dc=example"
    
  2. 必要に応じて、保存済みユーザーを一覧表示して、ユーザーが保存されていることを確認します。
    $ ipa user-find --preserved=true
    ---------------
    1 user matched
    ---------------
      User login: user1
      First name: first_name
      Last name: last_name
    ...
    ----------------------------
    Number of entries returned 1
    ----------------------------