VSFTPD: para wordpress

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