Schreibe in stdin, das nach Passwort fragt
-
21-12-2019 - |
Frage
Ich arbeite an einem Bash-Skript, um openldap zu konfigurieren und ein LDIF-Skript mit Benutzern und Gruppen hinzuzufügen.
Wie kann ich das Passwort aus dem Bash-Skript schreiben?
Dies ist das Skript, das ich ausführe, wenn es nach einem Passwort fragt:
ldapadd -h localhost -D "cn=admin,dc=sysadmin1,dc=hioa,dc=no" -W -x -f /etc/ldap/base.ldif
BEARBEITEN:
Ich habe es versucht und ein Passwort erstellt.txt-Datei mit dem Passwort:
ldapadd -h localhost -D "cn=admin,dc=sysadmin1,dc=hioa,dc=no" -W -x -y'passwd.txt' -f /etc/ldap/base.ldif
Bekommt aber diesen Fehler:
Warning: Password file passwd.txt is publicly readable/writeable
ldap_bind: Invalid credentials (49)
Lösung
mann ldaphinzufügen.
-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.
Sie suchen also anscheinend nach einer Option von -w
oder -y
, nicht -W
Andere Tipps
Es gibt zwei Möglichkeiten:
- .
-
ldapadd
liest das Kennwort von der Standardeingabe. -
ldapadd
liest das Passwort direkt aus dem aktuellen TTY.
Im ersten Fall reicht es aus, um etwas wie diesen generationspflichtigen Genuss zu verwenden.Der zweite ist komplizierter, weil Sie ein Tool wie erwarten .Prüfen Sie, ob die einfache Umleitung zuerst funktioniert.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow