linux ftp serverLinux serverNETWORK ADMINISTRATIONS

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

source

by Nestor Alfonso Portela Rincon

linux ftp server

Leave a Reply

Your email address will not be published. Required fields are marked *