标签: ldap

来自 ldap 的基于 dn 的 linux 组

有什么方法可以将 LDAP 的基于 DN 的组之一用于 linux 组,而不是使用基于 uid 的 posixGroup 对象类?

更广泛地说,有什么方法可以避免使用一组用于支持 linux 帐户的组和一组其他所有使用的平行组?

linux openldap ldap groups

4
推荐指数
1
解决办法
6892
查看次数

linux机器之间的公共用户帐户

我有一个基本系统,上面有几个(目前是两个)VM,都运行 Ubuntu Server。当我启动一个新的系统时,我必须不断在每个系统上添加我的用户帐户,并授予它 sudo 访问权限等,并且存在密码/私钥未自动同步等问题。

有没有一种简单的方法可以为所有这些用户帐户提供(一个或两个)共享登录?他们需要是具有主目录等的真实帐户。它们也已经存在,因此我需要将它们从普通用户帐户迁移到新解决方案。

LDAP 似乎比我真正需要的稍微(很多)复杂,而且我很难确定 NIS 是否是我想要的。我应该考虑哪些解决方案,以及如何开始?

linux ldap authentication nis user-accounts

4
推荐指数
1
解决办法
1568
查看次数

如何通过 SID 获取(AD)LDAP 人员条目?

给定用户或组的 SID,如何找到属于它的 LDAP 对象?
LDAP 服务器是 Active Directory (Windows Server 2008)。

LDAP 查询字符串会很有用。

active-directory ldap sid

4
推荐指数
1
解决办法
7万
查看次数

使用 cn=config 说服 openldap 在 Ubuntu 上使用 SSL

我根本无法让这个(到 openldap 的 TLS 连接)工作,希望得到一些帮助。

我在 ubuntu 10.04 LTS 上有一个可用的 openldap 服务器,它被配置为使用 cn=config 并且我能找到的大部分 TLS 信息似乎都使用旧的 slapd.conf 文件:-(

我一直在很大程度上遵循这里的说明https://help.ubuntu.com/10.04/serverguide/C/openldap-server.html加上我在这里和其他地方读过的东西 - 这当然可能是问题的一部分我还没有完全理解这一切!

我创建了一个 ssl.ldif 文件如下;

dn:cn=config

add: olcTLSCipherSuite
olcTLSCipherSuite: TLSV1+RSA:!NULL
add: olcTLSCRLCheck
olcTLSCRLCheck: none
add: olcTLSVerifyClient
olcTLSVerifyClient: never
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/ldap_cacert.pem
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/my.domain.com_slapd_cert.pem
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/my.domain.com_slapd_key.pem
Run Code Online (Sandbox Code Playgroud)

我使用以下命令行导入它

ldapmodify -x -D cn=admin,dc=mydomain,dc=com -W -f ssl.ldif
Run Code Online (Sandbox Code Playgroud)

我编辑了 /etc/default/slapd 使其具有以下服务行;

SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"
Run Code Online (Sandbox Code Playgroud)

每次我进行更改时,我都会重新启动 slapd /etc/init.d/slapd restart

以下用于测试非 TLS 连接的命令行工作正常;

ldapsearch -d 9 -D cn=admin,dc=mydomain,dc=com -w mypassword \ …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu ssl openldap ldap

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

名称冲突时如何使本地 /etc/group 优先于 LDAP?

我们有一个有效的 LDAP 设置。但是,由于本地文件和 LDAP 中都存在一些用户名和组名,我们最近遇到了一个问题。具体来说,apache 用户和组都存在于:

  • /etc/passwd/etc/group
  • LDAP 作为用户和组

在最近的 yum 更新(CentOS 5)之后,进程的组 ID 似乎已从/etc/groupLDAP 中的值更改为值(而用户 ID 仍然是 中的 ID /etc/passwd)。由于 httpd 需要的一些文件由用户 root 拥有,组 apache (from /etc/group) 但不是全局可读的,这导致了问题。

请注意,我们已经nss_initgroups_ignoreusers apache,.../etc/ldap.conf和中都有/etc/openldap/ldap.conf。此外,在/etc/nsswitch.conf我们有

passwd:     files ldap
group:     files ldap
shadow:     files ldap
Run Code Online (Sandbox Code Playgroud)

和其余的正常点点滴滴。

因此,如果 LDAP 和本地文件中都存在名称,是否有办法确保本地文件中的 ID 优先于 LDAP 中的 ID?

openldap ldap centos

4
推荐指数
1
解决办法
2308
查看次数

适用于 Mac 10.7.1 的 LDAP 用户管理工具

我一直在 Linux 上使用 Luma 来创建和管理 LDAP 用户帐户。我现在有一个 macbook pro,并且正在寻找一个等效的 Macosx 程序 - 在创建新的 inetOrgPerson 时,它会自动正确地生成新的 uidNumber 和 gidNumber 属性。

有任何想法吗?

谢谢!

linux ldap mac-osx

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

我有哪些集中 Unix 用户管理的选项

我们有 15 台 Debian 服务器,而且还在不断增加。

什么是集中用户管理的简单、轻量级的方法?用例将在所有服务器上添加用户,调整特定服务器上的用户访问权限,从所有服务器中删除用户。

LDAP 是一个选项,但似乎对我的需求来说太满了。我更喜欢 useradd/groupadd 的简单性,只是分布在多台机器上。Web 界面会很好但不是必需的。Git 界面可能真的很酷。

unix ldap user-management

4
推荐指数
1
解决办法
2328
查看次数

Slapd 服务无法启动,无法打开 pid 文件

我正在尝试为某些开发人员设置测试 LDAP 服务器,但遇到了一些麻烦。

service slapd start
Run Code Online (Sandbox Code Playgroud)

错误所以我跑

/usr/sbin/slapd -d 1
Run Code Online (Sandbox Code Playgroud)

这最后给了我以下错误:

无法打开 pid 文件“/var/run/ldap/slapd.pid”:13(权限被拒绝)

slapd destroy:释放系统资源。

巴掌停了下来。

/var/run/ldap 的权限如下:

root@pec:/var/run/ldap# ls -ld
drwxr-xr-x 2 openldap openldap 60 2012-07-04 20:45 
Run Code Online (Sandbox Code Playgroud)

所以我不明白为什么仍然拒绝许可。运行 slapd 时,Syslog 提供以下信息:

Jul  4 21:00:27 pec slapd[13758]: @(#) $OpenLDAP: slapd 2.4.21 (Dec 19 2011 15:40:04) $#012#011buildd@allspice:/build/buildd/openldap-2.4.21/debian/build/servers/slapd
Jul  4 21:00:27 pec kernel: [8147247.203100] type=1503 audit(1341428427.953:64):  operation="truncate" pid=13758 parent=20433 profile="/usr/sbin/slapd" requested_mask="::w" denied_mask="::w" fsuid=0 ouid=119 name="/var/run/ldap/slapd.pid"
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出我正确的方向吗?

linux ldap

4
推荐指数
1
解决办法
7972
查看次数

LDIF:如果存在则修改属性;如果不存在则添加

有没有办法在 LDIF 文件中执行以下操作之一?

  • 尝试删除属性时忽略错误(找不到属性)

或者:

  • 如果属性存在,修改它
  • 如果它不存在,请添加它

openldap ldap ldif

4
推荐指数
1
解决办法
6344
查看次数

ldap 查询属于名为 X 的组的用户的 Active Directory 服务器

当我在 CentOS 6.4 上的 bash 提示符下执行此操作时

ldapsearch -LLL -H ldap://adserver.example.com -x -D someuser@example.com -w somepass -b 'OU=Users,DC=example,DC=com' '(&(objectClass=person)(sAMAccountName=testuser))'
Run Code Online (Sandbox Code Playgroud)

我得到

dn: CN=TestUser Surname,OU=Area,OU=Users,DC=example,DC=com
...
objectClass: person
...
cn: TestUser Surname
sn: Surname
...
distinguishedName: CN=TestUser Surname,OU=Area,OU=Users,DC=example,DC=com
...
memberOf: CN=Group1,OU=Area,OU=Users,DC=example,DC=com
memberOf: CN=Gropu2,OU=Users,DC=example,DC=com
...
sAMAccountName: testuser
Run Code Online (Sandbox Code Playgroud)

我只想在 testuser 属于名为 X 的组时得到响应,而不管组 X 在 AD 层次结构中的位置。例如:我想要名为 testuser 的用户的数据,该用户是名为 Group1 的组的成员。

我尝试将过滤器更改为:

  1. (&(objectClass=person)(sAMAccountName=testuser)(memberOf=CN=Group1*))
  2. (&(objectClass=person)(sAMAccountName=testuser)(memberOf=*Group1*))

无济于事。

从上面的输出可以看出, testuser 属于组

  1. CN=Group1,OU=Area,OU=Users,DC=example,DC=com
  2. CN=Gropu2,OU=Users,DC=example,DC=com。

当我使用过滤器 '(&(objectClass=person)(sAMAccountName=testuser)(memberOf=CN=Group1,OU=Area,OU=Users,DC=example,DC=com))' 它可以工作,但我需要一个仅使用组名查询(不使用完整的“路径”)。

有什么办法吗?

我尝试这样做是因为我需要使用 Active Directory 定义的组作为 squid(linux 代理)ACL。为此,我需要定义一个外部 ACL 类型,例如

external_acl_type ADGroup %LOGIN …
Run Code Online (Sandbox Code Playgroud)

linux openldap active-directory ldap

4
推荐指数
1
解决办法
7293
查看次数