hommling Geschrieben 11. März 2002 Geschrieben 11. März 2002 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? Zitieren
Nachtgeist Geschrieben 11. März 2002 Geschrieben 11. März 2002 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 Zitieren
hommling Geschrieben 11. März 2002 Autor Geschrieben 11. März 2002 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",...) ? Zitieren
Nachtgeist Geschrieben 11. März 2002 Geschrieben 11. März 2002 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 ... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.