GNU/Linux >> LINUX-Kenntnisse >  >> Linux

4 Step Openldap-Container Podman Easy

Einführung

Warum OpenLDAP?

Das Projekt soll den Quellcode der LDAP-Referenz kopieren. OpenLDAP ist die Abkürzung für Lightweight Directory Access Protocol. LDAP ist ein herstellerneutrales Anwendungsprotokoll, mit dem Sie verteilte Verzeichnisinformationsdienste über einen ISP bewerten und verwalten können. Es gibt viele verschiedene Möglichkeiten, ein Verzeichnis bereitzustellen. Die Verwendung von LDAP hilft Ihnen beispielsweise dabei, einen zentralen Ort zum Speichern von Benutzernamen und Passwörtern bereitzustellen.

Daher könnten sich viele verschiedene Anwendungen und Dienste mit dem LDAP-Server verbinden, um Benutzer zu validieren. LDAP-Server werden in Organisationen häufig verwendet, um den Benutzernamen und das Passwort auf einem zentralen Server zu speichern, gegenüber dem sich der Benutzer weiter bei im Netzwerk vorhandenen Programmen und Diensten authentifizieren kann. Darüber hinaus verwenden wir Symas OpenLDAP-Pakete für die Standard-Softwarewartungsbefehle, die für Ihr Betriebssystem nativ sind. OpenLDAP leistet den Hauptbeitrag zum Schreiben von 90 % des OpenLDAP-Codes. Sehen Sie sich auch das Tutorial OpenLDap auf RHEL8 und die OpenLDAP-Dokumentation an.

Vorteile von OpenLDAP

Es ist kostenlos. Ähnlich wie Linux ist Open Source. Standardprotokoll. Zweitens ist es außerdem einfach, die Authentifizierung an viele Anwendungen zu binden. Anpassbar und leicht.

Nachteile von OpenLDAP

Es wäre am besten, wenn Sie sich vorbereiten würden. Neben Ihrer Infrastruktur unterstützen Sie alle Anforderungen. Richtlinien und Sicherheitsregeln vorhanden. Datenbanken oder ActiveDirectory sollten also immer Daten speichern. Alle Attribute und Richtlinien werden beschädigt, wenn die aktuellen Informationen nicht vorhanden sind. Vorausgesetzt, Microsoft gewährt in Ihrer Nähe OpenLDAP mit Active Directory.

OpenLDAP-Image abrufen

#podman pull osixia/openldap:latest

Pod erstellen

Vergessen Sie nicht, die Portzuordnung für beide Ports 389 und 636 hinzuzufügen, wenn Sie von einem anderen Computer auf den LDAP-Server zugreifen möchten.

# podman pod create --name openldapapp -p 389:389 -p 636:636 --network bridge

Erstellen Sie den Openldap-Container

Dies ist das Standardverhalten, wenn Sie dieses Image ausführen. Es wird ein offenes LDAP für Unixcop.com. erstellt Und die Domain example.com . Standardmäßig hat der Admin das Passwort admin . Alle diese Standardeinstellungen können in der Docker-Befehlszeile geändert werden, zum Beispiel:

podman run --pod openldapapp --name openldap-server --uts=private --hostname=openldap.example.com \
--env LDAP_ORGANISATION="My UnixCop" --env LDAP_DOMAIN="example.com" \ 
--env LDAP_ADMIN_PASSWORD="UnixCop@SoFreaky" --env LDAP_TLS=false \
--env LDAP_READONLY_USER=ldapuser01 --env LDAP_CONFIG_PASSWORD="UnixCop@SoFreaky" \ 
--env LDAP_READONLY_USER_PASSWORD="UnixCop@SoFreaky" \
--env LDAP_READONLY_USER_PASSWORD="UnixCop@SoFreaky" \ 
--env LDAP_BASE_DN="cn=admin,dc=example,dc=com" -d osixia/openldap:latest

Die Verzeichnisse /var/lib/ldap (LDAP-Datenbankdateien) und /etc/ldap/slapd.d (LDAP-Konfigurationsdateien) werden verwendet, um das Schema und die Dateninformationen zu speichern. Sie sollten als Volumes zugeordnet werden, damit Ihre LDAP-Dateien außerhalb des Containers gespeichert werden (verwenden Sie eine vorhandene LDAP-Datenbank). Allerdings kann es sinnvoll sein, keine Volumes zu verwenden, wenn das Image das Image komplett mit Testdaten liefern soll – dies ist besonders hilfreich, wenn man andere Images von diesem ableiten möchte.

Dieses Image kann beim Start ldif- und Schema-Dateien aus einem internen Pfad laden. Zusätzlich können Sie Zertifikate aus einem internen Verzeichnis kopieren. Dies ist nützlich, wenn ein kontinuierlicher Integrationsdienst die Arbeitskopie (Quellen) automatisch in einen Docker-Dienst einbindet, der sich auf den ci-Job bezieht.

Beispielsweise kann GitLab keine benutzerdefinierten Pfade in Docker-Dienste eines ci-Jobs einhängen, aber Gitlab skaliert automatisch die Arbeitskopie in jedem Dienstcontainer. Die Arbeitskopie (Quellen) sind also unter /built-in jedem Dienst eines ci-Jobs zugänglich. Das Zertifikatsverzeichnis kann den Pfad zur Arbeitskopie über ${CI_PROJECT_DIR} erhalten. Siehe auch:https://docs.gitlab.com/runner/executors/docker.html#build-directory-in-service

Dies kann auch mit anderen CI-Diensten funktionieren, wenn sie das Arbeitsverzeichnis automatisch in die Dienste eines ci-Jobs einhängen, wie es Gitlab ci tut.

Um Ldif- oder Schemadateien aus dem internen Pfad zu starten, müssen Sie die spezifischen Umgebungsvariablen LDAP_SEED_INTERNAL_LDIF_PATH und LDAP_SEED_INTERNAL_SCHEMA_PATH festlegen. Wenn diese Option ausgewählt ist, werden alle Dateien im angegebenen Verzeichnis in die Standard-Seeding-Verzeichnisse dieses Bildes kopiert.

 LDAP_SEED_INTERNAL_LDAP_TLS_CRT_FILE: "${CI_PROJECT_DIR}/docker/certificates/certs/cert.pem"
 LDAP_SEED_INTERNAL_LDAP_TLS_KEY_FILE: "${CI_PROJECT_DIR}/docker/certificates/certs/key.pem"
 LDAP_SEED_INTERNAL_LDAP_TLS_CA_CRT_FILE: "${CI_PROJECT_DIR}/docker/certificates/ca/ca.pem"
 LDAP_SEED_INTERNAL_LDAP_TLS_DH_PARAM_FILE: "${CI_PROJECT_DIR}/certificates/dhparam.pem"

Gruppe zum Openldap-Container hinzufügen

# cat group.ldif
dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=othergroup,dc=example,dc=com
objectClass: organizationalUnit
ou: othergroup

Kann innerhalb des Containers durchgeführt werden

# podman exec -it openldap-server /bin/bash
/# ldapadd -x -W -D "cn=admin,dc=example,dc=com" -f /tmp/new-user.ldif -H ldap://openldap.example.com

Benutzer zum Openldap-Container hinzufügen

# cat new-user.ldif
dn: uid=ldapuser,ou=People,dc=example,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: adam
uid: adam
uidNumber: 16859
gidNumber: 100
homeDirectory: /home/ldapuser
loginShell: /bin/bash
gecos: ldapuser
userPassword: {crypt}x
shadowLastChange: 0
shadowMax: 0
shadowWarning: 0

Linux
  1. So installieren Sie OpenLDAP Server auf Debian oder Ubuntu

  2. So führen Sie Nginx in einem Docker-Container aus:Eine Schritt-für-Schritt-Anleitung

  3. Schritt für Schritt Konfiguration des OpenLDAP-Servers auf CentOS 7 / RHEL 7

  4. Warum kann Podman mein Image nicht ziehen?

  5. Rootless Podman als Nicht-Root-Benutzer ausführen

FTP-Server-Container Podman schnell und richtig und 4 schmutzige Schritte

1 DNS-Server-Container Podman schmutzig einfach

1 Nagios xi Server-Container Schnell und einfach

HAProxy Server Container Podman schnell 100% einfach

So richten Sie den OpenLDAP-Server unter Debian 10 ein

Installieren Sie Ubuntu Server 18.04 LTS - Einfache Schritt-für-Schritt-Anleitung