Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/11/2010, 09:58
de-troit
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No logro enjaular a usuarios en Servidor FTP (VSFTPD) - Ubuntu 10.10

Ya lo solucioné, gracias de todos modos.

THE SOLUTION:

El problema es que userlist_file=directorioArchivo es la regla que se utiliza para los usuarios que NO puedan acceder a todos los archivos del sistema, en cambio la regla chroot_user_list=directorioArchivo cumple la función de otorgar permisos de root a los usuarios permitiéndoles así poder acceder a todo el sistema.

Para que esto funcione deben estar incluídas estas reglas en el archivo vsftpd.conf (normalmente ubicado en /etc/vsftpd.conf):

Código:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=directorioArchivo
Deben tener como valor booleano YES, y el archivo 'directorioArchivo' (ej.> /etc/vsftpd/vsftpd.chroot_list) debe estar vacío. Si se les ponen valor booleano = NO, no funcionará permitiendo al usuario acceder a todos los archivos.

Dejo también la solución a un problema que tuve antes por si el caso:

Para crear los usuarios FTP y para que pudieran acceder a sus respectivas carpetas en las que tuvieran permisos sin que aparezcan en la lista de inicio de sesión del servidor, y sin que pudieran ejecutar comandos en el shell, lo hice con el comando:

Código:
sudo adduser -home directorioBase --no-create-home --shell /bin/false nombreUsuario
(luego pide unos datos a completar como la contraseña).

En donde le asigné al parámetro --shell una shell falsa, como dije anteriormente, para que no pudiera ejecutar comandos en la Terminal y para que no aparezca en la lista de inicio de sesión, ya que sería muy molesto, y donde el parámetro --no-create-home hace que no se le cree un sistema de documentos como el home del usuario root del servidor. Entonces luego al iniciar sesión en la Terminal (o vía navegador si es que tienes un servidor activo con apache), lo que pasaba era que ponía los datos del usuario correctamente pero aún así retornaba: "Login incorrect" como si los datos estuvieran malos. La solución era agregar a la shell el /bin/false, de esta forma:

Código:
sudo gedit /etc/shells (o el directorio en que se encuentre)
y agregar al final del documento estas líneas:
Código:
#Para usuarios vsftpd:
/bin/false
Luego guardé el archivo y reinicié los servicios de vsftpd en la terminal con el comando:

Código:
sudo /etc/init.d/vsftpd restart
Y todo solucionado!! :D

Espero evitarle los dolores de cabeza por los que pasé yo a cualquiera que tenga los mismos, saludos foreros!

Última edición por de-troit; 17/11/2010 a las 12:32