Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Andrés González Suárez - Acceso a FTP a través de usuarios almacenados en un servidor LDAP
1. <IES GRAN CAPITÁN>
PRACTICA ACCESO A FTP A TRAVÉS USUARIOS ALMA CENADOS EN UN SERVIDOR LDAP
Presentado por:
ANDRÉS GONZÁLEZ SUÁREZ
,
2. Al igual que otros muchos servicios proftp puede almacenar la información de autenticación de usuarios en LDAP, por lo que se suele denominar a éstos usuarios virtuales
para diferenciarlos de los usuarios reales o del sistema.
En Debian lenny al instalar el paquete proftpd, se instala por dependencias el paquete
proftpd-mod-ldap, por lo que no deberemos instalar ningún paquete adicional sino
"activar" este método de autenticación.
Editamos el fichero /etc/proftpd/modules.conf y buscamos la línea:
#LoadModule mod_ldap.c
La descomentamos para que cuando se reinicie el servidor cargue el módulo de LDAP.
Editamos el fichero /etc/proftpd/proftpd.conf y buscamos la línea:
#Include /etc/proftpd/ldap.conf
También la descomentamos y editamos el fichero /etc/proftpd/ldap.conf, en el que dejamos las tres líneas siguientes:
LDAPServer ldap://localhost/??sub LDAPDNInfo
"cn=admin,dc=cursolinux,dc=net" "asdasd" LDAPDoAuth on "ou=People,dc=cursolinux,dc=net"
Donde especificamos el servidor LDAP, el nombre distinguido del usuario que se
conecta, su contraseña y la ubicación de la rama que contiene los usuarios.
Además, para que puedan autenticarse usuarios con la shell (/bin/false) hay que descomentar la directiva:
#RequireValidShell off
Después de hacer todas estas modificaciones reiniciamos el demonio con:
/etc/init.d/proftpd restart
Prueba de funcionamiento
Vamos a crear un usuario virtual que tendrá su directorio home en /srv/ftp/usuario y
como shell /bin/false para que no pueda nunca abrir una sesión en el sistema. Creamos
el fichero usuario-ftp.ldif con el siguiente contenido:
dn: cn=ftpusers,ou=Group,dc=cursolinux,dc=net objectClass: posixGroup
objectClass: top cn: ftpusers gidNumber: 2002
dn: uid=rigoberta,ou=People,dc=cursolinux,dc=net uid: rigoberta cn: Rigoberta objectclass: account objectclass: posixAccount objectclass: top uid-
3. Number: 2002 gidNumber: 2002 homeDirectory: /srv/ftp/rigoberta userPassword: {MD5}qPXxZ/RPSWTmyZje6CcRDA== loginShell: /bin/false
Y lo añadimos al directorio con:
ldapadd -x -D "cn=admin,dc=cursolinux,dc=net" -W -f usuario-ftp.ldif
Creamos el directorio del usuario y le damos los propietarios y permisos adecuados con:
mkdir -p /srv/ftpusers/rigoberta chgrp 2002 /srv/ftpusers chown 2002
/srv/ftpusers/rigoberta chmod 700 /srv/ftpusers/rigoberta
Finalmente probamos con un cliente ftp la conexión con este usuario.
5. Página 2
En la configuración de LDAP, configuramos el nombre del dominio.
6. Página 3
2.- CONFIGURACIÓN DE LOS SERVICIOS.
Descomentamos las siguientes línes. Esta es del /etc/proftpd/modules.conf
7. Página 4
Estas lineas se ubican en /etc/proftpd/proftpd.conf.
En el fichero /etc/proftpd/ldap.conf incluimos las líneas del final.
8. Página 5
En el fichero proftpd.conf descomentamos la línea RequireValidShell.
Reiniciamos el servicio FTP.
9. Página 6
3.- CREACIÓN DE LOS USUARIOS.
Creamos el archivo insertar.ldif, con las unidades organizativas y los usuarios.
Añadimos el fichero con el siguiente comando.
10. Página 7
Vemos que ha dado un fallo. Me he equivocado al escribir en una línea. Copio el fichero, lo
renombro, lo modifico quitándole las unidades ya creadas y ahora si se agregará.
Vemos que todo ha sido añadido correctamente.