GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat a nakonfigurovat OpenLDAP na CentOS / RHEL Linux

LDAP znamená Lightweight Directory Access Protocol.

LDAP je řešení pro přístup k centrálně uloženým informacím přes síť. Tyto centrálně uložené informace jsou organizovány v adresáři, který odpovídá standardu X.500.

Informace jsou uloženy a organizovány hierarchickým způsobem a výhodou tohoto přístupu je, že informace lze seskupit do kontejnerů a klienti k těmto kontejnerům mohou přistupovat kdykoli je potřeba.

Hierarchie OpenLDAP je téměř podobná hierarchii DNS.

Následují dva nejčastěji používané objekty v OpenLDAP:

  1. cn (běžný název) – odkazuje na položky listu, což jsou koncové objekty (například:uživatelé a skupiny)
  2. dc (komponenta domény) – odkazuje na jednu z položek kontejneru v hierarchii LDAP. Pokud je v nastavení hierarchie LDAP mapována na hierarchii DNS, obvykle se všechny domény DNS označují jako objekty DC.

Pokud je například uživatel v hierarchii sam.thegeekstuff.com, je plně rozlišující jméno tohoto uživatele označováno jako cn=sam, dc=thegeekstuff, dc=com. Pokud jste si všimli v FDN (úplně rozlišující název), čárka se používá jako oddělovač a ne tečka, což je běžné v DNS.

Pomocí různých typů položek LDAP můžete nastavit hierarchickou strukturu adresářů. To je důvod, proč je openLDAP tak široce používán. Můžete snadno vytvořit hierarchii openLDAP, kde lze snadno odkazovat na objekty v jiných umístěních, aniž byste je ukládali na místní servery. Díky tomu je OpenLDAP odlehčený adresář, zejména ve srovnání s jinými adresářovými servery, jako je Microsoft Active directory.

Nyní se podíváme, jak nastavit jednu instanci serveru LDAP, kterou může k ověřování používat více klientů ve vaší síti.

Nainstalujte balíčky OpenLDAP

Na CentOS a RedHat použijte yum install, jak je uvedeno níže, k instalaci balíčků souvisejících s openldap.

yum install -y openldap openldap-clients openldap-servers

Měli byste nainstalovat následující tři balíčky:

  1. openldap-servers – Toto je hlavní server LDAP
  2. openldap-clients – Obsahuje všechny požadované klientské nástroje LDAP
  3. openldap – Tento balíček obsahuje knihovny podpory LDAP

Konfigurační soubory LDAP

  • config.ldif – Výchozí konfigurace LDAP je uložena v souboru /etc/openldap/slapd.d/cn=config.ldif, který je vytvořen ve formátu LDIF. Toto je vstupní formát LDAP (LDIF), specifický formát, který umožňuje zadávat informace do adresáře LDAP.
  • olcDatabase{2}bdb.ldif – Můžete také upravit nastavení, jako je počet připojení, která může server podporovat, časové limity a další nastavení databáze v souboru /etc/openldap/slapd.d/cn=config/olcDatabase{2 }bdb.ldif. Toto je soubor, který také obsahuje parametry, jako je uživatel root LDAP a základní DN.

Vytvořte účet olcRootDN jako správce

Vždy se doporučuje nejprve vytvořit vyhrazený uživatelský účet s plnými oprávněními ke změně informací v databázi LDAP.

Upravte soubor olcDatabase={2}bdb.ldif a změňte položku olcRootDN. Následující je výchozí položka.

# grep olcRootDN /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
olcRootDN: cn=Manager,dc=my-domain,dc=com

Změňte výše uvedený řádek na administrátora. V tomto příkladu bude uživatel „ramesh“ olcRootDN.

olcRootDN: cn=ramesh,dc=thegeekstuff,dc=com

Vytvořte kořenové heslo olcRootPW

Nyní pomocí příkazu slappasswd vytvořte hash pro heslo uživatele root, které chcete použít. Jakmile je heslo vygenerováno, otevřete soubor cn=config.ldif, zahrňte parametr olcRootPW a zkopírujte hashované heslo, jak je uvedeno níže.

Proveďte následující příkaz a zadejte heslo. Tím se vygeneruje hash pro dané heslo.

# slappasswd
New password: SecretLDAPRootPass2015
Re-enter new password: SecretLDAPRootPass2015
{SSHA}1pgok6qWn24lpBkVreTDboTr81rg4QC6

Vezměte výstup hash z výše uvedeného příkazu a přidejte jej do parametru oclRootPW v souboru config.ldif, jak je znázorněno níže.

# vi /etc/openldap/slapd.d/cn=config.ldif
olcRootPW: {SSHA}1pgok6qWn24lpBkVreTDboTr81rg4QC6

Vytvořte název domény olcSuffix

Nyní nastavte olcSuffix a nastavte doménu, kterou chcete. Jednoduše upravte řádek, který začíná příponou olcSuffix v souboru olcDatabase={2}bdb.ldif, jak je znázorněno níže.

# vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
olcSuffix: dc=thegeekstuff,dc=com

Ověřte konfigurační soubory

Použijte příkaz slaptest k ověření konfiguračního souboru, jak je uvedeno níže. To by mělo zobrazit zprávu „testování bylo úspěšné“, jak je uvedeno níže.

# slaptest -u
config file testing succeeded

Během výše uvedeného příkazu se mohou zobrazit následující zprávy, které můžete prozatím ignorovat.

54a39508 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
54a39508 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif"

Spusťte server LDAP

Spusťte server ldap, jak je znázorněno níže.

# service slapd start
Checking configuration files for slapd: [WARNING]
config file testing succeeded
Starting slapd:                         [  OK  ]

Ověřte vyhledávání LDAP

Chcete-li ověřit, zda je server ldap úspěšně nakonfigurován, můžete použít níže uvedený příkaz a ověřit, zda je přítomen záznam domény.

# ldapsearch -x -b "dc=thegeekstuff,dc=com"
# extended LDIF
#
# LDAPv3
# base <dc=thegeekstuff,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# search result
search: 2
result: 32 No such object
# numResponses: 1

Základní struktura LDAP v base.ldif

Použití objektů OU (organizační jednotky) vám může pomoci při poskytování další struktury do databáze LDAP. Pokud plánujete přidání různých typů položek, jako jsou uživatelé, skupiny, počítače, tiskárny a další, do adresáře LDAP, usnadníte si umístění každého typu položky do vlastního kontejneru.

Chcete-li vytvořit tyto organizační jednotky, můžete vytvořit počáteční soubor LDIF, jak je znázorněno v níže uvedeném příkladu. V tomto příkladu vám tento soubor umožňuje vytvořit základní kontejner, který je dc=thegeekstuff,dc=com, a vytvoří dvě organizační jednotky se jmény uživatelů a skupin v tomto kontejneru.

# cat base.ldif
dn: dc=thegeekstuff,dc=com
objectClass: dcObject
objectClass: organization
o: thegeekstuff.com
dc: thegeekstuff
dn: ou=users,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: users
dn: ou=groups,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: groups

Import základní struktury pomocí ldapadd

Nyní můžeme importovat základní strukturu do adresáře LDAP pomocí příkazu ldapadd, jak je ukázáno níže.

# ldapadd -x -W -D "cn=ramesh,dc=thegeekstuff,dc=com" -f base.ldif
Enter LDAP Password:
adding new entry "dc=thegeekstuff,dc=com"
adding new entry "ou=users,dc=thegeekstuff,dc=com"
adding new entry "ou=groups,dc=thegeekstuff,dc=com"

Ověřte základní strukturu pomocí ldapsearch

Chcete-li ověřit, zda jsou organizační jednotky úspěšně vytvořeny, použijte následující příkaz ldapsearch.

# ldapsearch -x -W -D "cn=ramesh,dc=thegeekstuff,dc=com" -b "dc=thegeekstuff,dc=com" "(objectclass=*)"
Enter LDAP Password:

Výstup výše uvedeného příkazu zobrazí všechny objekty v adresářové struktuře LDAP.

# extended LDIF
#
# LDAPv3
# base <dc=thegeekstuff,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# thegeekstuff.com
dn: dc=thegeekstuff,dc=com
objectClass: dcObject
objectClass: organization
o: thegeekstuff.com
dc: thegeekstuff
# users, thegeekstuff.com
dn: ou=users,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: users
# groups, thegeekstuff.com
dn: ou=groups,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: groups
# search result
search: 2
result: 0 Success
# numResponses: 4
# numEntries: 3

V příštím článku OpenLDAP vysvětlíme, jak přidat nové uživatele a skupiny do adresáře LDAP.


Linux
  1. CentOS / RHEL 7 :Jak nainstalovat a nakonfigurovat telnet

  2. Jak nainstalovat a nakonfigurovat Sambu v CentOS / RHEL

  3. CentOS / RHEL 4:Jak nainstalovat a nakonfigurovat FTP server (vsftpd)

  1. CentOS / RHEL 5 :Jak nainstalovat a nakonfigurovat server vsftpd

  2. Jak nainstalovat a nakonfigurovat telnet v RHEL / CentOS 5,6

  3. Jak nainstalovat a nakonfigurovat Kerberos v CentOS/RHEL 7

  1. Nainstalujte a nakonfigurujte HAProxy na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat a nakonfigurovat R na RHEL 8 / CentOS 8 Linux System

  3. Jak nainstalovat balíček zip/unzip v Linux CentOS/RHEL 7 a 8