我们希望向我们的 (Win 2003) AD 层次结构添加一些逻辑结构。我们有一个域和大约 500 个用户。当前,所有用户和计算机都组织到一个 OU 中。所有安全组和通讯组都在第二个 OU 中。组成员资格本质上是基于个人用户的,没有组的嵌套。
我的问题:
我在一家公司担任系统管理员,我需要部署 openLDAP。我已经阅读了很多材料,但我真的不知道从哪里开始。
先说说公司:
服务:
我认为我应该做的:我应该使用 inetOrgPerson 并为我们的组织创建自定义方案。我不确定的是我如何管理这么多不同的登录,以及如何尊重软件知道使用哪个登录。我编写了一个可以存储以下信息的自定义方案:
有人会指出我正确的方向吗?我已经浪费了很多时间搜索它,但无法想出任何东西......真的很感谢你花时间阅读这个问题。
突然,昨天,我的一台 apache 服务器无法连接到我的 LDAP (AD) 服务器。我在该服务器上运行了两个站点,当用户登录到任一站点时,这两个站点都使用 LDAP 对我的 AD 服务器进行身份验证。两天前它一直运行良好。由于未知原因,截至昨天,它停止工作。错误日志只说:
auth_ldap authenticate: user foo authentication failed; URI /FrontPage [LDAP: ldap_simple_bind_s() failed][Can't contact LDAP server], referer: http://mysite.com/
Run Code Online (Sandbox Code Playgroud)
我想也许我的自签名 SSL 证书已经过期,所以我为 mysite.com 创建了一个新证书,但不是为服务器主机名本身创建的,问题仍然存在。我启用了调试级别的日志记录。它显示了与 LDAP 服务器的完整 SSL 事务,直到最后我收到“无法联系 LDAP 服务器”消息时,它似乎都没有错误地完成。我可以在这台服务器上从命令行运行 ldapsearch,我可以登录它,它也使用 LDAP,所以我知道服务器可以连接和查询 LDAP/AD 服务器。只有apache无法连接。
谷歌搜索没有结果,所以我在这里问。任何人都可以提供有关此问题的见解吗?
这是 apache 配置中的 LDAP 部分:
<Directory "/web/wiki/">
Order allow,deny
Allow from all
AuthType Basic
AuthName "Login"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
#AuthBasicAuthoritative off
AuthLDAPUrl ldaps://domain.server.ip/dc=full,dc=context,dc=server,dc=name?sAMAccountName?sub
AuthLDAPBindDN cn=ldapbinduser,cn=Users,dc=full,dc=context,dc=server,dc=name
AuthLDAPBindPassword password
require valid-user
</Directory>
Run Code Online (Sandbox Code Playgroud) 我正在尝试在使用 slapd 2.4.18 版的 ubuntu 9.10 上设置 OpenLDAP 服务器。
初始化并填充新的 hdb 数据库后,一切似乎都正常,但我无法让服务器返回根 DSE。跑步
ldapsearch -x -W -D 'cn=manager,dc=example,dc=org' \
-b '' -s base '(objectclass=*)' +
Run Code Online (Sandbox Code Playgroud)
刚回来
# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: +
#
# search result
search: 2
result: 0 Success
# numResponses: 1
Run Code Online (Sandbox Code Playgroud)
我的 hdb 数据库 ACL 设置如下:
olcAccess: to attrs=userPassword,shadowLastChange
by self write
by anonymous auth
by dn.base="cn=manager,dc=example,dc=org" write
by * none
olcAccess: to dn.base=""
by …Run Code Online (Sandbox Code Playgroud) 有关 Active 和 Open 目录互操作性的绝大多数问题都涉及让 Mac 客户端查看 AD 并对其进行身份验证。
我们想要做的是让 Windows 7 工作站完全针对 Open Directory 进行身份验证。我们尝试将其设置为 NT4 类型的 PDC,但效果不佳。
我们尝试使用 pGina 和 LDAP 后端,它允许身份验证,但不支持授权,因此,如果我们挂载 NFS 共享,用户有权做任何他们该死的事情。不适合安全(实际上完全不可接受)。
我们尝试使用 Samba 服务器(比 Open Directory Server 更新的版本)作为中间件,以便它知道 OD 服务器上的 LDAP 服务器,但使用 Samba 4 而不是 v3。那也没有用。我们可以登录,但不能挂载,如果登录,我们就拥有与 pGina 相同的权限。如果我们在 Windows 中右键单击已安装的驱动器,并查看 NFS UID,它将返回 -2,而不是正确的(映射的)UID。
所以我的最终计划是在 Windows 2008R2 虚拟机中使用 Active Directory。我想要实现的是让 Active Directory 同步它来自 OpenDirectory 的用户数据(只读就可以)。这样,我们就能够将 Windows 7 客户端连接到一个“虚拟域”,该域实际上只是从 OD 的 LDAP 中获取信息。
我找到的所有信息都是关于如何走另一条路的。
有谁知道我们如何做到这一点?
active-directory ldap authentication opendirectory authorization
我想将我的 FreeNAS 服务器配置为身份验证服务器(用户 FreeNAS 本地用户的身份验证到 ubuntu 客户端)和 NAS 服务器,当然。我有 Ubuntu 作为客户端,它们通过 DHCP/PXE 启动,所以我可以快速配置它们。
我将发布上面的进程列表,[OK] 表示正在工作,而 [TODO],你知道......
结构工艺:
我的目标是创建一个网络,我可以在其中插入不同的计算机,并让用户在需要时使用他们的个人计算机登录,访问他们的“家庭”文件,始终无需更改硬盘驱动器上的操作系统。
PS:我可以轻松编辑squashfs,我已经为此制作了一个脚本。
我希望我可以使用一些帮助。
我正在配置 dovecot_ldap,但似乎无法让 dovecot 对 ldap 用户进行身份验证。
以下是我的配置和日志信息:
hosts = 192.168.128.45:3268
dn = cn=Administrator,cn=Users,dc=company,dc=example,dc=com
dnpass = "passwd"
auth_bind = yes
ldap_version = 3
base = dc=company, dc=example, dc=com
user_attrs = sAMAccountName=home=/var/vmail/example.com/%$,uid=1001,gid=1001
user_filter = (&(sAMAccountName=%Ln))
pass_filter = (&(ObjectClass=person)(sAMAccountName=%u))
Run Code Online (Sandbox Code Playgroud)
# 2.0.19: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-33-generic x86_64 Ubuntu 12.04 LTS
auth_mechanisms = plain login
auth_realms = example.com
auth_verbose = yes
disable_plaintext_auth = no
mail_access_groups = mail
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_privileged_group = mail
passdb {
driver = pam
}
passdb {
driver …Run Code Online (Sandbox Code Playgroud) 我正在对客户端的基于 linux 的硬件防火墙进行故障排除。此硬件防火墙连接到 ActiveDirectory 以进行单点登录身份验证。
据我所知,ActiveDirectory 只是 LDAP 的一个变态版本,并使用相同的 BindDN 语法——如果我错了,请纠正我。
客户端已将其配置为他们的 BindDN —— 出于隐私原因替换了实际字符串,但保留了特殊字符和空格。“somerandomplace\fubar fubaz”
这对我来说似乎不是有效的 BindDN 语法,我以前使用过 LDAP,但是当我们点击测试按钮来测试这个 BindDN 时,测试成功了。当我只更改 BindDN 中的一个字符并再次运行测试时,测试失败。
我试图弄清楚这里的问题是什么:
A) 我不完全理解 BindND 和相关语法的细微差别
或者
B) 设备未能正确验证输入并且错误地将测试识别为成功
对于针对 Active Directory DC 进行身份验证的应用程序,显然最好将它们指向主域 DNS 记录而不是特定的 DC 以进行故障转移、负载平衡等。
对于那些迫使您对 DC 的 IP 进行硬编码的应用程序,最佳实践是什么?我们可以对负载均衡器的 IP 地址进行硬编码,这样即使一个 DC 出现故障,该应用程序仍然能够进行身份验证。有没有更好的选择?
我在 Debian 7.1 (OpenLDAP 2.4.31) 上有一个 OpenLDAP 设置,我正在尝试设置 memberof 覆盖。我的配置就像我在互联网上的许多站点上阅读过的一样,但是,它仍然对我不起作用。
问题是实体的 memberOf 属性仅在我创建组时更新,而在我修改或删除组时不会更新。实际上,之前曾在这里问过同样的问题:How do I configure Reverse Group Membership Maintenance on an openldap server? (memberOf),但即使将其检查为已回答,我也无法在答案中找到任何可用信息。(根据评论,即使是原始海报也无法对答案做任何事情......)
我的配置是这样的:cn=config/cn=module{0}.ldif
dn: cn=module{0}
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
olcModuleLoad: {1}memberof
structuralObjectClass: olcModuleList
Run Code Online (Sandbox Code Playgroud)
对于模块:cn=config/olcDatabase={1}hdb/olcOverlay={0}memberof.ldif
dn: olcOverlay={0}memberof
objectClass: olcMemberOf
objectClass: olcOverlayConfig
olcOverlay: {0}memberof
structuralObjectClass: olcMemberOf
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf
olcMemberOfRefInt: TRUE
Run Code Online (Sandbox Code Playgroud)
我添加的组:
dn: cn=test,ou=services,dc=x,dc=y
cn: test
objectClass: groupOfNames
objectClass: top
description: test group
member: cn=Almafa Teszt,ou=users,dc=x,dc=y
Run Code Online (Sandbox Code Playgroud)
我运行的查询:
$ ldapsearch -LLL …Run Code Online (Sandbox Code Playgroud)