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

Los tutoriales aquí en LibreByte están disponible bajo una licencia de software libre. Si le gusta mi trabajo considere:
Comprar un Hosting/VPS o Servidor Dedicado en MCKHost

2 comentarios

      • sedlav el agosto 10, 2012 a las 8:22 am
      • Responder

      Hey I'm the man who wrote the english version for cyberciti.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

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