~sergio

ARTIGOS

ProFTPd en Debian con usuarios virtuais

01-03-2023

O obxectivo é montar un FTP rápidamente, con usuarios virtuais en un arquivo i encerrados no seu home.

Paso 1: Instalar o servicio

Directamente desde o repositorio:
apt install proftpd

Paso 2: Configuralo con usuarios virtuais en un arquivo

Editar a config:

vim /etc/proftpd/proftpd.conf

Establecer os seguintes parámetros:

DefaultRoot ~
RequireValidShell off
AuthUserFile /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group
AuthOrder mod_auth_file.c

Como podes ver solo se permite o sistema de auth mod_auth_file.c así que solo fará login contra o arquivo: /etc/proftpd/ftpd.passwd

Crea un usuario, por exemplo:

ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=manolo --uid=33 --gid=33 --home=/srv/ftp/test/ --shell=/bin/false

Podes ver que o arquivo /etc/proftpd/ftpd.passwd ten a mesma estructura que /etc/passwd. Podes especificar calquera UID e GID excepto 0 (que é o de root), no exemplo puxen 33 que é normalmente www-data.

Ahora o arquivo para os grupos:

ftpasswd --group --name=nogroup --file=/etc/proftpd/ftpd.group --gid=33 --member manolo

Comproba que a config esteña ben e reinicia o servicio para que colla a configuración nova.

proftpd -t
/etc/init.d/proftpd restart

Paso 3: Extras

Cambiar a clave de un usuario:

ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=manolo --change-password

Bloquear e desbloquear un usuario:

ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=manolo --lock
ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=manolo --unlock

Borrar un usuario:

ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=manolo --delete-user

NOTA: ftpasswd é un script escrito en Perl, normalmente debería estar en /usr/sbin/ftpasswd.