Andrés González Suárez - Acceso a FTP a través de usuarios almacenados en un servidor LDAP
-
Upload
andres-gonzalez-suarez -
Category
Education
-
view
148 -
download
0
Transcript of Andrés González Suárez - Acceso a FTP a través de usuarios almacenados en un servidor LDAP
<IES GRAN CAPITÁN>
P R A C T I C A A C C E S O A F T P A T R A V É S U S U A R I O S A L M A -
C E N A D O S E N U N S E R V I D O R L D A P
Presentado por:
ANDRÉS GONZÁLEZ SUÁREZ
,
Al igual que otros muchos servicios proftp puede almacenar la información de autenti-
cació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 deja-
mos las tres líneas siguientes:
LDAPServer ldap://localhost/??sub LDAPDNInfo
"cn=admin,dc=cursolinux,dc=net" "asdasd" LDAPDoAuth on "ou=People,dc=curso-
linux,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 desco-
mentar 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: Rigo-
berta objectclass: account objectclass: posixAccount objectclass: top uid-
Number: 2002 gidNumber: 2002 homeDirectory: /srv/ftp/rigoberta userPass-
word: {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.
Página 1
1.- INSTALACIÓN DE LOS SERVICIOS.
Página 2
En la configuración de LDAP, configuramos el nombre del dominio.
Página 3
2.- CONFIGURACIÓN DE LOS SERVICIOS.
Descomentamos las siguientes línes. Esta es del /etc/proftpd/modules.conf
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.
Página 5
En el fichero proftpd.conf descomentamos la línea RequireValidShell.
Reiniciamos el servicio FTP.
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.
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.
Página 8
4.- COMPROBACIÓN.
Accedemos a través de FTP y vemos que el acceso es correcto.