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
Quote needed
http://www.cyberciti.biz/tips/linux-installing-configuring-proftpd-ftp-server.html
Hey I’m the man who wrote the english version for cyberciti.