Instalación de un servidor FTP en Ubuntu 16.04 LTS
Hola chicos, en este vídeo les muestro de una manera sencilla y básica la instalación y configuración de un servidor FTP en Ubuntu 16.04. A continuación les dejo los comandos utilizados en el vídeo.
Instalación:
sudo apt-get install vsftpd
Comandos para administrar el servicio:
sudo systemctl restart vsftpd
sudo systemctl start vsftpd
sudo systemctl stop vsftpd
sudo systemctl status vsftpd
importarte tener configurado el firewall por defecto que trae Ubuntu, o si se tiene otro instalado es necesario abrir los puertos 20 y 21 que
usa el servicio de ftp por defecto.
CONFIGURACIÓN:
Agregamos un usuario:
sudo adduser nestor
Tras ejecutar este comando nos solicitará que introduzcamos una contraseña.
Al momento de crear el usuario, Ubuntu le asigna el directorio /home/nestor también llamado como el chroot del usuario
Así que debemos enjaular al usuario y para esto se deben cumplir dos condiciones
* El dueño de la carpeta chroot y el usuario que se conecta por FTP no pueden ser el mismo.
* La carpeta chroot no puede tener permisos de escritura
Así que debemos cambiar el dueño de esta carpeta con el siguiente comando:
sudo chown root:root /home/nestor
Si queremos que el usuario pueda subir archivos al servidor FTP, necesitaremos crear una carpeta:
sudo mkdir /home/nestor/ftp_subidas
sudo chown nestor:nestor /home/nestor/ftp_subidas
Quitamos el acceso al interprete de comandos (Shell) del usuario nestor
El problema está en que al quitar acceso a la shell, vsftpd no nos deja acceder al servidor FTP porque el usuario no tiene una shell válida asignada
sudo nano /bin/ftponly
Y agregamos
#!/bin/sh
echo “Esta cuenta solo dispone de acceso por FTP.”
Damos permisos de ejecución a la shell ftponly con el comando:
sudo chmod a+x /bin/ftponly
Editamos la lista de shells válidas con el comando:
sudo nano /etc/shells
Añadimos /bin/ftponly al final de la lista:
se vería algo así:
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/bin/ftponly
Asignamos la shell ftponly a nuestro usuario:
sudo usermod nestor -s /bin/ftponly
Llegados a este punto, ya tenemos nuestro usuario listo. Ahora procedemos a editar el archivo de configuración de vsftpd con el comando:
sudo nano /etc/vsftpd.conf
…
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
…
# You may restrict local users to their home directories. See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
chroot_local_user=YES
#
…
— Redes sociales y contacto —
Facebook: https://www.facebook.com/Nestux-868842059867826/
Telegram: @Nestux091
Twitter: https://twitter.com/Nestux91
Instagram: nestux091
Google+: https://plus.google.com/u/0/+NestorAlfonsoPortelaRincon091
by Nestor Alfonso Portela Rincon
linux ftp server