En esta entrada voy a describir los pasos básicos para poder instalar en nuestra máquina Linux con Ubuntu 12.04 un servidor FTP. Para ello voy ha utilizar VSFTPD, estas siglas vienen de «Very Secure FTP Daemon», que viene a ser demonio FTP muy seguro. Se encuentra bajo licencia GNU y soporta IPv6 y SSL.
Instalación
La instalación la hacemos desde un terminal, aunque se puede utilizar Synaptic o cualquier otro gestor de paquetes, pero a mi me resulta más fácil desde comandos.
$ sudo apt-get install vsftpd
Configuración
La configuración del servicio se encuentra en un mismo fichero en /etc/vsftpd.conf, editamos este fichero y modificamos algunas de las opciones.
$ sudo gedit /etc/vsftpd.conf
A continuación detallo las que suelo modificar, evidentemente no están todas las opciones de configuración que ofrece VSFTPD. Como ocurre en otros servicios, la almohadilla (#) marca un comentario.
#Permitir o no el acceso a los usuarios anónimos anonymous_enable=NO #Permitir el acceso de usuarios locales a sus respectivas cuentas local_enable=YES #Activar el modo escritura write_enable=YES #Mensaje de bienvenida ftpd_banner=Bienvenidos... #Encerrar a los usuarios dentro de su propio directorio persona, aumenta la seguridad chroot_local_user=YES #Para que los usuarios puedan ver sus carpetas FTP y no el resto del sistema chroot_list_enable=YES #Lista de usuarios con acceso permitido al FTP chroot_list_file=/etc/vsftpd.chroot_list #Opciones de transferencia #Establece el ancho de banda por cada usuario anónimo anon_max_rate=5100 #Establece el ancho de banda por cada usuario local local_max_rate=5100 #Número máximo de clientes simultáneos max_clients=5 #Máximo número de conexiones por IP max_per_ip=2
Usuarios para utilizar el servicio FTP
Generalmente, cuando instalas el servicio se crea automáticamente el grupo ftp y el directorio /home/ftp, pero si no ocurre esto lo tendremos que crear a mano.
- Creamos el directorio para el usuario dentro de /home/ftp, el directorios será el punto en el que se encuentren todos los directorios para cada usuario del FTP. En este caso, nuestro usuario se llamará copias.
$ sudo mkdir /home/ftp/copias
- Creamos el grupo ftp, puede que ya exista.
$ sudo groupadd ftp
- Ahora creamos el usuario para el FTP, añadiéndolo al grupo ftp y asignándole su directorio.
$ sudo useradd -g ftp -d /home/ftp/copias -c "Copias" copias
- Y ahora se crea la contraseña para el usuario creado.
$ sudo passwd copias
Ahora viene la parte interesante para los usuarios, vamos a crear un shell fantasma, de esta forma el usuario no podrá iniciar sesión en el sistema y esta cuenta únicamente servirá para el FTP.
- Creamos el directorio para el shell.
$ sudo mkdir /bin/ftp
- Añadimos la línea /bin/ftp al fichero /etc/shells.
$ sudo gedit /etc/shells
- Editamos el fichero /etc/passwd
$ sudo gedit /etc/passwd
Buscamos una línea parecida a la siguiente:
copias:1001:1001:Copias:/home/ftp/copias:/bin/sh
Y la modificamos de la siguiente forma:
copias:1001:1001:Copias:/home/ftp/copias:/bin/ftp
Ahora le damos permiso al usuario para que pueda acceder mediante FTP, para ello añadimos el usuario al fichero vsftpd.chroot_list.
$ sudo gedit /etc/vsftpd.chroot_list
Su contenido tiene que ser algo parecido a esto:
#Usuarios permitidos copias
Reiniciar el servicio
Ya sólo nos queda reiniciar el servicio y probarlo.
$ sudo /etc/init.d/vsftpd restart
o con esta otra
$ sudo service vsftpd restart
Espero que os haya servido.

Deja una respuesta