标签: ldap

使用 LDAP 作为 git 存储库的身份验证方法

我想说服我的老板我们应该使用 git 进行版本控制。他说,它绝对必须通过我们的中央 LDAP 服务器对用户进行身份验证。

我查看了各种解决方案(gitweb、gitorious ...),并没有真正找到关于它们是否支持 LDAP 身份验证的明确答案。

我能找到一些信息的唯一解决方案是 Apache+mod_ldap 设置。但这意味着在 LDAP 上进行身份验证的用户不一定与实际的 git 用户相同,对吗?(并不是说这是一个大问题,而是一些会让我烦恼的事情。)

那么,通过 LDAP 对 git 用户进行身份验证的最佳方法是什么?

ldap git

15
推荐指数
1
解决办法
2万
查看次数

LDAP:如何将人员添加到现有组?

使用命令行 (Linux) 或 LDIF,我可以找到许多创建新组并定义其成员的示例,但没有这样的示例:

如何将用户添加到现有组?

假设这个人也已经存在。

例如将用户添加uid=fred,ou=people,dc=example,dc=com到组cn=vipb,ou=groups,dc=example,dc=com

ldap ldif

15
推荐指数
1
解决办法
5万
查看次数

肯定有一个基于 FOSS 的基于 Web 的 LDAP 密码重置应用程序,对吧?

似乎每家在某个时候使用 LDAP 的商店都必须拼凑一些东西,让用户在不打扰 IT 人员的情况下重置密码。工作流程几乎总是这样:

  1. 用户提供用户名 (jblow)
  2. 电子邮件 jblow@company 链接
  3. 用户点击链接,输入新密码

在后端,这对应于:

  1. Web 表单获取用户名,将(用户名,大唯一字符串)存储在数据库中,将大唯一字符串通过电子邮件发送到 username@company
  2. 其他表单点击https://site/pwreset/big unique string ,使用它来验证用户,更改他们的密码

对?那么,有人写过他们分享的其中一篇吗?我宁愿使用一个比每个人似乎都做的 10 分钟工作更深思熟虑的工作。

我对 Sourceforge、Freshmeat 等进行了快速搜索,但没有找到任何未被遗弃的东西。

ldap password-management password-reset

15
推荐指数
2
解决办法
1万
查看次数

使用 LDAP 和 PAM 限制帐户登录

我希望一些 PAM/LDAP 专家可以在这里帮助我。我最近在 Ubuntu Server 上设置了一个 LDAP 目录来保存我的客户(用于基于 Web 的系统)和员工(需要通过 SSH 登录)的帐户。

LDAP 身份验证工作正常。但是,我无法使帐户限制起作用:员工帐户将在2001和之间具有 ID ,2999并且将成为ssh-users组的成员以允许他们登录到服务器。

有问题的限制在/etc/ldap.conf、 和pam_min_uidpam_max_uidpam_groupdn

pam_groupdn包含我ssh-users组的完整 DN 。 pam_min_uid=2000pam_max_uid= 2999

现在,我通过添加以下内容设法让它们工作:

account [success=1 default=ignore] pam_ldap.so
Run Code Online (Sandbox Code Playgroud)

中的pam_unix.so线以上/etc/pam.d/common-account。但是,本地 Unix 帐户无法登录:SSH 服务器在尝试后立即终止连接。

我已经在上面的文件中设置了pam_ldap.so模块sufficient,但是无效的用户收到一条消息,说他们无法登录,但无论如何它都会登录。

那么,如何为 LDAP 用户设置这些帐户限制,同时仍然允许 UNIX 用户登录?

你可能猜到我是 PAM 的新手,尽管我已经设法让“自动创建主目录”模块正常工作:-)

非常感谢,安迪

ubuntu ldap pam

14
推荐指数
2
解决办法
2万
查看次数

使用 ldapsearch 列出组成员

我们的企业 LDAP 目录位于 Snow Leopard Server Open Directory 设置中。我正在尝试使用该ldapsearch工具导出 .ldif 文件以导入另一个外部 LDAP 服务器以进行外部身份验证;基本上是试图能够在内部和外部使用相同的凭据。

我已经开始ldapsearch工作并为我提供了“用户”OU 中所有内容的内容和属性,甚至过滤到仅我需要的属性:

ldapsearch -xLLL -H ldap://server.domain.net / 
 -b "cn=users,dc=server,dc=domain,dc=net" objectClass / 
 uid uidNumber cn userPassword > directorycontents.ldif
Run Code Online (Sandbox Code Playgroud)

这为我提供了可以导入到远程 OpenLDAP 服务器的用户和属性列表。

dn: uid=username1,cn=users,dc=server,dc=domain,dc=net
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: organizationalPerson
uidNumber: 1000
uid: username1
userPassword:: (hashedpassword)
cn: username1
Run Code Online (Sandbox Code Playgroud)

但是,当我在 OD“组”而不是“容器”上尝试相同的查询时,结果是这样的:

dn: cn=groupname,cn=groups,dc=server,dc=domain,dc=net
objectClass: posixGroup
objectClass: apple-group
objectClass: extensibleObject
objectClass: top
gidNumber: 1032
cn: groupname
memberUid: username1
memberUid: username2
memberUid: username3
Run Code Online (Sandbox Code Playgroud)

我真正想要的是根据组成员身份过滤的顶部示例中的用户列表,但看起来成员资格是从组方面设置的,而不是用户帐户方面。必须有一种方法可以过滤掉它并只导出我需要的东西,对吗?

ldap mac-osx-server opendirectory

14
推荐指数
1
解决办法
13万
查看次数

Linux + Active Directory 身份验证 + 仅允许某些组登录

我有一些使用 Windows Active Directory 身份验证的 linux 机器,效果很好(Samba + Winbind)。

我现在想做的是只允许某些人或某些组使用 Active Directory 凭据登录。目前任何拥有有效 AD 帐户的人都可以登录。我想将其限制为仅几个组。这是可行的吗?

linux active-directory ldap samba winbind

14
推荐指数
1
解决办法
5万
查看次数

集成 Active Directory 的 DNS 在哪里存储其数据?

这已经困扰我一段时间了。

我们都知道 Active Directory 是一个 LDAP 数据库。

我们还知道,Windows DNS 服务在域控制器上运行时,可以将其数据存储在 AD 中而不是纯文本区域文件中,从而利用 AD 自动复制并消除对主/辅助 DNS 服务器的需要。

问题:DNS 数据实际存储在 Active Directory 中的位置方式

是否可以使用 ADSIEdit 等 LDAP 工具访问它们?
任何 DNS 条目是实际的 LDAP 对象吗?
对象中的属性?
完全不同的东西?

domain-name-system active-directory database ldap schema

14
推荐指数
1
解决办法
3万
查看次数

libpam-ldap 还是 libpam-ldapd?

我正在我的个人 VPS 上设置 LDAP 身份验证,Ubuntu 有两个用于相同目的的软件包:libpam-ldaplibpam-ldapd. 我应该使用哪个?

ubuntu debian ldap authentication pam

14
推荐指数
3
解决办法
7412
查看次数

使用 ldapsearch 进行分页

我正在通过 slapd.conf 搜索一个 LDAP 目录,该目录的结果数量比当前设置的 sizelimit 多得多,500,对于所有意图和目的都无法更改)

我的想法是继续运行 ldapsearch,但每次都从不同的偏移量(501、1001 等)运行,直到获得所有结果。

我已经看过ldapsearch手册页,看来这是使用 -E 选项为您处理的:

-E [!]<ext>[=<extparam>] search extensions (! indicates criticality)
         [!]domainScope              (domain scope)
         [!]mv=<filter>              (matched values filter)
         [!]pr=<size>[/prompt|noprompt]   (paged results/prompt)
         [!]subentries[=true|false]  (subentries)
         [!]sync=ro[/<cookie>]            (LDAP Sync refreshOnly)
                 rp[/<cookie>][/<slimit>] (LDAP Sync refreshAndPersist)
Run Code Online (Sandbox Code Playgroud)

所以我试过: ldapsearch -h $HOST -p $PORT -x -L -b "$BASE" '*' '+' -E pr=$SIZE

但是,当结果(例如,即使是大小为 50 的分页结果)达到 500 时,我也会收到与结果未分页相同的错误:

Size limit exceeded (4)

我在手册页中看到 virtuallistview 有另一个选项,但无法找到它的示例,而且我认为我的 ldapsearch 版本没有这个选项。

此处的目标是使用 ldapsearch 和 -L 选项创建备份,以创建适合还原数据库的 ldif 文件。

一些谷歌搜索出现了我遇到的同样问题,但没有一个适用的解决方案..

ldap

14
推荐指数
2
解决办法
3万
查看次数

添加国家时“没有全球优势知识”

我必须将organizationalunit这样的添加到新安装的 OpenLDAP(在 Ubuntu 12.04 上):

dn: ou=MYREGION, ou=MYAPP, ou=GROUPS, o=myorganization, c=fr
ou: MYREGION
objectClass: top
objectClass: organizationalunit
Run Code Online (Sandbox Code Playgroud)

因此,由于它是一个新的 LDAP,我想我必须先添加fr国家/地区,然后创建该文件:

dn: c=fr
c: fr
objectClass: top
objectClass: country
Run Code Online (Sandbox Code Playgroud)

现在我尝试使用该命令导入它(我没有该服务器的域):

ldapadd -x -D cn=admin,dc=nodomain -W -f country_fr.ldif
Run Code Online (Sandbox Code Playgroud)

但 OpenLDAP 拒绝该命令:

adding new entry "c=fr"
ldap_add: Server is unwilling to perform (53)
    additional info: no global superior knowledge
Run Code Online (Sandbox Code Playgroud)

任何提示?

openldap ldap country

14
推荐指数
2
解决办法
4万
查看次数