我正在尝试将密码从 LDAP 导入 MySQL 数据库。当我查看userPassword已知密码的属性时,test我得到了这个:
userPassword:: e01ENX1DWTlyelVZaDAzUEszazZESmllMDlnPT0=
Run Code Online (Sandbox Code Playgroud)
此阶段的密码已base64编码,解码后我得到:
{MD5}CY9rzUYh03PK3k6DJie09g==
Run Code Online (Sandbox Code Playgroud)
- 看起来CY9....字符串不是 MD5 哈希,因为它不是 32 个字符长(实际上是 128 位)。
- 它似乎也没有被base64编码,因为我test在解码后没有得到。
-此外,当我生成自己的MD5哈希时,test我得到098f6bcd4621d373cade4e832627b4f6.
我找到了这个 perl 脚本(页面上的第二个),它确实是{MD5}CY9rzUYh03PK3k6DJie09g==从它生成的,test但是当我查看脚本时,我没有看到我缺少什么,因为它看起来像md5散列在base64与{MD5}以下内容连接之前被编码:
$ctx = Digest::MD5->new;
$ctx->add('secret');
$hashedPasswd = '{MD5}' . encode_base64($ctx->digest,'');
Run Code Online (Sandbox Code Playgroud)
有人可以解释从test到的步骤CY9rzUYh03PK3k6DJie09g==吗?
我已经设置了 sssd 和 LDAP。用户进行身份验证并登录。我的问题是 sssd 似乎忽略了 ldap_access_filter 选项并允许所有用户登录。我检查了日志/调试,并且 pam_sss 每次都会授权用户,而不管过滤器如何(我尝试了几个不同的过滤器,结果都相同)。
这是用于配置系统的命令:
authconfig
--updateall --passalgo=md5 --enableldap --enableldapauth \
--ldapserver=ldaps://ldap.example.com \
--ldapbase=ou=people,dc=example,dc=com \
--enableldaptls --enableldapstarttls --disablekrb5 \
--ldaploadcacert=http://certserver/cacerts/cacert.pem \
--enablesssd --enablesssdauth --enableshadow \
--enablecachecreds --enablemkhomedir
Run Code Online (Sandbox Code Playgroud)
这是/etc/sssd/sssd.conf:
[domain/default]
debug_level = 9
ldap_id_use_start_tls = True
cache_credentials = True
ldap_search_base = ou=people,dc=example,dc=com
id_provider = ldap
auth_provider = ldap
ldap_access_filter = memberOf=cn=sysadmins,ou=people,dc=example,dc=com
chpass_provider = ldap
ldap_uri = ldaps://ldap.example.com
ldap_tls_cacertdir = /etc/openldap/cacerts
[sssd]
services = nss, pam
config_file_version = 2
domains = default
[nss]
[pam]
[sudo]
[autofs] …Run Code Online (Sandbox Code Playgroud) 在每次登录或 sudo 提示时,服务器总是在第一次提供密码时拒绝密码,但第二次接受密码。我发现这个线程描述了似乎是相同的问题,但是按照那里描述的解决方案的行玩我的 /etc/pam.d/system-auth 文件对我不起作用。例如,将“try_first_pass”的第一个实例更改为“use_first_pass”会导致登录身份验证不断失败,删除“nullok”也是如此。有谁知道需要更改什么才能使系统第一次接受正确的密码?
/etc/pam.d/system-auth:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient pam_fprintd.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
account required pam_unix.so broken_shadow
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_ldap.so
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3 type=
password …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的公司中部署 freeIPA。网络很简单:
我首先在 VM(包括 Synology NAS)上模拟所有内容。Synology 还应导出 NFS 共享并尽可能与 freeIPA 集成。另外,我希望它为 freeIPA 用户托管 NFS 主目录(主目录当前是客户端的本地目录)。
地位:
关于 Synology 客户端状态和我的具体问题:
ipa-client-installDSM没有,所以我尝试遵循通用和零散的(据我所知没有最新的手册)说明,例如:
感谢您花时间检查我的问题。
我目前正在处理一个以前只出现过一次的问题。回到 1 月 3 日,当它第一次出现时,我们能够重新启动服务器,一切似乎都很好,但现在又回来了。这是一个生产数据库系统,因此有时很难找到重新启动的窗口。我希望在我们几天后再次重新启动以提供另一个临时解决方案之前,能够牢牢掌握这次可能发生的实际情况。开始了...
相关系统的用户身份验证通过 Red Hat Directory Server 9 使用 LDAP 处理。下面描述的问题仅在这台服务器上出现,即使是共享数据库的对应服务器也不会显示相同的症状。截至目前,没有任何 LDAP 帐户能够进行身份验证并登录到服务器。LDAP 身份验证正在由 SSSD 处理,目前无法停止或重新启动。尝试执行任一操作时,SSH 控制台都没有响应。(ctrl-c 无法退出发出的命令)
PS 显示通常的 sssd 相关进程正在运行,但kill -9对它们的尝试似乎并没有成功阻止它们中的任何一个。
ps aux | grep sss | grep -v grep
root 1150 0.0 0.0 150828 2908 ? D 09:05 0:00 /usr/libexec/sssd/sssd_nss -d 0 --debug-to-files
root 7025 0.0 0.0 93616 2504 pts/2 D 16:18 0:00 /usr/sbin/sssd -f -D
root 11148 0.0 0.0 179436 5672 ? D Jan08 16:22 /usr/libexec/sssd/sssd_be -d 0 --debug-to-files --domain …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 LDAP 中创建一个用户,该用户使用对象类 inetOrgPerson 和 groupOfNames(因此我可以使用属性“成员”),但无论我尝试哪种组合,它都不会让我。使用“成员”属性的正确方法是什么?
这是我尝试通过 Apache Directory Studio 添加它时收到的错误消息。
Error while creating entry
- [LDAP: error code 65 - OBJECT_CLASS_VIOLATION: failed for MessageType : ADD_REQUES
java.lang.Exception: [LDAP: error code 65 - OBJECT_CLASS_VIOLATION: failed for MessageType : ADD_REQUEST
Message ID : 113
Add Request :
Entry
dn[n]: uid=sadsadsadadad@test.com,o=test,ou=tenant,dc=test,dc=com
objectClass: groupOfNames
objectClass: organizationalPerson
objectClass: person
objectClass: top
objectClass: inetOrgPerson
uid: sadsadsadadad@test.com
member: cn=user,ou=role,dc=test,dc=com
sn: sadsadsad
cn: sdsadsad
: ERR_61 Entry uid=sadsadsadadad@test.com,o=test,ou=tenant,dc=test,dc=com contains more than one STRUCTURAL ObjectClass: [OBJECT_CLASS ( 2.5.6.9 …Run Code Online (Sandbox Code Playgroud) 我想验证并授权一个 LDAP 组(Windows 上的 ApacheDS 2.0.0-20,使用组中的多个 uniqueMember 属性以及 httpd 配置中的“需要 ldap-group”语句)的所有用户访问 Web 资源。
尝试进行身份验证的用户也是此 LDAP 组的一部分,如果我在 httpd 配置中使用“需要有效用户”语句而不是“需要 ldap 组”语句,则该用户将获得授权。
设置:
ApacheDS LDAP 中的组配置:

httpd的配置摘录:
<AuthnProviderAlias ldap ldapconfig>
LDAPReferrals Off
AuthLDAPBindDN "cn=query,ou=users,o=WJWext"
AuthLDAPBindPassword secretpassword
AuthLDAPURL "ldap://ldap.hostname:10389/o=WJWext?uid?sub"
</AuthnProviderAlias>
...
LogLevel trace7
<Location /xy>
...
AuthType Basic
AuthName "xy"
AuthBasicProvider ldapconfig
AuthLDAPGroupAttributeIsDN on
AuthLDAPGroupAttribute uniqueMember
AuthLDAPMaxSubGroupDepth 0
AuthLDAPSubGroupClass groupOfUniqueNames
Require ldap-group cn=groupname,ou=groups,o=WJWext
...
</Location>
Run Code Online (Sandbox Code Playgroud)
httpd的日志文件显示用户可以通过身份验证,但没有被组授权:
[Tue Nov …Run Code Online (Sandbox Code Playgroud) 我想看看是否有其他人通过安全 LDAP (LDAPS) 使用他们的 Active Directory 设置了 Google Cloud Directory Sync (GCDS aka GADS)。我们一直在通过端口 389 进行同步,我想对该连接进行加密,但是当我切换到端口 636 时,连接失败了。
我正在我域中的成员服务器上运行 GCDS 工具 - 我试图在端口 636 上建立的连接是在 Google 的异地服务器和我的 DC 之间建立的,还是在 GCDS 工具和我的 DC 之间建立的?即使它在 GCDS 工具和我的 DC 之间,它是否仍然需要第 3 方证书还是自签名证书就足够了,因为该软件正在加入域的服务器上运行?我应该在 DC 上运行程序吗?
如果这是我需要第 3 方证书的问题,请提供一些指导,因为我对证书不是特别了解。谢谢!
每当我使用 LDAP/AD 对系统进行身份验证时,我都希望至少有一个“本地”管理员可以进入,即使目录服务出现故障/出现问题。本质上是一个“后门”,以防目录服务出现问题。
这在詹金斯有可能吗?我一次只能看到启用 1 种身份验证方法的选项。
我希望设置一个使用 LDAP 进行后端身份验证的新 Samba 文件共享。LDAP 服务器已经设置,并且 Samba 服务器所在的机器已经设置为允许使用 LDAP 身份验证的 SSH 访问。
Samba/LDAP 集成的最常见用例似乎涉及在 LDAP 服务器上存储 Samba 模式、同步密码、允许通过 Samba 将密码更新到 LDAP,等等。我不是在寻找任何这些 - 我想要做的就是让 Samba 服务器通过 LDAP 匿名身份验证,并检索用户的组数据,以便可以在 Samba 配置中处理授权。
如果重要:
这是我到目前为止所拥有的:
[global]
server string = Samba Server (%v)
workgroup = WORKGROUP
interfaces = eno1
server role = standalone server
log file = /var/log/samba/smb.log
max log size = 10000
log level = 3 passdb:5 auth:5
passdb backend = ldapsam:ldaps://hostname
ldap suffix …Run Code Online (Sandbox Code Playgroud)