如何在LDAP中删除多个条目中的一个属性

如何在LDAP中删除多个条目中的一个属性,ldap,openldap,Ldap,Openldap,我的objectClass“person”中有一个属性“lastDateConnection”,该属性被移动到数据库中(出于统计、缓存和性能原因)。 这种重复造成混乱 对于一个条目,我只需要这样做: dn: uid=joe,ou=people,ou=application,dc=client,dc=fr changetype: modify delete: dateLastConnection 但我如何才能为LDAP中的所有人做到这一点 以下是我的一些失败:) 或 谢谢,, Amaury当存在

我的objectClass“person”中有一个属性“lastDateConnection”,该属性被移动到数据库中(出于统计、缓存和性能原因)。 这种重复造成混乱

对于一个条目,我只需要这样做:

dn: uid=joe,ou=people,ou=application,dc=client,dc=fr
changetype: modify
delete: dateLastConnection
但我如何才能为LDAP中的所有人做到这一点

以下是我的一些失败:)

谢谢,,
Amaury

当存在已设置的条目时,无法从架构中删除它。您必须将其从这些条目中删除,这需要对每个条目执行修改操作。

当存在已设置的条目时,您无法将其从架构中删除。您必须从这些条目中删除它,这需要对每个条目执行修改操作。

最后,我做了如下操作:

#!/bin/bash

echo "Suppression des attributs dateLastConnection"

for i in `ldapsearch -x -h localhost:389 -D "cn=ldapadmin,dc=client,dc=fr" -w "changeme" -b "ou=people,ou=app,dc=client,dc=fr" -s sub "(objectclass=person)" | grep uid=| cut -d : -f 2 | sed 's/^\ //g'`
do

ldapmodify -x -h localhost:389 -D "cn=ldapadmin,dc=client,dc=fr" -w "changeme" << EOF
dn: $i
changetype: modify
delete: dateLastConnection


EOF

done
#/bin/bash
回显“抑制des属性dateLastConnection”
对于'ldapsearch-x-hlocalhost:389-D“cn=ldapadmin,dc=client,dc=fr”-w“changeme”-b“ou=people,ou=app,dc=client,dc=fr”-s sub”(objectclass=person)| grep uid=| cut-D:-f 2 | sed's/^\//g”`
做

ldapmodify-x-h localhost:389-D“cn=ldapadmin,dc=client,dc=fr”-w“changeme”最后我做了如下操作:

#!/bin/bash

echo "Suppression des attributs dateLastConnection"

for i in `ldapsearch -x -h localhost:389 -D "cn=ldapadmin,dc=client,dc=fr" -w "changeme" -b "ou=people,ou=app,dc=client,dc=fr" -s sub "(objectclass=person)" | grep uid=| cut -d : -f 2 | sed 's/^\ //g'`
do

ldapmodify -x -h localhost:389 -D "cn=ldapadmin,dc=client,dc=fr" -w "changeme" << EOF
dn: $i
changetype: modify
delete: dateLastConnection


EOF

done
#/bin/bash
回显“抑制des属性dateLastConnection”
对于'ldapsearch-x-hlocalhost:389-D“cn=ldapadmin,dc=client,dc=fr”-w“changeme”-b“ou=people,ou=app,dc=client,dc=fr”-s sub”(objectclass=person)| grep uid=| cut-D:-f 2 | sed's/^\//g”`
做

ldapmodify-x-h localhost:389-D“cn=ldapadmin,dc=client,dc=fr”-w“changeme”,所以我首先需要获取所有用户名,然后在每个条目上循环以删除该属性?可以在一个ldif中完成吗?所以我首先需要获取所有用户名,然后在每个条目上循环以删除该属性?可以在一个本地设计院(ldif)内完成吗?
#!/bin/bash

echo "Suppression des attributs dateLastConnection"

for i in `ldapsearch -x -h localhost:389 -D "cn=ldapadmin,dc=client,dc=fr" -w "changeme" -b "ou=people,ou=app,dc=client,dc=fr" -s sub "(objectclass=person)" | grep uid=| cut -d : -f 2 | sed 's/^\ //g'`
do

ldapmodify -x -h localhost:389 -D "cn=ldapadmin,dc=client,dc=fr" -w "changeme" << EOF
dn: $i
changetype: modify
delete: dateLastConnection


EOF

done