Installatie van OpenLDAP

By | 26 september 2012

Algemeen

In dit gedeelte wordt uitgelegd hoe de OpenLDAP server te installeren is onder RedHat 6.x of afgeleiden linux distribities zoals Fedora of CentOS.

Installatie LDAP op RedHat 6 / Centos 6

Installeer de volgende packages:

  • openldap-servers
  • openldap-clients
  • pam_ldap
  • nss-pam-ldapd
  • glibc glibc-common
  • glibc-devel
  • libtool-ltdl
  • migrationtools

Update firewall rules:

  -A INPUT -m state --state NEW -m udp -p udp --dport 389 -j ACCEPT
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 389 -j ACCEPT

Restart de firewall: service iptables restart

Verwijder evt. oude installatie / configuratie:

  rm -rf /etc/openldap/slapd.d/*
  rm -rf /var/lib/ldap/*

Copyeer DB bestand:

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

initialiseer de database met: echo "" | slapadd -f /etc/openldap/slapd.conf

zet de rechten goed:

  chown -R ldap:ldap /var/lib/ldap
  chown -R ldap:ldap /etc/openldap/slapd.d

Copyeer legacy configuratiebestand:

cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf

Edit slapd.conf

  • Indien niet nodig, # voor allow bind_v2
  • pas de rootdn aan naar: “cn=admin,dc=linuxpro,dc=nl” voor dit uit overal waar cn=Manager,dc=my-domain,dc=com staat
  • genereer met slappasswd een password hash aan voor het password van admin:
  slappasswd
  New password:
  Re-enter new password:
  {SSHA}.........
  • pas de rootpw aan naar: rootpw {SSHA}……….
  • zet het legacy configuratiebestand aan naar de nieuwe config=cn modulair config:
  slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
  • Edit ldap.conf:
  BASE = dc=linuxpro, dc=nl
  URI = ldap://127.0.0.1
  • Start de LDAP server: service slapd start
  • Maak een initieel LDAP database aan in LDIF formaat met onderstaande inhoud en sla dit op als linuxpro.nl.diff:
  # ROOT ENTRY
  dn: dc=linuxpro,dc=nl
  objectClass: top
  objectClass: domain
  dc: linuxpro

  # ADMIN dn
  dn: cn=admin,dc=linuxpro,dc=nl
  objectclass: organizationalRole
  cn: admin

  # USERS
  dn: ou=users,dc=linuxpro,dc=nl
  changetype: add
  objectclass: top
  objectclass: organizationalUnit
  ou: users

  # GROUPS
  dn: ou=groups,dc=linuxpro,dc=nl
  changetype: add
  objectclass: top
  objectclass: organizationalUnit
  ou: groups
  • Laadt dit met: ldapadd -x -D 'cn=admin,dc=linuxpro,dc=nl' -f linuxpro.nl.diff
  • Controleer met: ldapsearch -x -b 'dc=linuxpro,dc=nl'

Migratie van /etc/passwd /etc/groups -> LDAP

Set defaults used by migration tools in /usr/share/migrationtools/migrate_common.ph file:

Default DNS domain

$DEFAULT_MAIL_DOMAIN = “minlinuxpro.nl”;

Default base

$DEFAULT_BASE = “dc=linuxpro,dc=nl”;

Naming context for user data according to users.example.com.ldif file above

$NAMINGCONTEXT{‘passwd’} = “ou=users”;

Naming context for group data according to groups.example.com.ldif file above

$NAMINGCONTEXT{‘group’} = “ou=groups”;

/usr/share/migrationtools/migrate_passwd.pl /etc/passwd passwd.ldif
/usr/share/migrationtools/migrate_group.pl /etc/groups group.ldif