Montar un servidor FTP desde 0, con PROFTPD
Quien haya trabajado como administrador de sistemas o como webmaster de un sitio web, sabe los importante que es el servicio FTP, y lo que facilita el día a día.
PROFTPD es un programa muy potente, fácil de usar y administrar. Partimos de la base que trabajamos con una máquina GNU/Linux, basada en Debian, ya sea el propio Debian, o Ubuntu o Elementary OS o la que sea.
Desde la línea de comandos sólo tendremos que teclear el siguiente mandato:
apt-get -y update && apt-get -y install proftpd
A mitad de la instalación nos preguntará cómo queremos que se ejecute el servicio, en modo «standalone» o desde inetd. La diferencia entre ambos radica en que desde inetd cada vez que se produzca una nueva conexión se abrirá un nuevo proceso, con la carga del sistema que conlleva. En modo «standalone» el servicio se ejecuta en un proceso independiente, de ésta manera el proceso ya estará iniciado, y no hará falta volverlo a iniciar. Por lo tanto elegimos «standalone».
Al acabar la instalación veremos los siguientes mensajes en nuestra consola:
Una vez instalado lo podemos configurar modificando el archivo .conf , ubicado en /etc/proftpd/proftpd.conf
PROFTPD usará nuestros usuarios locales como usuarios por defecto del servicio. Si queremos podemos crear uno nuevo para que sólo se use para el servicio FTP.
¿Qué nos interesa modificar de éste archivo? Vayamos por partes.
Al principio del archivo nos encontraremos con las siguintes líneas:
ServerName «Debian» # En mi caso, aquí podemos poner un nombre descriptivo de nuestro servidor FTP»
ServerType standalone # Podemos standalone o inetd
DeferWelcome off # Si nos interesa dar un mensaje de bienvenida
Más adelante en el archivo nos encontraremos con una línea muy importante:
#Use this to jail all users in their homes
#DefaultRoot
Vale, aquí podemos indicar que nuestros usuarios vean al conectarse su home. Para hacer esto descomentaremos la línea:
DefaultRoot
Si por ejemplo queremos que en vez de la home se use la carpeta por defecto de los proyectos webs /var/www, lo indicaremos así:
DefaultRoot /var/www
Todo bien hasta éste punto, ahora añadiremos una línea muy importante. Ya que si no lo hacemos nuestros usuarios podrán navegar libremente por todo el servidor.
Procederemos a enjaular a los usuarios dentro de la carpeta indicada, mediante la línea:
DefaultChdir /var/www
Otras partes importantes del archivo, son las siguientes:
#Port 21 is the stantdard FTP port.
Port 21
Cómo indica la descripción en inglés el puerto por defecto es el 21, si queremos podemos usar otro diferente.
#Set the user and group that the server normally runs at
User ochobits
Group ochobits
Indicamos el usuario y el grupo habitual. ochobits, es un ejemplo de usuario y grupo.
Por normal general no suelo modificar más cosas del archivo de configuración.
Ahora podemos reiniciar el servicio:
service proftpd restart
Existen varios comandos adicionales que nos pueden ser de mucha ayuda:
ftpwho, que nos servirá para ver los usuarios conectados al server FTP
ftptop, similar a ftpwho pero nos da más información y en directo de los usuarios conectados.
Espero haya sido interesante el artículo. No dudéis en preguntar. Si tenéis cualquier duda sobre el servicio os intentaré ayudar.