Pergunta

Estou trabalhando em um script bash para configurar o openldap e adicionar o script ldif com usuários e grupos.

Como posso escrever a senha do script bash?

Este é o script que executo quando pede senha:

ldapadd -h localhost -D "cn=admin,dc=sysadmin1,dc=hioa,dc=no" -W -x -f /etc/ldap/base.ldif

EDITAR:

Eu tentei isso e criei um arquivo passwd.txt com a senha:

ldapadd -h localhost -D "cn=admin,dc=sysadmin1,dc=hioa,dc=no" -W -x -y'passwd.txt' -f /etc/ldap/base.ldif

Mas recebe este erro:

Warning: Password file passwd.txt is publicly readable/writeable
ldap_bind: Invalid credentials (49)

enter image description here

Foi útil?

Solução

cara ldapadd.

-W
Prompt for simple authentication. This is used instead of specifying the password on the command line.

-w passwd
Use passwd as the password for simple authentication.
-y passwdfile
Use complete contents of passwdfile as the password for simple authentication.

Parece que você está procurando uma opção de -w ou -y, não -W

Outras dicas

Existem duas possibilidades:

  1. ldapadd lê a senha da entrada padrão.
  2. ldapadd lê a senha diretamente do TTY atual.

No primeiro caso basta usar algo assim echo 'MySecretPassword' | ldapadd -h localhost -D "cn=admin,dc=sysadmin1,dc=hioa,dc=no" -W -x -f /etc/ldap/base.ldif.O segundo é mais complicado porque você precisa de uma ferramenta como esperar.Verifique se o redirecionamento simples funciona primeiro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top