Otevřít LDAP je open-source implementace Lightweight Directory Access Protocol vyvinutá projektem OpenLDAP. LDAP je internetový protokol, který e-mail a další programy používají k vyhledání kontaktních informací ze serveru. Je vydán pod veřejnou licencí OpenLDAP; je k dispozici pro všechny hlavní distribuce Linuxu, AIX, Android, HP-UX, OS X, Solaris, Windows a z/OS.
Funguje určitými způsoby jako relační databáze a lze ji použít k ukládání jakýchkoli informací. LDAP není omezen na ukládání informací; používá se také jako backendová databáze pro „jednotné přihlášení“, kde je jedno heslo pro uživatele sdíleno mnoha službami.
V tomto tutoriálu nakonfigurujeme OpenLDAP pro centralizované přihlašování, kde uživatelé používají jeden účet pro přihlášení k více serverům.
Tento příspěvek pokrývá pouze konfiguraci OpenLDAP bez SSL. Pokud byste chtěli nakonfigurovat OpenLDAP s SSL, po dokončení tohoto příspěvku postupujte podle níže uvedeného odkazu.
ČTĚTE :Jak nakonfigurovat OpenLDAP s SSL na CentOS 7 / RHEL 7
Životní prostředí
Název hostitele | IP adresa | OS | Účel |
---|---|---|---|
server.itzgeek.local | 192.168.1.10 | CentOS 7 | Server LDAP |
client.itzgeek.local | 192.168.1.20 | CentOS 7 | Klient LDAP |
Předpoklady
1. Ujistěte se, že oba servery LDAP „server.itzgeek.local“ (192.168.1.10) a klient LDAP „client.itzgeek.local“ (192.168.1.20) jsou přístupné.
2. Na každém počítači vytvořte záznam hostitele v /etc/hosts
pro rozlišení názvu.
192.168.1.10 server.itzgeek.local server 192.168.1.20 client.itzgeek.local client
NEBO
Pokud plánujete místo IP adresy použít název hostitele, nakonfigurujte server DNS pomocí článku Jak nakonfigurovat server DNS v systému CentOS 7 / RHEL 7 .
Zde budu pro veškerou konfiguraci používat IP adresu.
Pokud plánujete sestavení serveru LDAP pomocí replikace, přeskočte tento návod a navštivte Konfigurace replikace OpenLDAP Multi-Master v systému Linux .Nainstalujte balíčky OpenLDAP
Nainstalujte následující balíčky LDAP RPM na server LDAP (server.itzgeek.local ).
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel
Spusťte službu LDAP a povolte ji pro automatické spouštění služby při spouštění systému.
systemctl start slapd systemctl enable slapd
Ověřte LDAP.
netstat -antup | grep -i 389
Výstup:
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 1520/slapd tcp6 0 0 :::389 :::* LISTEN 1520/slapd
ČTĚTE :Příkaz netstat nebyl nalezen na CentOS 7 / RHEL 7 – Rychlá oprava
Nastavit heslo správce LDAP
Spuštěním níže uvedeného příkazu vytvořte kořenové heslo LDAP. Toto heslo správce LDAP (root) budeme používat v celém tomto článku.
Nahraďte ldppassword svým heslem.
slappasswd -h {SSHA} -s ldppassword
Výše uvedený příkaz vygeneruje zašifrovaný hash zadaného hesla, které musíte použít v konfiguračním souboru LDAP. Takže si to poznamenejte a ponechte si to stranou.
Výstup:
{SSHA}d/thexcQUuSfe3rx3gRaEhHpNJ52N8D3
Konfigurace serveru OpenLDAP
Konfigurační soubory serverů OpenLDAP se nacházejí v /etc/openldap/slapd.d/
. Abychom mohli začít s konfigurací LDAP, museli bychom aktualizovat proměnné „olcSuffix “ a „olcRootDN “.
olcSuffix – Database Suffix, je to název domény, pro kterou server LDAP poskytuje informace. Jednoduše řečeno, mělo by se změnit na
název vaší domény.
olcRootDN – Položka Root Distinguished Name (DN) pro uživatele, který má neomezený přístup k provádění všech činností správy na LDAP, jako je uživatel root.
olcRootPW – Heslo správce LDAP pro výše uvedený RootDN.
Výše uvedené položky je třeba aktualizovat v/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
soubor. Ruční úprava konfigurace LDAP se nedoporučuje, protože při každém spuštění příkazu ldapmodify ztratíte změny. Vytvořte prosím .ldif soubor.
vi db.ldif
Přidejte níže uvedené položky.
Nahraďte zašifrované heslo ( {SSHA}d/thexcQUuSfe3rx3gRaEhHpNJ52N8D3 ) s heslem, které jste vygenerovali v předchozím kroku.
dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=itzgeek,dc=local dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=ldapadm,dc=itzgeek,dc=local dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}d/thexcQUuSfe3rx3gRaEhHpNJ52N8D3
Jakmile budete se souborem ldif hotovi, odešlete konfiguraci na server LDAP.
ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif
Proveďte změny v souboru /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif (Neupravujte ručně) soubor k omezení přístupu k monitoru pouze na kořenový adresář ldap (ldapadm ) uživateli ne ostatním.
vi monitor.ldif
Použijte níže uvedené informace.
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=itzgeek,dc=local" read by * none
Jakmile soubor aktualizujete, odešlete konfiguraci na server LDAP.
ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif
Nastavit databázi LDAP
Zkopírujte konfigurační soubor ukázkové databáze do /var/lib/ldap
a aktualizujte oprávnění k souboru.
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap:ldap /var/lib/ldap/*
Přidejte kosinus a nis schémata 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
Vygenerujte base.ldif
soubor pro vaši doménu.
vi base.ldif
Použijte níže uvedené informace. Můžete jej upravit podle svých požadavků.
dn: dc=itzgeek,dc=local dc: itzgeek objectClass: top objectClass: domain dn: cn=ldapadm ,dc=itzgeek,dc=local objectClass: organizationalRole cn: ldapadm description: LDAP Manager dn: ou=People,dc=itzgeek,dc=local objectClass: organizationalUnit ou: People dn: ou=Group,dc=itzgeek,dc=local objectClass: organizationalUnit ou: Group
Vytvořte adresářovou strukturu.
ldapadd -x -W -D "cn=ldapadm,dc=itzgeek,dc=local" -f base.ldifPříkaz ldapadd vás vyzve k zadání hesla ldapadm (uživatel root LDAP).
Výstup:
Enter LDAP Password: adding new entry "dc=itzgeek,dc=local" adding new entry "cn=ldapadm ,dc=itzgeek,dc=local" adding new entry "ou=People,dc=itzgeek,dc=local" adding new entry "ou=Group,dc=itzgeek,dc=local"Stránky:1 2