Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/03/2005, 05:21
Pocholo
 
Fecha de Ingreso: marzo-2005
Mensajes: 1
Antigüedad: 19 años, 1 mes
Puntos: 0
cambiar de usuario en tiempo de ejecución

Mi problema es el siguente...

necesito poder crear usuarios de linux medante php, para lo cual tengo 2 vías... el uso de cgi y/o scripts o el uso de sudo... (descarto la manipulación directa de los archivos por engorrosa )

me decanto por la opción de instalar sudo por la flexibilidad que me da... pero a la vez resulta un peligro en cuanto a seguridad que apache (+ bien el usuario de apache) tenga derechos para poder ejecutar instrucciones como useradd, usermod o userdel.

me gustaría pues que el usuario con estos derechos fuese distinto al de apache.

con lo cual el script quedaría algo así como:

<?php
$user_name="dummy";
$pass="dummy_pass";
change_the_user($user_name,$pass); // <-(existe esta función?)
exec("sudo mkdir $this->home_dir");
close_change_the_user();
?>




y la configuración del sudo (/etc/sudoers):

dummy ALL=NOPASSWD:/bin/chown



mi pregunta es... tiene php alguna función para poder cambiar de usuario en tiempo de ejecución?

módulos como el suPHP o el uso de suEXEC no son válidos tb por problemas con la seguridad.

Muchas gracias! un saludo!