- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 CentOS 上设置 LDAP 服务器时遇到了某种僵局。我使用/etc/openldap/slapd.d下的在线配置文件该文档告诉您不要手动修改这些文件,并且这些文件是校验和的。但是我不能使用 ldapmodify,因为我不能登录(简单绑定(bind))——而且我不能登录,因为我不能为用户设置密码——我不能为用户设置密码,因为我无法使用 ldapmodify,因为我无法登录,因为我无法设置密码,因为......
我当然可以通过直接编辑文件来设置它 - 我已经做到了,而且它有效。但这让我很烦恼,我找不到“正确”的方法。
最佳答案
Ubuntu 和其他带有 debian 软件包的发行版试图变得 super 智能并为您设置一切 - 当您想要进行非交互式安装时这真的会成为一个问题,因为 debconf 将设置随机管理员密码并配置根据您的机器名称的基本 DN。您可能能够猜出 base-DN - 但您猜不到密码,因为它在安装后从 debconf-DB 中删除,您无法读取它。
不过,您可以在安装包之前配置密码和 DN:
export DEBIAN_FRONTEND=noninteractive
sudo debconf-set-selections <<EOF
slapd slapd/internal/generated_adminpw password changeme
slapd slapd/password2 password changeme
slapd slapd/internal/adminpw password changeme
slapd slapd/password1 password changeme
slapd slapd/domain string example.com
slapd shared/organization string example.com
EOF
sudo apt-get install -y slapd ldap-utils
请非常注意此处的空格:在密码前放置两个空格会将密码设置为 __changeme_(即:(空格)changeme)
感谢OpenStackPro用于展示如何配置选择
您可以使用
测试您的设置ldapsearch -x -D "cn=admin,dc=example,dc=com" -w "changeme"
输出应该是这样的
# extended LDIF
#
# LDAPv3
# base <> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# search result
search: 2
result: 32 No such object
# numResponses: 1
这意味着,您的 LDAP 数据库中(还)没有任何内容,但至少您能够登录 :-)
如果你得到类似的东西
ldap_bind: Invalid credentials (49)
您需要仔细检查您的管理员 DN 和密码。您可以使用
检查您的管理员 DNsudo slapcat -n0 | grep olcRootDN
安装包
sudo yum -y install openldap openldap-servers openldap-clients
首先得到一个密码哈希值
slappasswd -s changeme
请注意,CentOS 套件使用 my-domain.com 而不是 example.com,因此您可能需要相应地调整命令。
在类似init.ldif 的文件中创建一个初始 ldif:
dn: dc=my-domain,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: my-domain.com
dc: my-domain
dn: cn=admin,dc=my-domain,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: {SSHA}rX8oWGKW6B7mKY+nUJhrv4g1pPH5KtQg
要将此配置写入您的 LDAP,请使用:
sudo slapadd -F /etc/openldap/slapd.d -b "cn=config" -l init.ldif
同样,您可以使用
测试您的设置ldapsearch -x -D "cn=admin,dc=my-domain,dc=com" -w "changeme"
(见上文“Ubuntu”)
关于linux - 如何使用 ldapmodify 对 slapd OLC 进行初始设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28937889/
我想将成员添加到 AD 通讯组。我输入以下命令(在某些地方输入虚拟值): ldapmodify -v -h 111.111.111.11 -D "CN=binding_user,DC=exampl
我在 CentOS 上设置 LDAP 服务器时遇到了某种僵局。我使用/etc/openldap/slapd.d下的在线配置文件该文档告诉您不要手动修改这些文件,并且这些文件是校验和的。但是我不能使用
我正在尝试在 shell 脚本中运行 ldapmodify 命令,但我不想指定包含命令的外部文件(-f 标志)。这只是为了方便——外部文件中的命令是动态的,所以最好避免每次 shell 脚本运行 ld
我正在研究各种 LDAP 操作的脚本。但是,我在创建 Active Directory 用户时遇到了一些障碍。 当我通过 ldapmodify 加载以下 LDIF 时失败命令: dn: CN=Fran
我目前尝试通过 Linux 上的 LDAP 更改我们的 Active Directory Envoirenment 中的密码,因为有问题的用户无权访问 Windows 机器,我们希望保持这种方式。 为
我设法对属性执行 STARTTLS ldapmodify (-ZZ),但无法使用 javax.naming.ldap 编码执行相同的修改 服务器是 OpenLDAP。具有可修改的SSigned SSL
当尝试 ldapmodify 通过 SSL(636) 设置 unicode 密码(使用正确的编码)时,操作失败并且 Active Directory 返回以下错误代码: 0000052D: SvcEr
我是一名优秀的程序员,十分优秀!