如何使用 OpenLDAP 修改属性的值?

如何使用 OpenLDAP 修改属性的值?

我们安装了一个带有 OpenLDAP 架构和一些附加属性的邮件服务器。其中一个属性控制哪些用户对服务器的日历和公共文件夹功能具有管理权限。如何在 LDAP 数据库中为现有用户设置这些属性?

答案1

ldapmodify 是你的朋友。

创建一个“修改” ldif 文件。

前任:

dn: cn=Elmer Fudd,o=company.com
changetype: modify
add: isAdmin
isAdmin: 1

保存文件并使用 ldapmodify 使用它:

ldapmodify -v -D "cn=manager,o=company.com" -h <host> -W -f changes.ldif  

答案2

我发现最简单的方法是使用格奇。它不是最漂亮的应用程序,但运行得相当好。

如果你发现自己一遍又一遍地重复做同样的任务,那么用你最喜欢的脚本语言编写一个脚本可能是值得的。在 Perl 中,你可以使用网络::LDAP

答案3

smbldap-tools 和SMBLDAP-TOOLS 插件是用于管理存储在 LDAP 目录中的用户和组帐户的 perl 脚本。

例如:smbldap-attribute 是一个简单而强大的脚本,该脚本可以添加/修改/删除任何属性。

添加属性和值(支持多个值):

smbldap-attribute "uid=user1,dc=example,dc=com" "attribute:value"
smbldap-attribute "uid=user1" "attribute:value"
smbldap-attribute user1 "attribute:value"
smbldap-attribute -s "_" "uid=user1,dc=example,dc=com" "attribute_value"

修改值:

smbldap-attribute "uid=user1,dc=example,dc=com" "attribute:current:new"
smbldap-attribute "uid=user1" "attribute:current:new"
smbldap-attribute user1 "attribute:current:new"
smbldap-attribute -s "/" user1 "attribute/current/new"

删除值:

smbldap-attribute -d "uid=user1,dc=example,dc=com" "attribute:value"
smbldap-attribute -d "uid=user1" "attribute"
smbldap-attribute -d user1 "attribute"

答案4

有一个基于 Java 的 LDAP 浏览器/编辑器,非常好用。它已经有两三年没有更新了,而且它的链接似乎已经消失了。Gowars 是它的作者,一旦你通过了树的身份验证,它就会允许你在 UI 中编辑条目,这很好。

唉,它不理解模式类型,因此所有属性值都是以自由形式输入的,期望您知道每个属性的正确语法。

我有安装二进制文件(嗯,基于 Java,所以随便你怎么称呼它们),但所有到原始网站的链接似乎都消失了。真可惜。

相关内容