On Thu, 3 Jun 2004, Allam Chaves Zamora wrote:
Me puse entonces con mi php para lograr que cualquiera pueda crearse un nuevo ususario desde una paginita sencilla, pero como el grupo apache no tiene permisos para hacer casi nada me la jugue con el "sudo". Estaba haciendo sudo adduser -p contrase�a usuario, pero creo que asi encripta la contrase�a (algo asi entendi de man adduser), como le puedo pasar la contrase�a a adduser o algo similar desde los par�metros???????

Antes que nada: eso que est�s haciendo es bastante peligroso, y ser�a bueno que program�s muy cuidadosamente la aplicaci�n y no expong�s el servicio a la Internet.


Segundo: �adduser o useradd? En mi distribuci�n (Slackware), adduser es un programa interactivo. Como useradd recibe la opci�n -p con el prop�sito que apunt�s, supongo que estamos hablando del mismo software. El comentario en el manual indica que el par�metro para -p es la clave del usuario _ya encriptada_

Eso quiere decir que, en vez de:

 system("useradd [...] -p ".$_POST["clave"]." ".$_POST["usuario"]);

Ten�s que usar algo como:

 system("useradd [...] -p ".crypt($_POST["clave"])." ".$_POST["usuario"]);

Con lo que se toma la clave que env�a el usuario y se encripta antes de prove�rsela como par�metro de -p a useradd. Estudi� la funci�n crypt en el manual de PHP, de manera que te asegur�s de que la clave se genere con el algoritmo y tipo de encriptaci�n apropiados para tu sistema.

Saludos,

______________________________________
        _  ___
   ___ | || | '  Complexity is human
  <_> || || |-    simplicity, divine
  <___||_||_|        SLACKWARE LINUX

Responder a