El Protocolo de Transferencia de Archivos (FTP) es una forma eficiente de transferir archivos entre computadoras. En esta guía, te mostraremos cómo instalar y configurar un servidor FTP en Linux.
1. Instalación de un Servidor FTP en Linux
La mayoría de las distribuciones de Linux ofrecen vsftpd (Very Secure FTP Daemon) como una opción confiable y segura para ejecutar un servidor FTP.
Instalar vsftpd en Debian/Ubuntu
sudo apt update
sudo apt install vsftpd -y
Instalar vsftpd en CentOS/RHEL
sudo dnf install vsftpd -y
2. Configuración Básica de vsftpd
Una vez instalado, hay que editar el archivo de configuración:
sudo nano /etc/vsftpd.conf
Algunas opciones clave que podés modificar:
- Habilitar acceso anónimo:
anonymous_enable=NO
- Permitir usuarios locales:
local_enable=YES
- Habilitar escritura:
write_enable=YES
Guardá los cambios (Ctrl + X
, luego Y
y Enter
).
3. Iniciar y Habilitar el Servicio
Para iniciar y habilitar vsftpd en el arranque del sistema:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Verificá el estado con:
sudo systemctl status vsftpd
4. Configurar el Firewall
Si tenés un firewall activo, abrí los puertos FTP (21 y pasivos 40000-50000):
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw reload
Para CentOS/RHEL, usá firewalld
:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-port=40000-50000/tcp
sudo firewall-cmd --reload
5. Creación de Usuarios FTP
Para agregar un usuario FTP y asignarle un directorio:
sudo adduser usuarioftp
sudo passwd usuarioftp
sudo mkdir -p /home/usuarioftp/ftp
sudo chown nobody:nogroup /home/usuarioftp/ftp
sudo chmod a-w /home/usuarioftp/ftp
Luego, creá una carpeta donde pueda subir archivos:
sudo mkdir /home/usuarioftp/ftp/uploads
sudo chown usuarioftp:usuarioftp /home/usuarioftp/ftp/uploads
6. Prueba de Conexión FTP
Podés probar el acceso FTP usando un cliente como FileZilla o con el comando:
ftp tu-servidor
Ingresá el usuario y contraseña para verificar la conexión.
Conclusión
Con estos pasos, habrás instalado y configurado un servidor FTP seguro en tu sistema Linux. Si necesitás mayor seguridad, podés configurar FTP sobre TLS o considerar alternativas como SFTP (SSH File Transfer Protocol).