マーケティング担当者全員のロールを作成するには、次の ldapmodify コマンドを使用します。
$ ldapmodify -a -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - dn: cn=Marketing,ou=marketing,ou=People,dc=example,dc=com objectclass: top objectclass: LDAPsubentry objectclass: nsRoleDefinition objectclass: nsSimpleRoleDefinition objectclass: nsManagedRoleDefinition cn: Marketing description: managed role for marketing staff |
nsManagedRoleDefinition オブジェクトクラスは、LDAPsubentry、nsRoleDefinition 、および nsSimpleRoleDefinition オブジェクトクラスから継承されます。
Bob という名前のマーケティング担当者のメンバーにロールを割り当てるには、次のようにエントリを更新します。
$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - dn: cn=Bob Arnold,ou=marketing,ou=People,dc=example,dc=com changetype: modify add: nsRoleDN nsRoleDN: cn=Marketing,ou=marketing,ou=People,dc=example,dc=com |
nsRoleDN 属性は、エントリが管理ロールのメンバーであることを示します。管理ロールはそのロール定義の DN によって識別します。ユーザーが自身の nsRoleDN 属性を変更できるようにするが、nsManagedDisabledRole を追加または削除できないようにするには、次の ACI を追加します。
aci: (targetattr="nsRoleDN")(targattrfilters="add=nsRoleDN: (!(nsRoleDN=cn=AdministratorRole,dc=example,dc=com)), del=nsRoleDN:(!(nsRoleDN=cn=nsManagedDisabledRole,dc=example, dc=com)") (version3.0;aci "allow mod of nsRoleDN by self except for critical values"; allow(write) userdn="ldap:///self";) |