Hoy toca documentar la instalación de un servidor FTP en Debian con autenticación de LDAP, unificando todos nuestros logins.
En esta ocasion instalaremos ProFTPD.
Instalamos los paquetes necesarios:
# apt-get install proftpd proftpd-mod-ldap
Nos preguntará si lo queremos integrado en inetd o independiente…. en mi caso me interesa tenerlo como servicio independiente, para poder pararlo sin afectar a otros servicios.
Editamos los ficheros de configuración:
# cd /etc/proftpd
# nano ldap.conf
Y lo dejaremos tal que:
#
# Proftpd sample configuration for LDAP authentication.
#
# (This is not to be used if you prefer a PAM-based SQL authentication)
#
#
# This is used for ordinary LDAP connections, with or without TLS
#
LDAPServer ldap://mi.servidor.open.ldap/??sub
LDAPDNInfo "cn=proftpd,dc=craem,dc=net" "proftpd"
LDAPDoAuth on "dc=craem,dc=net" "(&(uid=%v)(objectclass=posixAccount))"
LDAPAttr uid cn homeDirectory
LDAPAuthBinds on
#
# To be set on only for LDAP/TLS on ordinary port, for LDAP+SSL see below
#LDAPUseTLS on
#
#
# This is used for encrypted LDAPS connections
#
#LDAPServer ldaps://ldap.example.com
#LDAPDNInfo "cn=admin,dc=example,dc=com" "admin_password"
#LDAPDoAuth on "dc=users,dc=example,dc=com"
#
Y explicamos
LDAPServer ldap://mi.servidor.open.ldap/??sub
Ponemos la url de nuestro servidor ldap, más /??sub. En la documentación oficial sale.
LDAPDNInfo «cn=proftpd,dc=craem,dc=net» «proftpd»
En este caso, me he creado un usuario de lectura para openLdap y tener que poner el administrador 😉
LDAPDoAuth on «dc=craem,dc=net» «(&(uid=%v)(objectclass=posixAccount))»
Dónde buscará los usuarios y la propiedad de búsqueda, siendo en este caso posixAccount
LDAPAttr uid cn homeDirectory
El directorio de cada usuario, lo leeremos de la propiedad homeDirectory del ldap, que me parece muuy acertada.
LDAPAuthBinds on
Lo activamos 😉
Ahora vamos a revisar la parte de configuración propia de proFTPD:
Editamos el fichero /etc/proftpd.conf
#
# Alternative authentication frameworks
#
Include /etc/proftpd/ldap.conf
#Include /etc/proftpd/sql.conf
Descomentamos la parte de ldap y lo personalizamos un poco:
UseIPv6 off
# If set on you can experience a longer connection delay in many cases.
IdentLookups off
ServerName "ftp.craem.net"
ServerType standalone
DeferWelcome off
Quito la parte de ipv6, ya que aún no tengo, cambiamos el servername y lo activamos como «pasivo»
Ahora editaremos el fichero /etc/modules.conf para activar que cargue la parte ldap:
# Install proftpd-mod-ldap to use this
LoadModule mod_ldap.c
# Install proftpd-mod-ldap to use this
LoadModule mod_quotatab_ldap.c
En la propiedad homeDirectory el LDAP en cada usuario, hemos de establecer el directorio, que por ejemplo puede ser /home/%usuario%, por ejemplo:
Deberemos de crear el directorio para el usuario…. # mkdir /home/proftpd
Y ahora lo arrancamos para depurar y verlos logs:
# proftpd -nd 10
Si ha ido todo vien, lo paramos y lo arracamos como daemon
# /etc/init.d/proftpd start
And enjoy your ftp server with ldap
Eso no funcion -_-
?
Hola
Estaba buscando información por internet, sobre como instalar un servidor proftpd enlazado con openldap y he encontrado tu estupendo tutorial, me preguntaba si podrÃa, copiarlo para añadirlo en mi blog. Por supuesto harÃa una referencia a tu web.
Muchas gracias
Cert.
si, no hay problema.
Gracias por seguirlo