Instalar/configurar ProFTPD en RHEL, CentOS, Fedora

proftpd

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
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 <anonymous> … </anonymous>. 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.

Algunos 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

Lecturas recomendadas

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

2 comentarios en “Instalar/configurar ProFTPD en RHEL, CentOS, Fedora”

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.