¿Qué usuarios se pueden conectar al servidor ftp? ¿cualquiera? ¿sólo los usuarios del sistema?
Bien, típicamente existen dos tipos de usuarios:
- Usuarios anónimos: usuarios que tienen acceso y permisos limitados por el sistema de archivos. Al conectarse al servidor FTP sólo deben introducir una contraseña simbólica, normalmente cualquier dirección de correo -real o ficticia-, por ejemplo: a@ .
- Usuarios del sistema: aquellos que disponen de una cuenta en la máquina que ofrece el servicio FTP. Al conectarse al servidor FTP deben introducir su contraseña de sistema.
Pero en ciertos servidores, como el servidor ProFTPD, existe una tercera posibilidad muy interesante: usuarios virtuales. Los usuarios virtuales poseen acceso y permisos al servidor FTP sin necesidad de ser usuarios del sistema, por lo tanto si un usuario virtual quisiera acceder al sistema operativo como si fuese un usuario del sistema, ya sea de forma local o remota no podría, pues su cuenta de usuario no existe en el sistema. Los usuarios virtuales tienen definida una contraseña propia y pueden estar definidos en ficheros de autenticación (de texto) con el mismo formato que los del sistema operativo GNU/Linux /etc/passwd, directorios LDAP, bases de datos SQL y servidores RADIUS.
Dependiendo del servidor ftp, podrás tener unos métodos de autenticación de usuarios u otros, por ejemplo en el servidor ftp ProFTPD se permite los siguientes métodos:
- Ficheros de autenticación del sistema operativo:
/etc/passwd
y/etc/shadow
: Para ello usa las directivasAuthUserFile
yAuthGroupFile
. - Usuarios virtuales definidos mediante ficheros de autenticación (de texto) propios, distintos de los del sistema operativo: para ello también usa las directivas
AuthUserFile
yAuthGroupFile
. - Autenticación PAM: Es necesario establecer la directiva
AuthPAMAuthorative
a 'on'. - Bases de datos SQL, tales como MySQL o Postgres. Para ello emplea el módulo mod_sql; más información sobre el uso de mod_sql lo puedes encontrar en el HowTo SQL
- LDAP: Para ello emplea el módulo mod_ldap.
- RADIUS: Para ello emplea el módulo mod_radius.
Lightweight Data Access Protocol, es un protocolo de acceso unificado a un conjunto de información sobre una red.
El lenguaje de consulta estructurado es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar de una forma sencilla información de interés de una base de datos, así como también hacer cambios sobre ella.
Es un protocolo de autenticación y autorización para aplicaciones de acceso a la red o movilidad IP. Una de las características más importantes del protocolo RADIUS es su capacidad de manejar sesiones, notificando cuando comienza y termina una conexión.
Es un mecanismo de autenticación flexible que permite abstraer las aplicaciones y otro software del proceso de identificación. También permite construir políticas diferentes de autenticación para cada servicio.