Mailinglisten-Archive |
hi, Ich versuche schon seit längerem einen UNIX-User per PHP-Script zu erstellen. Leider will das Script nicht so, wie ich das gerne hätte und mir ist es ein Rätsel weshalb. Ich öffne ein pipe auf /usr/bin/passwd und schreibe dort das Passwort hinein. So sieht der Code aus: $fp = popen("/usr/bin/passwd foo", "w"); fputs($fp, "bar\n"); fputs($fp, "bar\n"); pclose($fp); Die Ausgabe des Scriptes ist: Enter new UNIX password: Retype new UNIX password: passwd: Conversation error Das Script läuft auf GNU/Linux, falls das eine wichtige Information wegen den Pipes sein sollte. Ich habe zu diesem Thema gegoogelt und bin auf obskure Parameter wie /usr/bin/passwd --stdin gekommen, aber offenbar war hier ein anderes UNIX gemeint, denn meines unterstützt das nicht. Die man-page zu passwd war ebenfalls spärlich. Andere Code-Beispiele, die ich gefunden hatte, waren in C geschrieben und benutzten ebenfalls Pipes. Ich frage mich deshalb, was ich falsch mache :) Notfalls müsste ich direkt in /etc/passwd und /etc/shadow schreiben, aber es stört mich einfach, dass obiges Script nicht geht, obwohl es das tun müsste und ich möchte wissen, weshalb das so ist. -daniel
php::bar PHP Wiki - Listenarchive