我到处寻找解决我的问题的方法,但仍未找到它.我有两个简单的文件,如sladp.conf和mytree.ldif,当我尝试向mytree.ldif添加一些东西时,它一直在问我一个密码(我相信它是在slapd.conf中定义的roopw),但它不起作用.我真的需要帮助.
这些是我的文件:
slapd.conf中
database dbd
suffix "dc=ers,dc=uminho,dc=pt"
rootdn "cn=Manager,dc=ers,dc=uminho,dc=pt"
rootpw ersadmin
directory /usr/local/var/openldap-data
Run Code Online (Sandbox Code Playgroud)
mytree.ldif
dn: dc=ers, dc=uminho, dc=pt
objectclass: dcObject
objectclass: organization
o: ERS
dc: ers
dn: cn=Manager,dc=ers,dc=uminho,dc=pt
objectclass: organizationalRole
cn: Manager
Run Code Online (Sandbox Code Playgroud)
这就是我想要做的和我的回应:
sudo ldapadd -x -D "cn=Manager,dc=ers,dc=uminho,dc=pt" -W -f /etc/ldap/mytree.ldif
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用加密密码了
slappasswd -h {SHA} -s ersadmin
Run Code Online (Sandbox Code Playgroud)
并更改我的slapd.conf文件
password-hash {SHA}
rootpw {SHA}pLEBIPx4rW3eebpwACBGAZkNH4CVBRGW
Run Code Online (Sandbox Code Playgroud)
但它不起作用.提前致谢.
我使用ldap_modify与OpenLDAP 2.4.32和PHP 5.4.6获得的访问错误不足.
给出错误的php函数如下所示:
function set_user($dn, $password, $data)
{
/* This function sets the users infomation */
// Get Configuration Items
$ldapServer = $this->config->item('ldapServer');
$ldapDCRoot = $this->config->item('ldapDCRoot');
// Connect to LDAP
$ldapConnection = ldap_connect($ldapServer);
if($ldapConnection)
{
$r = ldap_bind($ldapConnection, $dn, $password);
if ($r)
{
// Bind completed successfully
$r = ldap_modify($ldapConnection, $dn, $data);
return True;
}
die("Unsuccessful Bind");
}
die("Can't connect to LDAP");
}
Run Code Online (Sandbox Code Playgroud)
$ dn是用户尝试更改其信息及密码的完整DN.$ data是他们正在更新的值,现在数据只包含要更改$ data ['mobile'] ="newPhoneNumber"的电话号码.除了实际上从未实际写入数据之外,这一切似乎都有效.
openldap文件包含在下面,因为您可以看到ACL说我应该可以写入它.
include /etc/openldap/schema/corba.schema
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/duaconf.schema
include …Run Code Online (Sandbox Code Playgroud) 正确的语法是什么,使用ldapsearch,返回AD域中的所有Groups\OU及其嵌套的Groups\OU?我试图从Linux Box查询Windows AD DC,并且需要将此结果返回给Linux机器.
谢谢你的帮助
当我运行下一个命令时,它全是KO:
ldapsearch -x -b "dc=icm,dc=movismart,dc=com" -D "cn=Manager,dc=icm,dc=movismart,dc=com" -W
Run Code Online (Sandbox Code Playgroud)
但是,当我运行它时,这是一个问题"无效的凭证(49)":
ldapsearch -x -b "dc=icm,dc=movismart,dc=com" -D "uid=sysadmin,dc=icm,dc=movismart,dc=com" -W
Run Code Online (Sandbox Code Playgroud)
我的slapd.conf:
loglevel 1
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema
include /etc/openldap/schema/dyngroup.schema
allow bind_v2
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
access to attrs=userPassword
by dn="cn=Manager,dc=icm,dc=movismart,dc=com" write
by self write
by anonymous auth
by * none
access to dn.base="" by * read
access to *
by dn="cn=Manager,dc=icm,dc=movismart,dc=com" write
by * read
database bdb
suffix "dc=icm,dc=movismart,dc=com"
rootdn "cn=Manager,dc=icm,dc=movismart,dc=com"
rootpw {SSHA}9xDlp+gBzA2E4EHXb4KXVkylAll7WmZd
directory /var/lib/ldap
index objectClass eq,pres …Run Code Online (Sandbox Code Playgroud) 我不熟悉证书和openldap.我试图端口别人的工作,从旧的操作系统CentOS-6有openldap-2.4.23.在旧操作系统上,ldap连接没有问题.现在CentOS-6,我在进行简单绑定时遇到以下错误:
TLS error -8179:Peer's Certificate issuer is not recognized.
我/etc/openldap/ldap.conf有一条线:
TLS_CACERTDIR /etc/openldap/certs
Run Code Online (Sandbox Code Playgroud)
我尝试注释掉该行并将以下内容放入文件中,但这并没有改变我收到的错误消息.
tls_reqcert allow
Run Code Online (Sandbox Code Playgroud)
我也尝试只放入以下行,ldap.conf但没有改变错误.我根据这个问题中的信息尝试了这个.
LDAPTLS_CACERT /etc/ssl/certs/ca-bundle.crt
Run Code Online (Sandbox Code Playgroud)
我将文件复制到以下目录中:
/etc/pki/tls/certs/ca.crt
/etc/pki/tls/certs/server.crt
/etc/pki/tls/private/server.key
Run Code Online (Sandbox Code Playgroud)
我别无选择,只能使用openldap-2.4.23.不知道是什么导致了这个错误或者我可以做些什么来排除故障?
提前致谢.SP
我正在尝试向我的 openldap 服务器上的用户添加“邮件”属性,但不知何故它失败了。我尝试使用 ldapmodify 但我得到了这个:
ldap_modify: Object class violation (65)
additional info: attribute 'mail' not allowed
Run Code Online (Sandbox Code Playgroud)
这是我的架构的样子:
# LDIF Export for ou=users,dc=mydomain,dc=com
# Server: (ldap.mydomain.com)
# Search Scope: sub
# Search Filter: (objectClass=*)
# Total Entries: 63
version: 1
# Entry 1: ou=users,dc=mydomain,dc=com
dn: ou=users,dc=mydomain,dc=com
objectclass: organizationalUnit
objectclass: top
ou: users
# Entry 2: uid=tom.hanks,ou=users,dc=mydomain,dc=com
dn: uid=tom.hanks,ou=users,dc=mydomain,dc=com
cn: tom.hanks
description: User account
gecos: tom.hanks
gidnumber: 100
homedirectory: /home/tom.hanks
loginshell: /bin/bash
objectclass: account
objectclass: posixAccount
uid: tom.hanks
uidnumber: 1005
userpassword: blahblah
Run Code Online (Sandbox Code Playgroud) 是否可以通过一行推荐从 LDAP 中删除所有条目?
我试过:
ldapdelete -r 'cn=*,dc=domain,dc=com' -w
Run Code Online (Sandbox Code Playgroud)
但它不起作用。我没有更好的想法;/
我正在尝试通过Apache Directory Studio连接OpenLdap及其工作到网络参数,并检查网络参数是否正常。
但是下一步,我尝试身份验证,但失败,并显示以下消息。
身份验证失败-响应队列已清空,未找到响应。org.apache.directory.api.ldap.model.exception.LdapException:响应队列已清空,未找到响应。在org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper $ 2.run(DirectoryApiConnectionWrapper.java:368)在org.apache.directory.ldap.client.api.LdapNetworkConnection.bind(LdapNetworkConnection.java:1327) )的org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.doBind(DirectoryApiConnectionWrapper) .java:460),请访问org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper。
响应队列已清空,未找到响应。
有没有办法确定 ldapsearch 的 LDAP 密码设置何时过期?我在手册页中没有看到任何可以让我获取此信息的内容。
我在 /var/log/secure 中看到警告消息,警告密码何时过期,所以我知道此信息可以某种方式使用,只是不确定如何使用。
有没有办法执行 LDAP 搜索并将结果保存为表格格式(例如 csv)?
干杯豪尔赫