useradd
-
Hi folgender Code treibt mich in den Wahnsinn:
char *param[]={"useradd", "-s /bin/false", usrname, NULL}; char *umg[]={"PATH=/usr/sbin", NULL}; execve("/usr/sbin/useradd", param, umg); delete[] usrname;
Wenn ich dieses Programm über den Browser aufrufe legt er mir zwar den User an aber eben nicht mit /bin/false als shell sondern mit /bin/bash ich möchte aber
vermeiden das sich die User einloggen können. usrname lese ich aus QUERY_STRING aus.(ja ich hab Hallo;rm -rf abgefangen)MFG eiskalt
-
(ja ich hab Hallo;rm -rf abgefangen)
das macht nichts, da du ja die Argumente nicht an die Shell übergibst, wenn jemand "Hallo;rm -rf" angibt, legst du eben nur den User "Hallo;rm -rf" an
zum Problem
Du musst als Argument"-s","/bin/false"
angeben!
-
andere Frage noch
wenn ich mittels
useradd -p passwd benutzername
einen Benutzer anlege dann habe ich das bei passwd angegeben Passwort als
Klartext in mein shadow-datei drinstehen folglich kann sich der user auch nicht
einloggen.wenn ich dass Passwort ändere mittels
passwd username
gehts aber das Problem ist das ich ein CGI-script Programmieren muss mit dem ich passwörter vergeben kann und ich habe keine Ahnung wie das mit passwd funktionieren soll.
MFG eiskalt