FTP Server · 3 min read · Dec 16, 2025
Cómo instalar Pure-FTPd con TLS y usuarios virtuales en OpenSUSE Leap 42.1
Pure-FTPd es un servidor FTP gratuito y ligero basado en Troll-FTPd, cuyo desarrollo comenzó en 2001 y funciona en muchos sistemas operativos similares a Unix, incluyendo Linux, *BSD, Solaris y HP-UX. Pure-FTPd tiene muchas características como dominios virtuales, directorio home chroot, usuarios virtuales, soporte TLS/SSL, cuotas virtuales y muchas más.
En este tutorial, te mostraré cómo instalar y configurar pure-ftpd en OpenSUSE Leap 42.1. Te mostraré cómo configurar pure-ftpd con TLS/SSL y luego configurar usuarios virtuales.
Requisitos previos
- OpenSUSE Leap 42.1
- Privilegios de root
- Conocimiento de OpenSUSE, Zypper
Paso 1 - Instalar y configurar SuSEfirewall2
SuSEfirewall2 es un script para generar la configuración del firewall en el archivo ‘/etc/sysconfig/SuSEfirewall2’. Instalaremos SuSEfirewall2 y luego abriremos los puertos para SSH y el servicio FTP.
Instala SuSEfirewall2 con zypper:
zypper in SuSEfirewall2A continuación, edita el archivo de configuración ‘/etc/sysconfig/SuSEfirewall2’ con vim:
vim /etc/sysconfig/SuSEfirewall2Agrega los nuevos servicios ssh y FTP a la línea 253:
FW_SERVICES_EXT_TCP="ssh ftp"Guarda y sal.
Ahora inicia SuSEfirewall2 con el comando systemctl:
systemctl start SuSEfirewall2Paso 2 - Instalar y configurar Pure-FTPd
En este paso, instalaremos pure-ftpd con OpenSSL para la configuración TLS/SSL y configuraremos el usuario y grupo de pure-ftpd.
Instala las aplicaciones con zypper como se muestra a continuación:
zypper in pure-ftpd opensslAhora agrega el nuevo grupo ‘ftpgroup‘ y el nuevo usuario para el maestro ‘usuario FTP’ llamado ‘ftpuser‘ al grupo.
groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuserVe al directorio de pure-ftpd y edita el archivo de configuración ‘pure-ftpd.conf’ con el editor vim:
cd /etc/pure-ftpd/
vim pure-ftpd.confCambia el valor en la línea 81 a ‘yes’ para deshabilitar el usuario anónimo.
NoAnonymous yesDescomenta la línea 131 para configurar el backend. Pure-ftpd tiene soporte para MySQL, PostgreSQL y LDAP como backend, pero en este tutorial, usaremos ‘PureDB’ como el backend.
PureDB /etc/pure-ftpd/pureftpd.pdbComenta la línea PAMAuthentication para deshabilitar la autenticación PAM en la línea 141 ya que usaremos PureDB como fuente de autenticación.
#PAMAuthentication yesGuarda y sal.
Paso 3 - Configurar TLS/SSL para Pure-FTPd
Genera un nuevo archivo de certificado autofirmado en el directorio ‘/etc/ssl/private’ con el comando openssl:
openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365Cambia los permisos del archivo de certificado a 0600:
chmod 600 /etc/ssl/private/pure-ftpd.pemA continuación, regresa al directorio de pure-ftpd y edita el archivo de configuración para habilitar el soporte TLS/SSL para la conexión del cliente.
cd /etc/pure-ftpd/
vim pure-ftpd.confDescomenta la línea 439 para habilitar TLS.
TLS 1Descomenta la línea 449 y agrega una nueva opción para hacerlo más seguro.
TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3Descomenta la línea 445 para definir el archivo de certificado.
CertFile /etc/ssl/private/pure-ftpd.pemGuarda y sal.
Ahora inicia pure-ftpd con el comando systemctl:
systemctl start pure-ftpdPaso 4 - Configurar usuarios virtuales
Pure-FTPd proporciona características para crear y usar usuarios virtuales en lugar de usuarios reales del sistema (Linux). Pure-FTPd proporciona varios backends de autenticación y la configuración del usuario virtual depende del backend que utiliza el servidor. En el paso 2 hemos establecido ‘PureDB’ como el backend.
Podemos crear un nuevo usuario virtual con el comando ‘pure-pw’ proporcionado por pure-ftpd. En este paso, crearemos un nuevo usuario virtual llamado ‘shiro’ con el directorio ‘/srv/ftp/shiro’ como el directorio home de ftp y el usuario está chrooted a ese directorio para que no pueda acceder a otros directorios del sistema.
Crea el nuevo usuario virtual con pure-pw:
pure-pw useradd shiro -u ftpuser -d /srv/ftp/shiroCrea el directorio para el usuario virtual y cambia el propietario de ese directorio al maestro ‘usuario FTP’.
mkdir -p /srv/ftp/shiro
chown -R ftpuser.ftpgroup /srv/ftp/shiroA continuación, debemos guardar los cambios con el comando a continuación:
pure-pw mkdbAhora el usuario shiro está listo para ser utilizado, podemos usar FTP desde la línea de comandos o FileZilla para la interfaz gráfica para conectarnos al servidor.
Nota:
pure-pw tiene más opciones de comando, puedes usar ‘pure-pw help‘ para ver todos los comandos útiles.
Paso 5 - Pruebas
Usaré el comando FTP en la terminal para las pruebas. Abre tu terminal y escribe “ftp”:
ftpA continuación, ingresa la IP del servidor pure-ftpd:
open 192.168.43.69Inicia sesión con el usuario ‘shiro’ y la contraseña y luego presiona ‘Enter’.
Intenta subir un archivo con el comando ‘put’:
put picture.png mypict.pngAhora verás el archivo mypict.png en el servidor con el comando ls a continuación:
ls
Referencia
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.