您使用过的最好的 OpenLDAP VMWare 设备 (VM) 是什么?
Alias /students /var/www/students
<Location /students>
KrbServiceName HTTP
KrbMethodNegotiate On
KrbMethodK5Passwd On
KrbSaveCredentials off
KrbAuthRealms DOMAIN.LOCAL
Krb5KeyTab /etc/httpd/keytab
KrbAuthoritative off
AuthType Kerberos
AuthName "Please Login"
AuthBasicProvider ldap
AuthzLDAPAuthoritative on
AuthLDAPURL "ldap://dc.domain.local:389/OU=Domain Users,DC=domain,DC=local?userPrincipalName?sub?(objectClass=*)"
AuthLDAPBindDN "CN=ldapsearchuser,CN=Users,DC=domain,DC=local"
AuthLDAPBindPassword ldapsearchuserpass
require ldap-group CN=Students,CN=Users,DC=domain,DC=local
require ldap-group CN=Staff,CN=Users,DC=domain,DC=local
</Location>
Run Code Online (Sandbox Code Playgroud)
这允许所有属于学生/教职员工 AD 组的用户访问http://intranetsite/students后面的页面,而无需指定登录凭据,前提是他们的 IE/Firefox 配置正确。
使用 userPrincipalName 而不是 sAMAccountName 因为 kerberos 模块将 username@REALM 传递给 ldap 模块。
现在我遇到的问题是,如果有人未经授权,他们会看到:
需要授权 此服务器无法验证您是否有权访问所请求的文档。要么您提供了错误的凭据(例如,错误的密码),要么您的浏览器不了解如何提供所需的凭据。
有谁知道如何让它弹出用户名/密码对话框,以便他们可以尝试替代凭据?在未成功获得授权后,我可以让它要求凭据的唯一方法是清除我的缓存。如果我以经过身份验证的用户身份登录到 PC,但没有获得此资源的授权,我将无法提供备用凭据(这可能是一件好事)。
从文档:
使用您喜欢的编辑器编辑提供的 slapd.conf(5) 示例(通常安装为 /usr/local/etc/openldap/slapd.conf)以包含以下形式的 BDB 数据库定义:
Run Code Online (Sandbox Code Playgroud)database bdb suffix "dc=<MY-DOMAIN>,dc=<COM>" rootdn "cn=Manager,dc=<MY-DOMAIN>,dc=<COM>" rootpw secret directory /usr/local/var/openldap-data
但是,我的域是 127.0.1.1 或 localhost,
我应该在 COM 中放置什么而不是 MY-DOMAIN ?
我正在尝试通过 LDAP 服务器设置 linux 登录。
除了设置用户的主目录外,我一切正常。LDAP 数据库中没有可以映射到 homeDirectory 属性的参数,而且我无权更改数据库。
有什么办法可以将它配置为使用 /home/$UID 之类的东西,其中 $UID 是他们用来登录的用户名/来自 LDAP 属性 uid?
谢谢。
有什么简单的方法可以做到这一点?
我试图允许 ldap 用户在客户端机器上更改他们的密码。我也尝试了 pam 能想到的所有方式/etc/ldap.conf& /etc/pam_ldap.conf。在这一点上,我被困住了。
客户端:Ubuntu 11.04
服务器:Debian 6.0
目前的输出是这样的:
sobrien4@T-E700F-1:~$ passwd
passwd: Authentication service cannot retrieve authentication info
passwd: password unchanged
Run Code Online (Sandbox Code Playgroud)
/var/log/auth.log 在命令期间给出这个:
May 9 10:49:06 T-E700F-1 passwd[18515]: pam_unix(passwd:chauthtok): user "sobrien4" does not exist in /etc/passwd
May 9 10:49:06 T-E700F-1 passwd[18515]: pam_ldap: ldap_simple_bind Can't contact LDAP server
May 9 10:49:06 T-E700F-1 passwd[18515]: pam_ldap: reconnecting to LDAP server...
May 9 10:49:06 T-E700F-1 passwd[18515]: pam_ldap: ldap_simple_bind Can't contact LDAP server
Run Code Online (Sandbox Code Playgroud)
getent passwd |grep sobrien4 (注意在使用该帐户进行测试后保持简短,但它会输出所有 ldap 用户): …
我在一个大学环境中工作,该环境过去几乎只为已经在中央用户数据库中拥有“正式”帐户的大学附属机构提供服务。我们越来越多地向不适合这种传统模型的外部合作者(托管的 Subversion/git 存储库、Wiki 访问等)提供服务。
我正在寻找一种工具,可以让我们管理“轻量级”帐户,其中“轻量级”的意思是:
默认情况下,拥有帐户不会授予对任何内容的访问权限(授权将通过组成员身份或特定服务 ACL 获得)。这是流行的 Web 服务的一个非常典型的模型,但我没有太多运气找到一个开箱即用的工具(而且我们真的没有时间或资源自己编写一个)。
有许多工具可以提供自助式密码更改和元数据编辑,但我还没有找到一种可以处理注册部分的工具。我希望 FreeIPA 能够处理这个问题,但据我所知它没有。
您是否知道可以启用此模型的任何工具?我对商业解决方案持开放态度,如果您对类似的事情有很好的经验。
我们目前有许多使用 LDAP 进行身份验证的 Web 应用程序。为此,我们使用 LDAPS 端口 ( 636)将 Web 应用程序指向我们的 AD 域控制器之一。
当我们必须更新域控制器时,这给我们带来了问题,因为另一个 Web 应用程序可能依赖于任何 DC。
我们想将我们的 Web 应用程序指向一个集群“虚拟”IP。该集群将至少包含两台服务器(以便每个集群服务器都可以轮换和更新)。然后,集群服务器会将 LDAPS 连接代理到 DC,并能够找出可用的连接。
对于曾为 AD 的 LDAP 接口创建 HA 集群的任何人:
也许我的问题最初还不够清楚。对此我深表歉意。
这些 Web 应用程序不是由我们开发的,也不是 AD 感知的。他们只要求 LDAP 服务器的主机名/IP 地址。不幸的是,我们必须处理这个限制。我了解SRV records工作原理,但由于这些不是我们的应用程序,因此在这种情况下对我们没有帮助。
我们强迫开发人员修改他们的应用程序以识别 AD 也是不现实的。
唯一的选择是在基础设施内解决这个问题,而不是软件。我的问题是针对任何专门做过这件事的人。
windows-server-2008 cluster active-directory ldap high-availability
我正在尝试在支持 LDAP 的 Ubuntu 12.10 上编译 PHP。我跑了:
apt-get install libldap2-dev
Run Code Online (Sandbox Code Playgroud)
这会将头文件安装到/usr/include.
但是,在尝试编译时无法找到头文件。我也尝试过--with-ldap=/usr/include,但仍然失败:
configure: error: Cannot find ldap.h
Run Code Online (Sandbox Code Playgroud)
我还尝试使用以下符号链接,但仍然出现相同的错误:
ln -s /usr/lib/ldap* /usr/lib/
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助。