Autor
|
Tema: [Consulta] Crear usuario local en Ubuntu PHP+MySQL (Leído 2,756 veces)
|
eduardozo
Desconectado
Mensajes: 2
|
Hola Comunidad
Estoy trabajando en un proyecto web, de momento tengo un formulario de registro y LogIn enlazado con una base de datos en MySQL, en decir, Inserto nuevos usuarios en la tabla USERS.
Este tema lo he abierto porque necesito ayuda o consejos de alguien experto como ustedes, bien el asunto es el siguiente:
Necesito que para cada registro nuevo que se almacene en la base de datos se cree un usuario local en ubuntu.
cada vez que el usuario inicie la sesión podrá acceder a su directorio personal, ejemplo: "/home/Usuario" y ver todo el contenido, por ejemplo imágenes.
La tabla de usuarios tiene: iduser=1001 Nombre=John Apellido=Dalton Usuario=jdalton Password=r.f23we Email=@email Path=/home/jdalton
Gracias!
|
|
« Última modificación: 23 Marzo 2015, 12:28 pm por eduardozo »
|
En línea
|
|
|
|
lastre
Desconectado
Mensajes: 9
|
en php puedes usar la función exec() con la que puedes ejecutar un script alojado en el servidor: <?php $nombre_usuario = $_POST["usuario"]; exec("crear_usuario.sh ".$nombre_usuario, $output); // Creo recordar que era algo asi ?>
crear_usuario.sh: useradd $1
NOTA:Tendrias que asegurarte de que la gente no pase valores raros ya que estas pasando lo que el usuario entra directamente al ordenador, asi que ojo.
|
|
« Última modificación: 24 Marzo 2015, 15:50 pm por lastre »
|
En línea
|
|
|
|
[u]nsigned
Desconectado
Mensajes: 2.397
JS/Node developer
|
Por lo que se, es preferible usar la funcion passthru que exec o system. Puedes probar algo asi: <?php $user_name = "unsigned"; $user_pass = "noejecutesesto"; $ret_useradd = 0; $ret_passwd = 0; passthru('useradd -m '.$user_name, $ret_useradd); if ($ret_useradd) { printf("No se pudo agregar usuario, codigo de salida: %d\n", $ret_useradd); } passthru('echo "'.$user_name.':'.$user_pass.'" | chpasswd', $ret_passwd); if ($ret_passwd) { printf("No se pudo modificar password, codigo de salida: %d\n", $ret_passwd); echo exec('userdel '.$user_name); } printf("Usuario Agregado!\n"); ?>
Y por ultimo, no se que nivel de programacion y especificamente de PHP dominas, pero NUNCA JAMAS pases valores de $_POST directamente a la aplicacion sin antes filtrarlos. Y sobre todo menos aun si es un sistema que ejecutara comandos de sistema en el servidor.
|
|
|
En línea
|
No hay atajo ante la duda, el misterio se hace aquí... Se hace carne en cada uno, el misterio es existir!
|
|
|
eduardozo
Desconectado
Mensajes: 2
|
Muchas gracias por responder lastre, && unsigned veo interesante las propuestas y voy hacer pruebas con ésta lógica y os comentaré que tal.
El código anterior ejemplifica la creación del nuevo usuario, pero como hacer la autenticación entre ubuntu(usuario local) y mysql
por ejemplo: asumimos que el usuario esta creado con el script anterior.
la pregunta es: ¿cómo hacer el login?
secuencia: form login(php) --> (consulta la tabla usuarios,user,pass)phpmyadmin -->[Duda...]
recordar que necesito tener acceso al directorio personal para visualizar las imágenes de cada usuario que ha hecho login.
|
|
|
En línea
|
|
|
|
#!drvy
|
la pregunta es: ¿cómo hacer el login? Sinceramente, creo que deberías replantearte toda la lógica de tu proyecto. Lo que estas intentando hacer es un controlador que haga de intermediario entre web y SO. Eso es ineficiente, inseguro y poco lógico en el 99% de los casos. A no ser que estés creando un proyecto tipo Webmin o Cpanel realmente no veo el sentido a todo eso. Si necesitas que cada usuario tenga una carpeta personal puedes crearte tu propio CMS que maneje los directorios o utilizar rutas y registros en la BD. Ten en cuenta que tu servidor HTTP ya se ejecuta bajo un usuario y tiene los privilegios de dicho. Hacer un 'login' mediante el sistema significaría tener que cambiar el usuario por cada login algo realmente ineficiente y no mencionar ni los posibles problemas de seguridad. Es que vamos, para mi no tiene sentido nada de esto.. Saludos
|
|
« Última modificación: 24 Marzo 2015, 18:30 pm por #!drvy »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
crear archivo q mande consulta a base de datos MySql
PHP
|
JAJAcker
|
1
|
2,306
|
11 Mayo 2007, 03:46 am
por SeniorX
|
|
|
crear usuario mysql desde .bat
Scripting
|
Hans el Topo
|
5
|
10,702
|
8 Junio 2008, 14:58 pm
por Hans el Topo
|
|
|
consulta, crackear psw MYSQL local.
« 1 2 »
Bases de Datos
|
freedert
|
13
|
10,154
|
21 Enero 2010, 21:22 pm
por ^Tifa^
|
|
|
crear un usuario que tenga privilegios admin y otro usuario php mysql
PHP
|
centella24
|
3
|
5,486
|
25 Junio 2017, 15:57 pm
por Rambar
|
|
|
Crear primer usuario Ubuntu-desktop (GUI) server
GNU/Linux
|
MA40
|
1
|
2,350
|
3 Junio 2020, 17:22 pm
por MinusFour
|
|