내 문제는 다음과 비슷합니다이것. 나는 사용한다pam_ldap사용자 인증을 위해. /etc/nsswitch.conf
파일에는 다음이 포함됩니다.
passwd: files ldap
group: files ldap
shadow: files ldap
getent passwd
모든 것이 잘 작동하는 것 같지만 출력에서 LDAP 사용자의 비밀번호 해시를 숨겨야 합니다 .
- 내가 읽고사람 5 pam_ldap그리고 유용한
/etc/ldap.conf
파일 매개변수가 발견되지 않았습니다. - 옵션을 읽고 찾았
sssd
습니다 . 유용하지만 지금은 이러한 서비스를 설치하고 싶지 않습니다.nslcd
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 단순 바인딩 요청을 통해 확인할 수 있으므로 비밀번호 해시에 대한 읽기 권한이 필요하지 않습니다.
당신은 또한 사용을 고려할 수 있습니다SSD또는nss-pam-ldapd(또한 ~으로 알려진NSCD) 이는 PAM 스택을 사용하는 프로세스에서 LDAP 연결을 분리하기 때문입니다.