- Código: Seleccionar todo
sudo useradd -g ftp -d /ruta/carpetaFTP -c "Nombre Usuario" usuarioftp
Explicación:
-g ftp nos añade el usuario que queremos crear al grupo ftp.
-d /ruta/carpetaFTP es la ruta donde queremos que apunte, si es un sitio web por ejemplo será /var/www/sitioweb
-c “Nombre del Usuario” descripción del usuario, pondremos loq ue queramos.
usuarioftp será el usuario con el que accederemos.
ya tenemos el usuario creado, ahora vamos a proporcionarle una contraseña (recomendado tener 6 digitos minimo mezclando mayúsculas, minúsculas y números)
- Código: Seleccionar todo
sudo passwd usuarioftp
nos pedirá que introduzcamos dos veces la contraseña y ya la tendremos creada.
Ahora hemos de añadir el nombre del usuario al fichero: /etc/vsftpd.chroot_list para esto:
- Código: Seleccionar todo
echo "usuarioftp" >> /etc/vsftpd.chroot_list
ATENCIÓN: es importantísimo utilizar “>>” en vez de “>” pues sino borraremos el contenido del fichero para añadir esta nueva linea, en cambio con “>>” se añade el contenido de las comillas al final del fichero.
Ahora Enjaularemos al usuario
Ahora que ya tenemos nuestro grupo y usuario creados, así como la configuración del servidor, sólo nos queda enjaular a dicho usuario. Esto quiere decir que el usuario no podrá escalar en la jerarquía del directorio y sólo permanecerá en su propio directorio.
Buscamos nuestro usuario en el fichero /etc/passwd
- Código: Seleccionar todo
nano /etc/passwd
Copiamos los datos de nuestro usuario, en nuestro caso
- Código: Seleccionar todo
usuarioftp:x:1001:114:usuarioftp:/home/ftp/usuarioftp:
Y lo pegamos en el fichero /etc/vsftpd.chroot_list
Ahora es muy importante que si queremos que nuestro usuario pueda tener permisos de escritura en el directorio HTML (para subir archivos a la web) lo metamos dentro del grupo www-data:
- Código: Seleccionar todo
sudo usermod -a -G www-data elusuarioftp
Puede darser el caso de que tengamos que habilitar la escritura en el directorio chroot (no es recomendable, pero si no queda mas remedio para que funcione...)
- Código: Seleccionar todo
echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf
MUY IMPORTANTE, ES POSIBLE QUE EL SERVICIO SFTP ESTE ACTIVO (SOBRE TODO SI ES UNA DISTRIBUCION SERVER DE LINUX), EN ESE CASO HAY QUE CONFIGURAR SFTP PARA QUE NO PERMITA NAVEGAR POR TODOS LOS DIRECTORIOS AL USUARIO EN CUESTION. (buscar un tutorial de como hacerlo)
Con todo esto ya sólo nos faltaría reiniciar el servicio ftp
- Código: Seleccionar todo
sudo service vsftpd restart