OpenLDAP:削除されたユーザーはまだグループに一覧表示されます。

OpenLDAP:削除されたユーザーはまだグループに一覧表示されます。

私は現在コマンドラインから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ます。ldapdeleteldapmodify

通常、結果を最初にldapsearchファイルに書き込み、.ldifそれldapmodifyを使用または操作しますldapdelete。ただし、U&L Q&Aというタイトルのこの例に示すように、ldapsearch出力を解析してパイプすることはできます。ldapmodifyldapdelete、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複数のオブジェクトにわたってタスクを実行するように拡張できるフラグメントを使用して、すべての基本タスクを実行する方法を示します。

おすすめ記事