passwort per script eingeben

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
pagaty
Beiträge: 609
Registriert: 18.10.2003 17:42:45
Wohnort: Aschaffenburg

passwort per script eingeben

Beitrag von pagaty » 08.12.2006 18:27:59

Hallo,

ich versuche ein script zu schreiben, in dem ich ein passwort übergeben kann.

ist es möglich wenn ich in einem script passwd aufrufe das pw über eine variable anzugeben?

danke im voraus

pagaty
--
Kaum macht man es richtig - schon funktionierts

mv /var/log/smalltalk/* /dev/null
(smalltalk hat nichts mit gleichnamigem forum zu tun !!!!)

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 08.12.2006 19:13:39

Kannst du z.B über echo

Code: Alles auswählen

root@gms1:# { echo $PASS; sleep 0;  echo $PASS; } | passwd $USER
Enter new UNIX password: Retype new UNIX password: passwd: Kennwort erfolgreich geändert
oder du kannst auch über ein Perlscript die passwd und shadow Datei direkt bearbeiten:
http://www.debianforum.de/forum/viewtop ... &view=next

Gruß
gms

Benutzeravatar
pagaty
Beiträge: 609
Registriert: 18.10.2003 17:42:45
Wohnort: Aschaffenburg

Beitrag von pagaty » 08.12.2006 19:19:50

cool so einfach?

danke

das mit dem persscript habe ich mir auch schon überlegt, wollte aber versuchen alles in bash zu machen.


vielen dank nochmal für die schnelle hilfe. werde ich gleich versuchen.

lg

pagaty
--
Kaum macht man es richtig - schon funktionierts

mv /var/log/smalltalk/* /dev/null
(smalltalk hat nichts mit gleichnamigem forum zu tun !!!!)

Benutzeravatar
pagaty
Beiträge: 609
Registriert: 18.10.2003 17:42:45
Wohnort: Aschaffenburg

Beitrag von pagaty » 08.12.2006 19:38:30

hi,

bei passwd funktionert es hervorragend (wie du sicher schon wustest)

allerdings habe ich später im script noch einen anderen aufruf (htpasswd) bei dem es nicht funktioniert.

weisst du warum bei folgendem aufruf die pw's nicht gepiped wurden ?

Code: Alles auswählen

{ echo $6; sleep 0; echo $6; } | htpasswd -c /etc/apache2/htpasswd/$2.$3-htusers $2
($6 = passwort als übergabewert; $2 u $3 sind userangaben)

danke

pagaty
--
Kaum macht man es richtig - schon funktionierts

mv /var/log/smalltalk/* /dev/null
(smalltalk hat nichts mit gleichnamigem forum zu tun !!!!)

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 08.12.2006 20:12:37

Kann man bei htpasswd nicht das Passwort direkt als Argument übergeben ? Habe hier keine Manpage von htpasswd, aber meine mich erinnern zu können, daß so etwas möglich ist

Code: Alles auswählen

htpasswd OPTIONS <file> <username> <passwort>
Gruß
gms

[edit]
habs schnell ergoogelt, du brauchst anscheinend die Option "-b" für "batchmode", dann kannst du als letztes Argument das Passwort übergeben
[/edit

Benutzeravatar
pagaty
Beiträge: 609
Registriert: 18.10.2003 17:42:45
Wohnort: Aschaffenburg

Beitrag von pagaty » 08.12.2006 20:30:12

jup

Code: Alles auswählen

htpasswd -b /etc/apache2/htpasswd/$2.$3-htusers $2 $6
hat funktioniert.

manchmal ist die manpage vielleicht google zu bevorzugen. :roll:

danke jetzt läufts

pagaty :D
--
Kaum macht man es richtig - schon funktionierts

mv /var/log/smalltalk/* /dev/null
(smalltalk hat nichts mit gleichnamigem forum zu tun !!!!)

Antworten