pam_ldap:如何在 getent 输出中隐藏密码哈希

pam_ldap:如何在 getent 输出中隐藏密码哈希

我的问题类似于。我用pam_ldap对于用户身份验证。/etc/nsswitch.conf文件包含:

passwd:         files ldap
group:          files ldap
shadow:         files ldap

一切似乎都正常,但我需要在getent passwd输出中隐藏 LDAP 用户的密码哈希值。

  1. 我读过了人 5 pam_ldap并且没有找到任何有用的/etc/ldap.conf文件参数。
  2. 我阅读了有关sssdnslcd找到了enumerate选项。它很有用,但我现在不想安装任何这些服务。

如果我使用,是否可以隐藏密码哈希pam_ldap


用户示例tester

dn: cn=tester,ou=users,dc=example,dc=org
objectClass: inetOrgPerson
objectClass: person
objectClass: organizationalPerson
objectClass: top
objectClass: posixAccount
cn: tester
gidNumber: 10000
homeDirectory: /home/tester
sn: Tester
uid: tester
uidNumber: 10000
loginShell: /bin/bash
userPassword: {CRYPT}$1$......

我的openldap访问配置:

access to attrs=userPassword
        by self write
        by anonymous auth
        by users none

access to * by * read

我的 pam_ldap 配置:

uri     ldap://my_host
base    dc=example,dc=org
binddn  cn=admin,dc=example,dc=org
bindpw  myPass
ldap_version    3
port    389
scope   one
timelimit       30
bind_timelimit  10
bind_policy     soft
nss_connect_policy      persist
idle_timelimit  3600
nss_paged_results       yes
pagesize        1000
pam_filter      objectclass=posixAccount
pam_login_attribute     uid
pam_lookup_policy       yes
pam_password    md5
nss_initgroups_ignoreusers      root
nss_schema      rfc2307bis
nss_base_passwd ou=users,dc=example,dc=org?one
nss_base_shadow ou=users,dc=example,dc=org?one
nss_base_group  ou=groups,dc=example,dc=org?sub
ssl     no
TLS_REQCERT     allow

答案1

不使用LDAP为了阴影地图。这完全没有必要,因为即使是旧的pam_ldap可以通过 LDAP 简单绑定请求检查用户的密码,因此不需要对密码散列具有读取权限。

还可以考虑使用固态硬盘或者nss-pam-ldapd(也称为NSCD)因为这些将 LDAP 连接与使用 PAM 堆栈的进程分离。

相关内容