Instalación de PureFTPd 2014-05-01

Tutorial de instalación paso a paso del servidor de FTP PureFTPd en Debian Wheezy

En este nanotutorial vamos a aprender a instalar el servidor FTP PureFTPd, así como algunos aspectos de seguridad que debemos tener en cuenta.

El protocolo FTP nos permite la transferencia de archivos hacia un servidor remoto. Es uno de los mecanismos más utilizados para la publicación de sitios web hoy en día.

PureFTPd es un servidor FTP muy flexible, soporta múltiples mecanismos de autenticación entre ellos el concepto de usuarios virtuales. Bajo este concepto puedes crear la estructura de permisos de usuarios que necesites.

PureFTP Logo

Actualizar la paqueteria

Abre una terminal y corre el siguiente comando:

sudo apt-get update

Actualizar la paqueteria

Instalar el servidor PureFTPd

En una terminal vamos a ejecutar el siguiente comando:

sudo apt-get install pure-ftpd

Instalar el servidor PureFTPd

Instalar el servidor PureFTPd

Deshabilitar la autenticación via PAM (si no la necesitas)

Los siguientes comandos debes ejecutarlos con el usuario root.

echo no > /etc/pure-ftpd/conf/PAMAuthentication

Deshabilitar la autenticación via Unix (si no la necesitas)

echo no > /etc/pure-ftpd/conf/UnixAuthentication

Crear un grupo para usuarios FTP

Es importante empezar a definir un esquema de permisos. Los usuarios virtuales deberán pertenecer a un grupo y usuario específico para todas las tareas del sistema de archivos. Posteriormente puedes utilizar este grupo para dar permisos dentro del mismo Apache HTTP Server por ejemplo.

Para crear el grupo vamos a utilizar el siguiente comando:

sudo groupadd ftpgroup

Crear un usuario del sistema

El usuario del sistema es necesario ya que bajo esta cuenta vamos a enmascarar todas las operaciones con el sistema de archivos. Todo documento o directorio creado tendrá como propietario dicho usuario.

Vamos ahora a crearlo con el siguiente comando:

sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Crear un usuario del sistema

Crear la primera cuenta de usuario

Luego de instalar el servidor PureFTPd tenemos disponible un cliente para administrarlo, este cliente es pure-pw. Para crear nuestra primera cuenta de usuario vamos a utilizar el siguiente comando (tambien se solicitará la contraseña y confirmacion de la misma):

sudo pure-pw useradd test1 -u ftpuser -d /home/ftpusers/test1 -m

Crear la primera cuenta de usuario

El parámetro -m actualiza automáticamente la base de datos de usuarios virtuales, si no utilizamos este parámetro estaremos obligados a ejecutar el comando pure-pw mkdb para actualizarla.

Crear el directorio FTP

Luego de crear le usuario FTP es necesario crear el directorio para el almacenamiento de los archivos, el mismo que definimos en el paso anterior bajo el parámetro -d. Para esto debemos ejecutar los siguientes comandos:

sudo mkdir -p /home/ftpusers/test1
sudo chown -R ftpuser:ftpgroup /home/ftpusers

Habilitar la autenticación medíante usuarios virtuales PureDB

Esta opción no viene habilitada por defecto, por lo tanto es necesario realizar la siguiente configuración. Lo primero que haremos será actualizar la base de datos de usuarios virtuales, para esto debes ejecutar el siguiente comando (siempre como usuario root o anteponiendo el comando sudo):

sudo pure-pw mkdb

Luego vamos a habilitar el metodo de autenticación PureDB. Ejecuta el siguiente comando en una terminal:

sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure

Reiniciamos el servicio

Para que los cambios tengan efecto, es necesario reiniciar el servidor. Para esto debemos ejecutar el siguiente comando:

sudo service pure-ftpd restart

Reiniciamos el servicio

Existen otras opciónes en el comando pure-pw para la administracion de usuarios. Vamos a detallar cada una de estas a continuación:

pure-pw useradd

Crear nuevos usuario.

pure-pw userdel

Eliminar usuario.

pure-pw usermod

Modificar datos de usuario.

pure-pw show

Mostrar informacion de usuario.

pure-pw show

pure-pw passwd

Cambiar contraseña de usuario.


Acerca del autor

Hugo Gilmar Erazo Full Stack Web Developer

Soy un desarrollador web con más de 10 años de experiencia. Me considero fanático de GNU/Linux, lo cual me ha permitido complementar mis conocimientos en el desarrollo web con la administración de servidores.

Aunque manejo todo lo relacionado al Front-End, me inclino más por el desarrollo Back-End. También desarrollo aplicaciones móviles híbridas. Me gusta lo que hago.

Compartir este artículo
Articulos relacionados