
저는 일부 고성능 처리를 위해 AWS ParallelCluster 자산을 사용해야 하는 애플리케이션을 작업하고 있습니다. 초기 설정 후 사용자 계정을 추가/제거할 수 있어야 하며 이에 따라 이를 설정하려고 합니다.이 지침이 목적을 위해 클러스터 헤드에 간단한 openLDAP 디렉토리 서비스를 설정하는 방법을 설명합니다.
해당 지침을 성공적으로 따랐으며 LDAP 비관리 계정을 만들 수 있습니다. 루트로 로그인하면 다음 명령을 사용하여 이 계정의 비밀번호를 설정할 수 있습니다.
sudo ldappasswd -H ldap://localhost:389 -x -D "cn=ldapadmin,dc=<stack_name>,dc=internal" -W -S uid=<username>,ou=Users,dc=<stack_name>,dc=internal -y <path/to/file/with/LDAP/password>
이제 새 LDAP 비관리 계정으로 전환할 수 있습니다. 불행하게도 이 사용자로 로그인한 동안 passwd 명령을 실행하면 다음 오류가 발생합니다.
password change failed: Insufficient access
passwd: Authentication token manipulation error
관리자가 아닌 사용자가 자신의 비밀번호를 변경할 수 있도록 openLDAP 애플리케이션을 어떻게 구성합니까?
답변1
링크한 지침은 기본적으로 olcRootDn 쓰기 및 * 읽기를 의미하는 액세스 제어 없이 OpenLDAP 데이터베이스를 만들도록 하는 것으로 보입니다. (모든 OpenLDAP 사용자는 데이터베이스의 모든 내용을 읽을 수 있으며 기본 읽기 제한인 500개를 해결하는 방법을 알아낼 수 있으면 데이터베이스를 덤프할 수도 있습니다.) 먼저 조정하고 싶을 것입니다.
최소 실행 가능:
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to attrs=userPassword
by self write
by * auth
olcAccess: {1}to *
by * read