- Lo primero es instalar el demonio del servidor FTP:
sudo apt-get install vsftpd.
Bien, ya tenemos totalmente operativo nuestro servidor FTP y podemos conectarnos por medio de cualquier cliente FTP:
Como ya he dicho vamos a modificar el archivo de configuración de nuestro servidor FTP para que se establezca la conexión por cuentas de usuario:
- Para lo cual tipeamos en una consola:
sudo nano /etc/vsftpd.conf
- Primero definimos la carpeta compartida:
anon_root=/home/antonio/ftp
- Para que el servidor se inicie con el sistema:
Listen=YES
- Para no permitir usuarios anónimos, cambiamos la linea:
anonymous_enable=YES
- En caso de que esta variable la hubierais puesto aanonymous_enable=NO.:
- Crear usuario:
sudo adduser –home /home/antonio/ftp –no-create-home –shell /bin/bash user1
- Asignar user1 al grupo ftp:
sudo addgroup user1 ftp
- Para permitir al usuario que acceda al servidor FTP escribir en el directorio compartido, siempre y cuando tenga permisos en la carpeta compartida:
write_enable=YES.
- Esto linea permitirá acceder al sistema usuarioslocales.
local_enable=YES. Esto linea permitirá acceder al sistema usuarios
locales.
- Esta linea permite o no el acceso de usuarios locales a sus respectivas carpetas privadas
chroot_local_user=YES, para permitir acceso
chroot_local_user=NO, para denegar acceso
- En en caso de que esta opcion este a YES
chroot_list_file=/etc/vsftpd/chroot_list
sudo nano/etc/vsftpd/chroot_list, donde haremos una lista con los usuarios locales.
- Establecemos los permisos por defecto de los nuevos archivos que suban los usuarios.
local_umask=022.- Tras lo que iniciaremos el demonio para que el servidor FTP tome los cambios:
sudo service vsftpd startSERVIDOR FTP CON SSL EN UBUNTU
- Se crea el certificado SSL que se ubicara en la ruta /etc/vsftpd y que tendrá una duración de 365 días:
mkdir /etc/vsftpd-ssl
cd /etc/vsftpd-ssl
- - Se crea el certificado:
Ahora editamos el archivo de configuración de vsftp para su correcta configuración:
nano /etc/vsftpd
- Primero definimos la carpeta compartida:
anon_root=/home/antonio/ftp
- Para que el servidor se inicie con el sistema:
Listen=YES
- Para no permitir usuarios anónimos, cambiamos la linea:
anonymous_enable=YES
En caso de que esta variable la hubierais puesto a NO:
Crear usuario/s:
adduser –home /home/antonio/ftp –no-create-home –shell /bin/bash user1
Asignar user1 al grupo ftp:
addgroup user1 ftp
- Para permitir al usuario que acceda al servidor FTP escribir en el directorio compartido, siempre y cuando tenga permisos en la carpeta compartida:
write_enable=YES
- Para permitir acceder al sistema usuarioslocales.
local_enable=YES
- Esta linea permite o no el acceso de usuarios locales a sus respectivas carpetas privadas
chroot_local_user=YES, para permitir acceso
chroot_local_user=NO, para denegar acceso
En en caso de que esta opcion este a YES:
chroot_list_file=/etc/vsftpd/chroot_list
nano /etc/vsftpd/chroot_list, donde haremos una lista con los usuarios locales.
- Establecemos los permisos por defecto de los nuevos archivos que suban los usuarios.
local_umask=022.
Instalar/configurar SSL:
Instalamos el modulo SSL para vsft:
Configurar certificado SSL:
nano /etc/vsftpd
# # All non-anonymous logins are forced to use a secure SSL connection in order to # send and receive data on data connections. # force_local_data_ssl=YES # All non-anonymous logins are forced to use a secure SSL connection in order to send the password. # force_local_logins_ssl=YES # Permit TLS v1 protocol connections. TLS v1 connections are preferred # ssl_tlsv1=YES # Permit SSL v2 protocol connections. TLS v1 connections are preferred # ssl_sslv2=NO # permit SSL v3 protocol connections. TLS v1 connections are preferred # ssl_sslv3=NO # This option specifies the location of the RSA certificate to use for SSL # encrypted connections. rsa_cert_file=/etc/vsftpd/vsftpd.pem
- Tras lo que iniciaremos el demonio para que el servidor FTP tome los cambios:
service vsftpd start
Ahora el servidor quedaría totalmente operativo:ftp-ssl "ip del servidor"fuente