¿Estas atascado? ¡Yo te ayudo!, pregunta aquí.

Agregar usuarios FTP y asignarles acceso solo a un directorio.

Todo sobre linux, programas para linux, configuraciones de sistema linux, etc..

Notapor alexiter » Jue Feb 20, 2020 11:37 am

Para crear un usuario del grupo FTP tan solo tenemos que lanzar la siguietne instrucción:

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
alexiter
Site Admin
 
Mensajes: 157
Registrado: Dom Nov 17, 2013 9:54 pm

Volver a Linux

  • Buscar mensajes nuevos
  • Buscar temas sin respuesta
  • ¿Quién está conectado?
  • Hay 16 Usuarios identificados :: 1 registrado, 0 ocultos y 15 invitados (basados en usuarios activos en los últimos 5 minutos)
  • La mayor cantidad de usuarios identificados fue 619 el Dom May 03, 2020 11:11 pm
  • Usuarios navegando por este Foro: Google [Bot] y 15 invitados