LDAP ist ein Lightweight Directory Access Protocol, das für den Zugriff auf und die Verwaltung verteilter Verzeichnisse über ein Internetprotokoll verwendet wird. phpLDAPadmin ist ein webbasierter LDAP-Client, der zum Verwalten und Verwalten des LDAP-Servers verwendet wird. Seine leistungsstarke Suchfunktion und die hierarchische Baumansicht erleichtern die Verwaltung des LDAP-Servers über den Webbrowser. Mit phpLDAPadmin können Sie Datensätze hinzufügen und löschen, Bildattribute anzeigen und bearbeiten, Benutzerkennwort-Hashes verwalten und vieles mehr.
In diesem Tutorial erklären wir, wie man phpLDAPadmin auf Ubuntu 20.04 installiert.
Voraussetzungen
- Ein Server mit Ubuntu 20.04.
- Ein gültiger Domainname, auf den Ihre Server-IP verweist.
- Ein Root-Passwort wird auf dem Server konfiguriert.
Erste Schritte
Bevor Sie beginnen, wird immer empfohlen, Ihr System mit der neuesten Paketversion zu aktualisieren. Sie können es mit dem folgenden Befehl aktualisieren:
apt-get update -y
Sobald alle Pakete aktualisiert sind, können Sie mit dem nächsten Schritt fortfahren.
Installieren und konfigurieren Sie den OpenLDAP-Server
Zuerst müssen Sie Slapd und andere LDAP-Dienstprogramme auf Ihrem Server installieren. Sie können sie installieren, indem Sie den folgenden Befehl ausführen:
apt-get install slapd ldap-utils
Während der Installation werden Sie aufgefordert, ein Administratorkennwort wie unten gezeigt einzurichten:
Geben Sie Ihr sicheres Passwort ein und drücken Sie Enter weitermachen. Sobald die Installation abgeschlossen ist, müssen Sie das SLAPD-Paket neu konfigurieren, um Ihre Domäneninformationen festzulegen.
Sie können es mit dem folgenden Befehl neu konfigurieren:
dpkg-reconfigure slapd
Sie werden aufgefordert, die OpenLDAP-Serverkonfiguration wie unten gezeigt auszulassen:
Wählen Sie Nein aus und drücken Sie Enter weitermachen. Sie werden aufgefordert, einen DNS-Domänennamen wie unten gezeigt anzugeben:
Geben Sie Ihren Domainnamen ein und drücken Sie Enter weitermachen. Sie werden aufgefordert, den Namen der Organisation wie unten gezeigt anzugeben:
Geben Sie den gewünschten Organisationsnamen ein und drücken Sie Enter weitermachen. Sie werden wie unten gezeigt nach dem Admin-Passwort gefragt:
Geben Sie Ihr Administratorkennwort ein und drücken Sie Enter weitermachen. Sie werden aufgefordert, die Datenbank wie unten gezeigt zu entfernen:
Wählen Sie Ja aus und drücken Sie Enter um die Konfiguration abzuschließen.
Jetzt können Sie Ihre LDAP-Informationen mit dem folgenden Befehl überprüfen:
Slapcat
Sie sollten die folgende Ausgabe erhalten:
dn:dc=example,dc=comobjectClass:topobjectClass:dcObjectobjectClass:Organizationo:example.comdc:examplestructuralObjectClass:OrganizationentryUUID:971829cc-ac5f-103a-8e42-9f8486ff5685creatorsName:cn=admin,dc=example,dc=comcreateTimestamp:20201028CSNZ05 :20201027051828.103064Z # 000000 # 000 # 000000modifiersName:cn =admin, dc =example, dc =commodifyTimestamp:20201027051828Zdn:cn =admin, dc =example, dc =comobjectClass:simpleSecurityObjectobjectClass:organizationalRolecn:admindescription:LDAP administratoruserPassword ::e1NTSEF9Tm5OYlpSMktkYjVnUUprb284MHFPTEVkMjQrQXpQWEk =structural:organizationalRoleentryUUID:9718c198-ac5f-103a-8e43-9f8486ff5685creatorsName:cn =admin, dc =example, dc =comcreateTimestamp:20201027051828ZentryCSN:20201027051828.107057Z # 000000 # 000 # 000000modifiersName:cn =admin, dc =example, dc =commodifyTimestamp:20201027051828ZOpenLDAP-Benutzerkonten erstellen
Zuerst müssen Sie die Container der Organisationseinheit erstellen, um Benutzer- und Gruppeninformationen zu speichern. Sie können es mit dem folgenden Befehl erstellen:
nano users-ou.ldifFügen Sie die folgenden Zeilen hinzu:
dn:ou=people,dc=example,dc=comobjectClass:OrganizationalUnitobjectClass:topou:peopledn:ou=groups,dc=example,dc=comobjectClass:OrganizationalUnitobjectClass:topou:groupsSpeichern und schließen Sie die Datei, wenn Sie fertig sind, und passen Sie dann die SLAPD-Datenbankzugriffskontrollen an, indem Sie die folgende Datei erstellen:
nano update-mdb-acl.ldifFügen Sie die folgenden Zeilen hinzu:
dn:olcDatabase={1}mdb,cn=configchangetype:modifyreplace:olcAccessolcAccess:to attrs=userPassword,shadowLastChange,shadowExpire by self write by anonymous auth by dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by dn.exact="cn=readonly,ou=people,dc=example,dc=com" read by * noneolcAccess:to dn.exact="cn=readonly,ou=people,dc=example,dc=com" by dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by * noneolcAccess:to dn.subtree="dc=example ,dc=com" von dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" verwaltet von Benutzern gelesen von * noneSpeichern und schließen Sie die Datei und aktualisieren Sie dann die Datenbank-ACL mit den obigen Informationen, indem Sie den folgenden Befehl ausführen:
ldapadd -Y EXTERNAL -H ldapi:/// -f update-mdb-acl.ldifSie sollten die folgende Ausgabe erhalten:
SASL/EXTERNAL-Authentifizierung gestartetSASL-Benutzername:gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASL SSF:0Modifying entry "olcDatabase={1}mdb,cn=config"Aktualisieren Sie als Nächstes die Datenbank mit den Benutzer-OU-Informationen, indem Sie den folgenden Befehl ausführen:
ldapadd -Y EXTERNAL -H ldapi:/// -f users-ou.ldifSie sollten die folgende Ausgabe erhalten:
SASL/EXTERNAL-Authentifizierung gestartetSASL-Benutzername:gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASL SSF:0adding new entry „ou=people,dc=example,dc=com“adding new entry "ou=Gruppen,dc=Beispiel,dc=com"Erstellen Sie als Nächstes ein neues Benutzerkonto namens hiteshj, indem Sie die folgende Datei erstellen:
nano hitesh.ldifFügen Sie die folgenden Zeilen hinzu:
dn:uid=hiteshj,ou=people,dc=example,dc=comobjectClass:inetOrgPersonobjectClass:posixAccountobjectClass:shadowAccountuid:hiteshjcn:Hiteshsn:JethvaloginShell:/bin/bashuidNumber:10000gidNumber:10000homeDirectory:/home/hiteshjshadowMax:60shadow.Min:1shadowWarning :7shadowInactive:7shadowLastChange:0dn:cn=hiteshj,ou=groups,dc=example,dc=comobjectClass:posixGroupcn:hiteshjgidNumber:10000memberUid:hiteshjSpeichern und schließen Sie die Datei und fügen Sie dann den Benutzer mit dem folgenden Befehl zur Datenbank hinzu:
ldapadd -Y EXTERNAL -H ldapi:/// -f hitesh.ldifSie sollten die folgende Ausgabe erhalten:
SASL/EXTERNAL-Authentifizierung gestartetSASL-Benutzername:gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASL SSF:0Hinzufügen des neuen Eintrags „uid=hiteshj,ou=people,dc=example,dc=com "Hinzufügen eines neuen Eintrags "cn=hiteshj,ou=groups,dc=example,dc=com"Als nächstes müssen Sie das Passwort für den Benutzer festlegen. Sie können es mit dem folgenden Befehl einstellen:
ldappasswd -H ldapi:/// -Y EXTERNAL -S "uid=hiteshj,ou=people,dc=example,dc=com"Sie sollten die folgende Ausgabe sehen:
Neues Passwort:Neues Passwort erneut eingeben:SASL/EXTERNAL-Authentifizierung gestartetSASL-Benutzername:gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASL SSF:0Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
OpenLDAP-Bind-DN erstellen
Als nächstes müssen Sie den Benutzernamen und das Passwort für die Abfrage des Verzeichnisservers definieren. Generieren Sie zunächst den Passwort-Hash für den Bind-DN-Benutzer mit dem folgenden Befehl:
slapppasswdSie sollten die folgende Ausgabe erhalten:
Neues Passwort:Neues Passwort erneut eingeben:{SSHA}DhjyJN5akaj2etaFKoyeAY8QMgSD/OTbErstellen Sie als Nächstes mit dem folgenden Befehl einen schreibgeschützten Bind-DN-Namen:
nano readonly-user.ldifFügen Sie die folgenden Zeilen hinzu:
dn:cn=readonly,ou=people,dc=example,dc=comobjectClass:OrganizationalRoleobjectClass:simpleSecurityObjectcn:readonlyuserPassword:{SSHA}DhjyJN5akaj2etaFKoyeAY8QMgSD/OTbdescription:DN-Benutzer für LDAP-Operationen bindenSpeichern und schließen Sie die Datei, wenn Sie fertig sind, und fügen Sie dann den BIND-Benutzer mit dem folgenden Befehl zur Datenbank hinzu:
ldapadd -Y EXTERNAL -H ldapi:/// -f readonly-user.ldifSie sollten die folgende Ausgabe erhalten:
SASL/EXTERNAL-Authentifizierung gestartetSASL-Benutzername:gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASL SSF:0neuen Eintrag hinzufügen „cn=readonly,ou=people,dc=example,dc=com "Überprüfen Sie als Nächstes die Bind-DN-ACL mit dem folgenden Befehl:
ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config '(olcDatabase={1}mdb)' olcAccessSie sollten die folgende Ausgabe erhalten:
dn:olcDatabase={1}mdb,cn=configolcAccess:{0}to attrs=userPassword,shadowLastChange,shadowExpire by self writ e by anonymous auth by dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=ext ernal,cn=auth" manage by dn.exact="cn=readonly,ou=people,dc=example,dc=com" read by * noneolcAccess:{1}to dn.exact="cn=readonly,ou=people,dc=example,dc=com" von dn.subt ree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" verwaltet von * non eolcAccess:{2} to dn.subtree="dc=example,dc=com" by dn.subtree="gidNumber=0+uid Number=0,cn=peercred,cn=external,cn=auth" manage by users read by * noneInstallieren und konfigurieren Sie phpLDAPadmin
Standardmäßig ist das Paket phpLDAPadmin im Standard-Repository von Ubuntu 20.04 verfügbar. Sie können es installieren, indem Sie den folgenden Befehl ausführen:
apt-get install phpldapadmin -yNach der Installation von phpLDAPadmin müssen Sie phpLDAPadmin konfigurieren und Ihre Domäneninformationen definieren. Sie können dies tun, indem Sie die Datei /etc/phpldapadmin/config.php:
bearbeitennano /etc/phpldapadmin/config.phpÄndern Sie die folgenden Zeilen:
$servers->setValue('server','name','My LDAP Server');$servers->setValue('server','host','69.87.216.102');$servers->; setValue('server','base',array('dc=example,dc=com'));$servers->setValue('login','auth_type','session');$servers->setValue(' login','bind_id','cn=admin,dc=example,dc=com');$servers->setValue('auto_number','min',array('uidNumber'=>10000,'gidNumber'=> 10000));Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Apache für phpLDAPadmin konfigurieren
Die phpLDAPadmin-Standardkonfigurationsdatei für Apache befindet sich unter /etc/apache2/conf-available/phpldapadmin.conf. Nehmen Sie keine Änderungen vor und verwenden Sie die Standardeinstellungen.
Deaktivieren Sie als Nächstes die Standardkonfigurationsdatei des virtuellen Apache-Hosts und starten Sie den Apache-Dienst neu, um die Änderungen zu übernehmen:
a2dissite 000-default.conf
systemctl reset apache2Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Greifen Sie auf die Web-Benutzeroberfläche von phpLDAPadmin zu
Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://your-server-ip/phpldapadmin auf phpLDAPadmin zu . Sie sollten den folgenden Bildschirm sehen:
Klicken Sie nun auf Login Taste. Sie sollten den Anmeldebildschirm von phpLDAPadmin sehen:
Geben Sie Ihren Login-DN und Ihr Passwort ein und klicken Sie auf Authentifizieren Taste. Sie sollten das phpLDAPadmin-Dashboard auf dem folgenden Bildschirm sehen:
Schlussfolgerung
Herzliche Glückwünsche! Sie haben phpLDAPadmin erfolgreich auf dem Ubuntu 20.04-Server installiert und konfiguriert. Sie können jetzt Ihren LDAP-Server verwalten und verschiedene Aufgaben ausführen, darunter das Hinzufügen von Organisationseinheiten, Gruppen und Benutzern mit der phpLDAPadmin-Webbenutzeroberfläche. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.