
Estou trabalhando em um aplicativo que requer o uso de ativos AWS ParallelCluster para algum processamento de alto desempenho. Após a configuração inicial, precisamos adicionar/remover contas de usuário e estou tentando configurar isso de acordo comestas instruçõesque explicam como configurar um serviço de diretório openLDAP simples no cluster head para essa finalidade.
Segui essas instruções com sucesso e consigo criar uma conta LDAP não administrativa. Quando logado como root, posso definir a senha desta conta seguindo 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>
Neste ponto, posso mudar para a nova conta de não administrador LDAP. Infelizmente, se enquanto estiver logado como este usuário, eu executar o comando passwd, recebo o seguinte erro:
password change failed: Insufficient access
passwd: Authentication token manipulation error
Como posso configurar meu aplicativo openLDAP para que usuários não administradores possam alterar suas próprias senhas?
Responder1
As instruções vinculadas parecem fazer com que você crie um banco de dados OpenLDAP sem controle de acesso, o que basicamente significa gravação e leitura de olcRootDn. (Todos os seus usuários do OpenLDAP podem ler tudo no banco de dados e até despejá-lo se conseguirem descobrir como contornar o limite padrão de 500 leituras). Você vai querer ajustar isso primeiro.
Mínimo viável:
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