
Estoy trabajando en una aplicación que requiere el uso de activos de AWS ParallelCluster para un procesamiento de alto rendimiento. Después de la configuración inicial, necesitamos poder agregar/eliminar cuentas de usuario y estoy intentando configurarlo de acuerdo conestas instruccionesque explican cómo configurar un servicio de directorio openLDAP simple en el cabezal del clúster para este propósito.
He seguido con éxito esas instrucciones y puedo crear una cuenta LDAP que no sea de administrador. Cuando inicio sesión como root, puedo configurar la contraseña de esta cuenta siguiendo este comando:
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>
En este punto, puedo cambiar a la nueva cuenta LDAP de no administrador. Desafortunadamente, si mientras estoy conectado como este usuario, ejecuto el comando passwd, aparece el siguiente error:
password change failed: Insufficient access
passwd: Authentication token manipulation error
¿Cómo puedo configurar mi aplicación de openLDAP para que los usuarios no administradores puedan cambiar su propia contraseña?
Respuesta1
Las instrucciones a las que se vincula parecen indicarle que cree una base de datos OpenLDAP sin control de acceso, lo que básicamente significa escritura y * lectura de olcRootDn. (Todos sus usuarios de OpenLDAP pueden leer todo lo que hay en la base de datos e incluso volcarlo si pueden descubrir cómo sortear el límite predeterminado de 500 lecturas). Querrás ajustar eso primero.
Mínimo viable:
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