如果我运行,ldapsearch -x -ZZ -b 'cn=sysadmin,ou=groups,dc=sub,dc=mydom,dc=com'
我会得到该组中的用户列表(如下)。我只想从组中sysadmin
删除,但我想通过 shell 脚本执行此操作,而不是创建中间 LDIF 文件来执行此操作。我该用什么来做到这一点?user456
sysadmin
dn
例如:ldapdelete -Y EXTERNAL -H ldapi:/// <some_dn_with_the_member_attribute>
# sysadmin, groups, sub.mydom.com
dn: cn=sysadmin,ou=groups,dc=sub,dc=mydom,dc=com
cn: sysadmin
objectClass: top
objectClass: groupOfNames
member: uid=user123,ou=people,dc=sub,dc=mydom,dc=com
member: uid=user456,ou=people,dc=sub,dc=mydom,dc=com
member: uid=user789,ou=people,dc=sub,dc=mydom,dc=com
答案1
看起来这样可以做到,尽管我不敢相信完成它需要多么复杂的程度:
ldapmodify -Y EXTERNAL -H ldapi:/// << EOF
dn: cn=sysadmin,ou=groups,dc=sub,dc=mydom,dc=com
delete: member
member: uid=user456,ou=people,dc=sub,dc=mydom,dc=com
EOF