====== OpenLDAP installeren op CentOS7 ====== Deze installatie resulteert in een Ldapserver waaraan client servers identification kunnen vragen voor users. Instructies moeten nog aangepast worden voor SSL ===== Installeer de software ===== ''yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel'' en start:\\ ''systemctl start slapd.service\\ systemctl enable slapd.service'' en check of hij luistert:\\ ''netstat -antup | grep -i 389'' ===== Base Database configuratie ===== Genereer een paasword hash voor de database administrator:\\ ''slappasswd'' New password: Re-enter new password: {SSHA}z8Al/JfVLlDv+4R38UpjHdjk28dnDDqG Sla het wachtwoord en de gegenereerde hash ergens op. ''vi db.ldif'' dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=voorbeeld,dc=.lan dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=ldapadm,dc=voorbeeld,dc=lan dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootPW: {SSHA}z8Al/JfVLlDv+4R38UpjHdjk28dnDDqG en pas de ldif file toe op de ldap:\\ ''%%ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif%%'' ''vi monitor.ldif'' dn: olcDatabase={1}monitor,cn=config changetype: modify replace: olcAccess olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth" read by dn.base="cn=ldapadm,dc=voorbeeld,dc=lan" read by * none en pas de ldif file toe op de ldap:\\ ''%%ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif%%'' Controleer de huidige configuratie:\\ ''%%slaptest -u%%'' ''cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG\\ chown ldap:ldap /var/lib/ldap/*'' ''%%ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif%%\\ %%ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif%%\\ %%ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif%%'' ''vi base.ldif'' dn: dc=voorbeeld,dc=lan dc: voorbeeld objectClass: top objectClass: domain dn: cn=ldapadm,dc=voorbeeld,dc=lan objectClass: organizationalRole cn: ldapadm description: LDAP Manager dn: ou=People,dc=voorbeeld,dc=lan objectClass: organizationalUnit ou: People dn: ou=Group,dc=voorbeeld,dc=lan objectClass: organizationalUnit ou: Group ''%%ldapadd -x -W -D "cn=ldapadm,dc=voorbeeld,dc=lan" -f base.ldif%%'' ===== Users toevoegen ===== Je zou de gebruikers met een ldiff kunnen aanmaken, maar de preciese format van de ldif luistert nogal nauw. Beter is een testuser via een migratie tooltje aan te maken en die vervolgens in een latere interface als template te kunnen gebruiken om nieuwe gebruikers toe te voegen. op linux op de ldapserver:\\ '' useradd testuser\\ passwd testuser'' ''yum -y install migrationtools'' ''cd /usr/share/migrationtools/\\ vi migrate_common.ph'' verander de base dn en de extended schema's # Default DNS domain $DEFAULT_MAIL_DOMAIN = "voorbeeld.nl"; # Default base $DEFAULT_BASE = "dc=voorbeeld,dc=nl"; # turn this on to support more general object clases # such as person. $EXTENDED_SCHEMA = 1; Vervolgens filteren we alleen de testuser uit de lijst: (system users moeten niet in de ldap worden opgenomen)\\ ''grep ":10[0-9][0-9]" /etc/passwd > /root/passwd'' en ook voor de groups:\\ ''grep ":10[0-9][0-9]" /etc/group > /root/group'' Maak daar ldifs van met de migratie tool:\\ ''./migrate_passwd.pl /root/passwd /root/users.ldif\\ ./migrate_group.pl /root/group /root/groups.ldif'' En pas de ldifs toe op de LDAP database:\\ ''ldapadd -x -W -D "cn=ldapadm,dc=voorbeeld,dc=lan" -f /root/groups.ldif\\ ldapadd -x -W -D "cn=ldapadm,dc=voorbeeld,dc=lan" -f /root/users.ldif'' ===== Firewall ===== zet de firewall open voor ldap queries: ''%%firewall-cmd --permanent --add-service=ldap%%\\ %%firewall-cmd --permanent --add-service=ldaps%%\\ %%firewall-cmd --reload%%'' ===== Client servers koppelen ===== Vervolgens kun je met [[werkinstructies:centos_servers_aan_ldap_koppelen|deze handleiding]] Servers aan de LDAP koppelen en de koppeling testen. ===== Bronnen ===== https://www.itzgeek.com/how-tos/linux/centos-how-tos/step-step-openldap-server-configuration-centos-7-rhel-7.html https://www.server-world.info/en/note?os=CentOS_7&p=openldap&f=1 http://www.learnitguide.net/2016/01/configure-openldap-server-on-rhel7.html