私は現在コマンドラインからopenldapを実行しています。ユーザーJohnを追加し、devgroupグループを追加し、Johnをdevgroupグループに割り当てました。コマンドラインからユーザー(John)を削除する場合
ldapdelete -Y EXTERNAL -H ldapi:/// -D "cn=admin,dc=example,dc=local"
"uid=john,dc=example,dc=local"
ユーザーは消えましたが、以前に割り当てられたグループのメンバーではありません。
ユーザーとグループに割り当てられたユーザーが関連付けられていないことが確認されました。既定では、存在しないグループにユーザーを追加できます。これら2人のユーザーを接続する方法はありますか?
ありがとうございます!
ベストアンサー1
私はこのコマンドを使用して、OUのすべてのエントリではなくユーザーを削除すると思います。私が理解したところ、LDAPは思うように他のオブジェクトへのリンクを維持せずに最初にオブジェクトのリストを作成してから、そのオブジェクトを使用または機能させる必要がありldapsearch
ます。ldapdelete
ldapmodify
通常、結果を最初にldapsearch
ファイルに書き込み、.ldif
それldapmodify
を使用または操作しますldapdelete
。ただし、U&L Q&Aというタイトルのこの例に示すように、ldapsearch
出力を解析してパイプすることはできます。ldapmodify
ldapdelete、people OUのすべてのUIDを削除してOUを維持したいですか?。
$ ldapsearch -ZZ -W -D 'cn=Manager,dc=site,dc=fake' \
-b 'ou=people,dc=site,dc=fake' -s one dn | \
grep dn: | cut -b 5- | ldapdelete -ZZ -W -D 'cn=Manager,dc=site,dc=fake'
私はこのようなことを行い、ユーザーが属するすべてのグループを見つけてそのmemberUid
リストを渡し、すべてのldapmodify
グループldapdelete
から削除してコマンドを実行する必要があると思います。
ところで、グループからユーザーを削除するには:
dn: cn=Manager,dc=site,dc=fake
changetype: modify
delete: memberuid
memberuid: john
.ldif
ファイルに関するこのページのサンプルタイトルは次のとおりです。LDAP(Lightweight Directory Access Protocol)を使用したユーザーの管理彼らは素晴らしいです。.ldif
複数のオブジェクトにわたってタスクを実行するように拡張できるフラグメントを使用して、すべての基本タスクを実行する方法を示します。