Servidor FTP: Debian GNU/Linux

1 minuto(s) de lectura

Debian

Aunque el protocolo FTP es una tecnología más antigua y por la que quizas hayan pasado ya sus días de gloria, todavía se utiliza en muchos sistemas y dispositivos de hardware.

Por ejemplo algunas cámaras IP te permiten guardar fotos en un servidor FTP y por eso he pensado crearlo en el Servidor, además de petición de un compañero.

Dicho esto vamos a ir entrando en materia, por eso en esta entrada vamos a compartir como realizar de forma sencilla un Servidor FTP.

Usaremos vsftpd ya que es una aplicación libre de Linux que es segura, estable y extremadamente rápida.

Comenzamos actualizando repositorios del sistema e instalando la aplicación:

sudo apt-get update && \
sudo apt-get -y install vsftpd

Debemos detener el servicio en ejecución para poder configurarlo:

sudo systemctl stop vsftpd

El fichero de configuración se encuentra en la ruta /etc/vsftpd.conf y los parámetros que vamos a activar son los siguientes:

  • Desactivar la conexión anónima: anonymous_enable=NO
  • Activar el acceso local: local_enable=YES
  • Habilitar el acceso de escritura: write_enable=YES
  • Activar el uso a ruta enjaulada para mayor seguridad del sistema: chroot_local_user=YES
  • Definir banner acceso: ftpd_banner=...
  • Configurar ruta enjaulada del sistema: user_sub_token=$USER& local_root=/home/$USER/FTP
sudo sed -i 's/^#anonymous_enable=NO/anonymous_enable=NO/g' /etc/vsftpd.conf && \
sudo sed -i 's/^#local_enable=YES/local_enable=YES/g' /etc/vsftpd.conf && \
sudo sed -i 's/^#write_enable=YES/write_enable=YES/g' /etc/vsftpd.conf && \
sudo sed -i 's/^#local_umask=022/local_umask=022/g' /etc/vsftpd.conf && \
sudo sed -i 's/^#chroot_local_user=YES/chroot_local_user=YES/g' /etc/vsftpd.conf && \
sudo sed -i 's/^#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Bienvenid@ a Overclock Server/g' /etc/vsftpd.conf && \
cat << EOF | sudo tee -a /etc/vsftpd.conf
# Mods by Lordpedal
user_sub_token=\$USER
local_root=/home/\$USER/FTP
EOF

A continuación creamos la ruta donde interactuaremos con el servicio y protegemos el acceso a los ficheros:

mkdir -p $HOME/FTP/Compartido && \
chmod a-w $HOME/FTP

Tras haber configurado debidamente el servicio, volvemos a ponerlo en ejecución:

sudo systemctl restart vsftpd

Debes recordar que para conectarte al Servidor de FTP usaras la IP del Servidor, puerto de comunicación 21 y datos de login de tu sistema: usuario/contraseña.

Como posible ejemplo:

ftp://empalador:nocturno@192.168.1.90

NOTA: Si necesitas monitorizar las conexiones al Servidor FTP, puedes consultar el siguiente log: sudo cat /var/log/vsftpd.log

Si además queremos tener un cliente para conectarnos a otros Servidores de FTP, un cliente que recomiendo es FileZilla, que se encuentra libre en los repositorios de GNU/Linux Debian:

sudo apt-get update && \
sudo apt-get -y install filezillla

Y listo!