11. März 200223 j Hallo! Ich brauche dringend Rat. Ich versuche, mit Perl ein kleines Tool zu basteln, welches Vor- und Nachname aus einer Datei ausliest und automatisch ein Passwort generiert. Dazu muss ich ja root sein und den Befehl useradd eingeben, welcher ja über einen Schalter namens -p verfügt. Wenn ich nun aber über das Tool den Benutzernamen generiere und über den Schalter das erstellte Passwort anhängen möchte, legt das System auch diesen Benutzer an. Leider kann ich mich danach aber nicht am System anmelden mit dieser Kennung. Er sagt dann immer, ich hätte ein falsches Passwort eingegeben, obwohl ich haargenau das generierte eingegeben habe. Was läuft da verkehrt?
11. März 200223 j Aus der Manpage von useradd: --- snip --- -p password specifies an already-encrypted password for the new user. --- snip --- d.h. das Passwort mus bereits verschlüsselt sein... $password = crypt ("passwort", "foobar"); system ("useradd -m -p $password -g users -G foos user"); HTH
11. März 200223 j Vielen Dank für Deine prompte Antwort. Werde es gerne ausprobieren, nur verstehe ich da eins noch nicht. Dieser Befehl crypt: - welche Argumente brauch der? Du hast "passwort" und "foobar" verwendet - muss der im Perl-Programm selbst ausgeführt werden oder über system("crypt",...) ?
11. März 200223 j crypt ist eine Perl-Funktion, die den ersten Parameter nimmt ('password') und ein sog. Salt (in dem Fall 'foobar'), welches du frei wählen kannst... Das ganze kannst du genau so implementieren, wie ich oben geschrieben habe ...
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.