Anzeige:
Ergebnis 1 bis 15 von 15

Thema: perl und passwd

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.07.2001
    Beiträge
    8

    perl und passwd

    Hy,
    ich habe hier ein Script geschrieben, das ein password für ein user anlegt.
    Aber wo ist der fehler.

    #!/usr/bin/perl
    $passwd="Passwd";
    $user="test12";
    $password="t12xYZ";

    open(PASSADD, "|$passwd $user")||die $_;
    print PASSADD $password;
    print PASSADD $password;
    close(PASSADD);

    Wenn ich dies nun in der Konsole als root ausführe kommt diese meldung:

    Server1:/ # perl addpasswd.cgi
    New password: Password will be truncated to 8 characters
    Re-enter new Password:
    passwd: Conversation error
    Server1:/ #

    Was kann das sein!
    Geändert von Omen (11-02-2002 um 11:01 Uhr)
    System:
    Prozessor: AMD TB 1000 Mhz
    Grafikkarte: ATI Radeon 8500
    Speicher: 384 MB
    Internet: über Modem
    Betriebsystem: SuSE 8 (Kernel 2.4.18-4GB, XFree 4.2)

  2. #2
    Registrierter Benutzer Avatar von lolli
    Registriert seit
    20.09.2000
    Beiträge
    166
    versuche den befehl usermod USERNAME -p VERSCHL_PWD

    #!/usr/bin/perl
    $passwd="usermod";
    $user="test12";
    $password=crypt("t12xYZ","SL"); # SL ist eine beliebiger Zeichenkette (2 Buchstaben lang)

    open(PASSADD, "|$passwd $user -p $pwd")||die $!;
    close(PASSADD);

    oliver

  3. #3
    Registrierter Benutzer
    Registriert seit
    04.09.1999
    Ort
    Oberbayern
    Beiträge
    18
    Hi!

    Meines Wissens hast du so keine Chance, da "passwd" über STDIN nichts
    entgegen nimmt.

    Servus,
    Stefan

  4. #4
    Registrierter Benutzer
    Registriert seit
    30.12.2001
    Beiträge
    444
    Das verschlüsselte Passwort(->Lollis Beitrag) sollte direkt in /etc/passwd oder /etc/shadow eingetragen werden.

    Gruß
    fork

  5. #5
    Registrierter Benutzer Avatar von lolli
    Registriert seit
    20.09.2000
    Beiträge
    166
    @fork:
    geht auch, amcht aber VIEL MEHR arbeiot als mit usermod USER -p xxz


    oliver

  6. #6
    Registrierter Benutzer
    Registriert seit
    30.12.2001
    Beiträge
    444
    Stimmt, das mit mit usermod hatte ich jetzt gar nicht so realisiert.

    Gruß
    fork

  7. #7
    Badgott
    Gast
    Hi es gibt noch eine andere möglichkeit wo du dem passwd dann nacheinander name und pw mitgibst so als würdest du es eingeben die genaue syntax weiß ich nicht mehr ich schaue mal nach und poste sie dann hier :-)


    Gruß Badgott

  8. #8
    Registrierter Benutzer
    Registriert seit
    04.12.2001
    Beiträge
    9
    hmm kannst es ja mal mit useradd probieren, müsste eigentlich funktionieren
    slack up your life -- www.slackware.com

  9. #9
    Registrierter Benutzer
    Registriert seit
    30.07.2001
    Beiträge
    8
    Hy, das mit usermod geht nicht.
    Ich bekomme als Antword:
    usermod: user SLovML73i9.XY does not exist

    mmmmhhh.
    Der user war test12 und das Password war t12xYZ.
    Was ist das für ein ergebnis.
    Schaat mal in das Skript.

    #!/usr/bin/perl
    $passwd="usermod";
    $user="test12";
    $pwd=crypt("$user","SL"); # SL ist eine beliebiger Zeichenkette (2 Buchstaben lang)

    open(PASSADD, "|$passwd $user -p $pwd")||die $!;
    close(PASSADD);

    Und was bedeuted das SL genau.
    System:
    Prozessor: AMD TB 1000 Mhz
    Grafikkarte: ATI Radeon 8500
    Speicher: 384 MB
    Internet: über Modem
    Betriebsystem: SuSE 8 (Kernel 2.4.18-4GB, XFree 4.2)

  10. #10
    Registrierter Benutzer
    Registriert seit
    30.12.2001
    Beiträge
    444
    Der Fehler laesst nur eines vermuten.

    Schau dir mal die man-page von usermod an, dann duerftest Du's sehen.

    Gruß
    Tobias

  11. #11
    Registrierter Benutzer Avatar von lolli
    Registriert seit
    20.09.2000
    Beiträge
    166
    versuch usermod -p dfssdfsdjfhsd USERNAME

  12. #12
    Registrierter Benutzer
    Registriert seit
    30.07.2001
    Beiträge
    8
    Hy,
    so geht es, aber er trägt in der shadow das passwort
    wie
    Deluxe
    oder so und nicht Codiert wie
    LgSfS6iwqAcZa.
    Wenn ich in der konsole dies eingebe
    usermod -p deluxe test12
    System:
    Prozessor: AMD TB 1000 Mhz
    Grafikkarte: ATI Radeon 8500
    Speicher: 384 MB
    Internet: über Modem
    Betriebsystem: SuSE 8 (Kernel 2.4.18-4GB, XFree 4.2)

  13. #13
    Registrierter Benutzer Avatar von lolli
    Registriert seit
    20.09.2000
    Beiträge
    166
    du musst dass passwort vorher verschlüsseln!!!!!

  14. #14
    Registrierter Benutzer
    Registriert seit
    30.07.2001
    Beiträge
    8
    Wie?????????
    System:
    Prozessor: AMD TB 1000 Mhz
    Grafikkarte: ATI Radeon 8500
    Speicher: 384 MB
    Internet: über Modem
    Betriebsystem: SuSE 8 (Kernel 2.4.18-4GB, XFree 4.2)

  15. #15
    Cojun
    Gast
    Im Grunde isses ganz einfach:

    Ein Perl-Skript schreibt ein File mit dem USERADD-Befehl.
    Ein Cronscript führt ein weiteres Script aus welches das File mit dem USERADD-Befehl ausführt. Ich hab sowas mal geschrieben und es funktioniert. Wir verwalten mit sowas einen Mailserver mit zig Domains so, dass es für jede Domain einen Administrativen Benutzer gibt der für seine eigene Domain auch richtige Systemuser anlegen kann.

    Also gehts.

    Gruezeli

    Cojun

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •