Scrivi a Stdin che richiede password
-
21-12-2019 - |
Domanda
Sto lavorando su uno script bash per configurare OpenLDAP e aggiungi lo script LDIF con utenti e gruppi.
Come posso scrivere la password dallo script Bash?
Questo è lo script che corro quando richiede password:
ldapadd -h localhost -D "cn=admin,dc=sysadmin1,dc=hioa,dc=no" -W -x -f /etc/ldap/base.ldif
.
Modifica:
Ho provato questo e creato un file passwd.txt con la password:
ldapadd -h localhost -D "cn=admin,dc=sysadmin1,dc=hioa,dc=no" -W -x -y'passwd.txt' -f /etc/ldap/base.ldif
.
Ma ottiene questo errore:
Warning: Password file passwd.txt is publicly readable/writeable
ldap_bind: Invalid credentials (49)
.
Soluzione
Man 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.
.
Quindi sembra che stia cercando l'opzione di -w
o -y
, non -W
Altri suggerimenti
Ci sono due possibilità:
- .
-
ldapadd
legge la password dall'ingresso standard. -
ldapadd
legge la password direttamente dall'attuale TTY.
Nel primo caso è sufficiente usare qualcosa come questo echo 'MySecretPassword' | ldapadd -h localhost -D "cn=admin,dc=sysadmin1,dc=hioa,dc=no" -W -x -f /etc/ldap/base.ldif
.Il secondo è più complicato perché hai bisogno di uno strumento come aspettarsi .Controlla se il semplice reindirizzamento funziona prima.