FTP

Usuarios FTP virtuales – Manejando PureFTPD

Crear usuarios FTP adicionales de forma sencilla y ordenada

Los usuarios FTP virtuales son una gran ayuda para los administradores de sistemas a la hora de conceder espacio a usuarios sin embarullar tus servidores con docenas de usuarios de sistema cuando lo único que quieres en realidad es darles acceso al servicio de FTP y delimitar su ámbito de acceso.

Ftp-protocol
FTP-Protocol – Credits: https://commons.wikimedia.org/wiki/File:Ftp-protocol.gif

La táctica básicamente consiste en crear un usuario general del sistema para su uso con FTP (uno ex profeso, nunca ROOT), a partir de ahí crearemos usuarios «virtuales» en el demonio, asociados a este usuario de sistema. En el demonio definiremos nombres, contraseñas, directorio raíz y, adicionalmente, parámetros que tendrán que ver con sus cuotas de uso del servicio.

Veamoslo desde el principio y descubramos las operaciones más habituales.

Paso 1 – Crear un nuevo grupo en el sistema

Useremos para ello el comando groupadd para crear un nuevo grupo en Linux.

groupadd ftpgroup

Paso 2 – Crear un nuevo usuario en el grupo recién creado

Con el comando useradd añadimos el usuario que compartiran todos nuestros usuarios virtuales FTP.

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

Por supuesto, podríamos haber editado directamente el fichero de configuración de usuarios de PureFTPd, que usualmente se encuentra en la ruta /etc/pure-ftpd/pureftpd.passwd .

En cualquier caso, ya tenemos lista la arquitectura que nos permitirá, a partir de ahora, gestionarlo todo desde PureFTPd, para lo que nos bastará usar el comando pure-pw .

Creando un nuevo usuario FTP virtual

pure-pw useradd nuevoUsuario -u ftpuser -d /var/www/nuevousuario

Te pedirá dos veces la contraseña que desees configurar para el nuevo usuario.
La ruta /var/www/nuevousuario puede ser la que desees otorgarle como directorio raíz, así como la raíz de todo el sistema si es necesario (pero nada recomendable).

Modificar datos de un usuario FTP

pure-pw usermod usuarioEjemplo -n 555 -N 100

En el ejemplo, estamos asignando al usuario un máximo de subida de 555 archivos y 100 megabytes.

Parámetros disponibles:

Cuota de ficheros -> -n
Cuota de tamaño -> -N
Cuota de ratios -> -q -Q
Cuota de ancho de banda de bajada -> -t
Cuota de ancho de banda de subida -> -T
Filtro por IP -> -i, -I, -r o -R
Restricciones de tiempo -> -z
Límite de sesiones concurrentes -> -y

Borrar usuario virtuales de PureFTPd

Para eliminar usuarios que se hayan comportado mal usaremos el comando pure-pw userdel userName [-f] [-m] .
Acabar con un usuario de ejemplo, es tan simple como esto:

pure-pw userdel usuarioEjemplo

El contenido de su directorio asignado queda intacto, podemos borrarlo a mano o usarlo como prueba de su conspiración contra el sistema de riego por aspersión.

Cambiando contraseñas

El comando pure-ps passwd [-f] [-m] nos sirve para cambiar la contraseña de acceso de cualquier usuario virtual de PureFTPd:

pure-pw passwd usuarioEjemplo

Consultar información de un usuario

pure-pw show usuarioEjemplo

Aplicando los cambios

Por último, para que PureFTPd tenga en cuenta los nuevos usuarios, los ya no válidos, o cambios en la configuración de los mismos:

pure-pw mkdb

Los cambios se tendrán en cuenta de forma inmediata sin necesidad de reiniciar pure-ftpd, pero ten presente que es necesario aplicar los cambios con el comando pure-pw mkdb para que estos tengan efecto. La única excepción es cuando usamos el parámetro -m al utilizar alguno de los comandos de operativa anteriores, en cuyo caso los cambios se ejecutan de forma inmediata.

Conviertiendo todos tus usuarios del sistema a usuarios virtuales de PureFTPd

Hay una opción que puede resultar interesante, y es que PureFTPd convierta los usuarios actualmente existentes en el sistema a usuarios virtuales de FTP.
Esto se consigue así:

pure-pwconvert >> /etc/pureftpd.passwd

Para que se copien las contraseñas anteriores deberás ejecutarlo como root.
Es una idea más que acertada que, si bien los usuarios del sistema puedan acceder al FTP bajo el mismo nombre de usuario que a la terminal, lo hagan en cada servicio con passwords diferentes entre sí.

Y eso es todo, por ahora, guerrilleros.

Espero vuestros siempre bienvenidos comentarios si os ha sido de ayuda este pequeño tutorial, o cualquier duda que os pueda haber surgido a lo largo de la lectura del mismo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *