roger: passwd schreiben perl/php ?

hallo zusammen!
ich möchte einen user in die passwd schreiben. dazu habe ich nat. keine berechtigung - in der normalkonfiguration meines servers.
auslesen geht ja schon prima, wenn ich das skript per -U starte, allerdings hat das skript keine schreibrechte auf die passwd (da ja wwwrun).
wie kann ich das umgehen, ohne grossartige sicherheitseinbusen (möchte perl nicht als admin laufen lassen, da ja noch genug andere darauf zugreifen sollen)?
ich habe volle root rechte auf meinem server, möchte aber trotzdem die passwd per http verändern (also mit einem perlskript, das nat. per http aufgerufen wird)...

dachte mir das ganze mit system() durchzuführen, aber selbst hierfür brauche ich eine schreibberechtigung auf die passwd!

eine möglichkeit wäre ja evtl. noch einen server auf einem bestimmten port lauschen zu lassen (so wie webmin das tut), dass aber möchte ich vermeiden.

irgend welche vorschläge / hinweise?
wäre euch echt dankbar!

achja, falls es eine lösung in php gibt würde mir das auch genügen.
roger.

  1. Hi roger,

    wie kann ich das umgehen, ohne grossartige
    sicherheitseinbusen

    definiere "großartig".

    Offensichtlich wirst Du einen Mechanismus schaffen müssen, der in der Lage ist, eine Datei des Benutzers "root" zu verändern - und noch dazu eine ziemlich wichtige Datei.

    Jeder, der diesen Mechanismus aktivieren kann, kann sich selbst auf diesem System zu "root" machen (indem er einen Benutzer mit einem Namen seiner Wahl und der id "0" einträgt) und dann tun, was immer er lustig findet. Und das könnte sich erheblich von dem unterscheiden, was _Du_ lustig findest ...

    ich habe volle root rechte auf meinem server, möchte
    aber trotzdem die passwd per http verändern

    Überlege Dir, welchen Preis Du dafür zu zahlen bereit bist. Es hat seinen Grund, warum eine so wichtige Datei entsprechend gut schreibgeschützt ist.

    dachte mir das ganze mit system() durchzuführen,
    aber selbst hierfür brauche ich eine
    schreibberechtigung auf die passwd!

    Natürlich. Wenn Du das könntest, dann könnte es auch jeder, der ein beliebiges Passwort Deines Servers geknackt hat.

    eine möglichkeit wäre ja evtl. noch einen server
    auf einem bestimmten port lauschen zu lassen (so
    wie webmin das tut), dass aber möchte ich vermeiden.

    Auch das ändert nichts daran, daß dann ein Programm unter "root" laufen müßte, welches alle Eingaben an diesen Port irgendwie "ausführen" würde. Wobei dies m. E. sogar die schlimmere Sicherheitslücke wäre - denn diese kann ein Angreifer sogar von außen nutzen, ohne vorher eines Deiner Passworte gebrochen zu haben.

    irgend welche vorschläge / hinweise?

    Mach's nicht.

    Viele Grüße
          Michael