Instalar/configurar ProFTPD en RHEL, CentOS, Fedora

in #proftpd3 months ago

ProFTPD es un servidor ftp desarrollado para sistemas operativos UNIX y variantes UNIX, es flexible, seguro y robusto. La sintaxis de su fichero de configuración es similar a la del servidor web apache. ProFTPD ofrece numerosas funcionalidades tales como:

  • Servidores FTP virtuales
  • Acceso anónimo
  • Acceso autenticado
  • Soporte para LDAP, SQL, RADIUS
  • SSL/TLS
  • Cuotas

Nota: Este post esta basado en versiones antiguas de CentOS y Fedora

Instalar ProFTPD

# yum install proftpd

Para configurar el servidor FTP como un servicio (Iniciar cuando se inicia el sistema operativo) teclee :

# chkconfig --level 3 proftpd on

Para iniciar el servidor FTP teclee:

# service proftpd start

Para detener el servidor FTP teclee:

# service proftpd stop

Para reiniciar el servidor FTP teclee:

service proftpd restart

Para releer el fichero de configuración teclee:

# service proftpd reload

Fichero de configuración (/etc/proftpd.conf)

Para editar el fichero de configuración teclee:

# vim /etc/proftpd.conf

Para comprobar si el fichero de configuración es correcto teclee:

# proftpd -t6

Usuarios virtuales

Una vez instalado ProFTPD, para permitir accesos anóminos solo debe editar el fichero de configuración: /etc/proftpd.conf y descomentar la sección … . Para acceso autenticado a través de usuarios virtuales se deben configurar las siguientes directivas:

  • AuthUserFile : Especifica el fichero que contiene la información de los usuarios, tiene el mismo formato que /etc/passwd
  • AuthGroupFile : Especifica el fichero que contiene la información de los grupos de usuarios, tiene el mismo formato que /etc/group

Estos ficheros pueden crearse con la herramienta ftpasswd, aquí un ejemplo:

# ftpasswd --passwd --name {nombre-usuario} --file /etc/ftpd.passwd 
    --uid {número mayor que 0} --gid {número mayor que 0} 
   --home /var/ftp/dir-del-usuario/ --shell /bin/false

# ftpasswd --group --name {nombre-grupo} --file /etc/ftpd.group 
   --gid {número mayor que 0} --member nombre-usuario

Añadir el usuario pepe que pertenece al grupo desarrollo-web

# ftpasswd --passwd --name pepe --file /etc/ftpd.passwd --uid 5000 
--gid 5000 --home /var/ftp/dir-de-pepe/ --shell /bin/false

# ftpasswd --group --name desarrollo-web --file /etc/ftpd.group  
--gid 5000 --member pepe

entonces las 2 directivas anteriores deben quedar así:

AuthUserFile /etc/ftpd.passwd
AuthGroupFile /etc/ftpd.group

Atención!!!

  • El usuario pepe debe tener permisos UNIX para poder acceder a su directorio
  • Se recomienda establecer el parámetro –shell a /bin/false para incrementar la seguridad del servidor FTP

Si sus usuarios tienen problemas al conectarse entonces debe chequear las siguientes directivas y sus valores recomendados:

Desactivar el chequeo contra /etc/shells

RequireValidShell off

Desactivar el chequeo contra /etc/passwd, Usar solo AuthUserFile

AuthOrder mod_auth_file.c

Desactivar el chequeo contra PAM

PersistentPasswd off
AuthPAM off

Restringir la navegación de los usuarios a sus respectivos directorios

DefaulRoot ~

Estableciendo permisos de accesos a ficheros y directorios (Directiva Umask)

La sintaxis general es:

Umask MODOFICHERO MODODIR

Establece la mascara de permisos a los ficheros y directorios que se crean. MODOFICHERO y MODODIR deben estar en modo octal, en el formato 0xxx. Si MODODIR no se especifica, entonces MODIR = MODOFICHERO. Se toma como base 666 para los ficheros y 777 para los directorios.

Ejemplos:

Umask 022
  • Propietario: permisos de lectura y escritura sobre los ficheros. Lectura, escritura y ejecución sobre los directorios
  • Grupo: permiso de lectura sobre los ficheros. Lectura y ejecución sobre los directorios
  • Otros: permiso de lectura sobre los ficheros. Lectura y ejecución sobre los directorios

Más restrictivo

Umask 022 027
  • Propietario: permisos de lectura y escritura sobre los ficheros. Lectura, escritura y ejecución sobre los directorios
  • Grupo: permiso de lectura sobre los ficheros. Lectura y ejecución sobre los directorios
  • Otros: cero permisos sobre ficheros y directorios

Referencias:

Proyecto ProFTPD
Documentación no oficial sobre ProFTPD
Conexiones pasivas en ProFTPD


Original en mi blog LibreByte

Sort:  

Congratulations @srdotlibre! You received a personal badge!

Happy Hive Birthday! You are on the Hive blockchain for 5 years!

You can view your badges on your board and compare yourself to others in the Ranking

Check out our last posts:

Hive Power Up Month Challenge - June 2025 Winners List
Be ready for the July edition of the Hive Power Up Month!
Hive Power Up Day - July 1st 2025