- Guia: https://rootear.com/ubuntu-linux/instalar-servidor-ftp
- Instalamos
sudo apt-get install vsftpd
- Abrimos
nano /etc/vsftpd.conf
Los parámetros que modificaremos:
- listen = YES : Para que se inicie con el sistema.
- anonymous_enable = NO : No permitimos que usuarios anónimos puedan conectarse a nuestro servidor. Es por seguridad.
- local_enable = YES : Para poder conectarse con los usuarios locales del servidor donde está instalado.
- write_enable = YES : Si quieres que los usuarios puedan escribir y no sólo descargar cosas.
- local_umask = 022 : Esta máscara hace que cada vez que subas un archivo, sus permisos sean 755. Es lo más típico en servidores FTP.
- chroot_local_user = YES
- chroot_list_enable = YES : Sirven para que los usuarios locales puedan navegar por todo el árbol de directorios del servidor. Evidentemente esto sólo queremos permitírselo a ciertos usuarios, para ello tenemos el siguiente parámetro.
- chroot_list_file = /etc/vsftpd.chroot_list : Indicamos el fichero donde están listados los usuarios que pueden navegar hacía arriba por los directorios del servidor, lo normal es que sea el administrador del servidor.
- Modificamos
listen=NO
X
listen=YES
#write_enable=YES
X
write_enable=YES
#local_umask=022
X
local_umask=022
#chroot_local_user=YES
X
chroot_local_user=YES
#chroot_list_enable=YE
X
chroot_list_enable=YE
#chroot_list_file=/etc/vsftpd.chroot_list
X
chroot_list_file=/etc/vsftpd.chroot_list
- Creamos un grupo de usuarios FTP
groupadd ftp
- Creamos una shell fantasma para que no puedan entrar a la consola del servidor:
mkdir /bin/ftp
- Editamos el listado de shells del sistema:
nano /etc/shells
- Agregamos nuestra shell fantasma:
/bin/ftp
- A este punto podemos crear una carpeta donde el usuario podrá ingresar, pero como lo vamos a utilizar para acceder a wordpress lo vamos a apuntar a la carpeta del sistema
#Al directorio prinicpal solo lectura
chmod 755 /var/www/html/Sitios/siua.ac.cr/
#Subdirectorios todos
chmod 777 -R /var/www/html/Sitios/siua.ac.cr/
- Creamos el usuario que pertenece al grupo FTP
useradd -g ftp -d /var/www/html/Sitios/siua.ac.cr/ -c "Usuario UGIT FTP SIUA" ugitftpsiua
- -g ftp = el usuario pertenece al grupo ftp.
- -d /var/www/html/Sitios/siua.ac.cr. = El directorio principal del usuario
- -c “Usuario UGIT FTP SIUA (Nombre del Usuario)” = el nombre completo del usuario.
- ugitftsiuap = la última palabra será el nombre de usuario
- Creamos la contraseña del usuario (AC2)
passwd ugitftpsiua
- RESULTADO
Introduzca la nueva contraseña de UNIX: AC2
Vuelva a escribir la nueva contraseña de UNIX: AC2
passwd: contraseña actualizada correctamente
- Enjaular al usuario: Esto significa que el usuario no podrá escalar en la jerarquía del directorio y solamente se mantendrá en si directorio.
- Abrimos el archivo
nano /etc/passwd
- Buscamos la linea del usuario
ugitftpsiua:x:1001:114:Usuario UGIT FTP SIUA:/var/www/html/Sitios/siua.ac.cr/:
- NOTA: si no tiene la información de la terminal se la agregamos
ugitftpsiua:x:1001:114:Usuario UGIT FTP SIUA:/var/www/html/Sitios/siua.ac.cr/:/bin/ftp
- Ahora copiamos la linea anterior y abrimos el archivo
nano /etc/vsftpd.chroot_lis
- Una vez realizados todos los cambios reiniciamos el servidor de FTP:
/etc/init.d/vsftpd restart