Merkezleşdirilen tanamak üçin OpenLDAP serwerini nädip gurmaly


Directoryeňil kataloglara giriş protokoly (gysgaça LDAP), pudak standarty, ýeňil, katalog hyzmatlaryna girmek üçin giňden ulanylýan protokollar toplumy. Katalog hyzmaty, ulanyjylar, toparlar, enjamlar, e-poçta salgylary, telefon belgileri, göwrümler we beýleki köp sanly zatlar ýaly gündelik zatlara we tor çeşmelerine girmek, dolandyrmak, guramak we täzelemek üçin umumy maglumat infrastrukturasydyr.

LDAP maglumat modeli ýazgylara esaslanýar. LDAP bukjasyndaky ýazgy bir birligi ýa-da maglumatlary aňladýar we tapawutly at (DN) diýilýän zat bilen özboluşly kesgitlenýär. Girişiň atributlarynyň hersiniň bir görnüşi we bir ýa-da birnäçe bahasy bar.

Sypat, ýazgy bilen baglanyşykly maglumatlaryň bir bölegi. Görnüşleri, adatça, umumy at üçin “cn” ýa-da e-poçta salgysy üçin “poçta” ýaly mnemoniki setirlerdir. Her bir atribut giňişlik bilen bölünen sanawdan ybarat bir ýa-da birnäçe baha berilýär.

Aşakda LDAP katalogynda maglumatlaryň nähili tertipleşdirilendigi görkezilýär.

Bu makalada Ubuntu 16.04/18.04 we CentOS 7-de merkezleşdirilen tassyklamak üçin OpenLDAP serwerini nädip gurmalydygyny we sazlamalydygyny görkezeris.

1-nji ädim: LDAP serwerini gurmak

1. Ilki bilen aşakdaky buýruklary ulanyp, LDAP-yň açyk çeşmesi we käbir adaty LDAP dolandyryş hyzmatlaryny OpenLDAP gurmakdan başlaň.

# yum install openldap openldap-servers	    #CentOS 7
$ sudo apt install slapd ldap-utils	    #Ubuntu 16.04/18.04

Ubuntu-da, paket gurlanda, LDAP katalogyňyza administrator girişiniň parolyny girizmek, ygtybarly parol bellemek we tassyklamak soralar.

Gurmak tamamlanandan soň, indiki düşündirilişi ýaly hyzmaty başlap bilersiňiz.

2 ýagdaýy):

$ sudo systemctl start slapd
$ sudo systemctl enable slapd
$ sudo systemctl status slapd

3. Ondan soň, görkezilişi ýaly diwar diwary arkaly LDAP serwer daemonyna haýyşlara rugsat beriň.

# firewall-cmd --add-service=ldap    #CentOS 7
$ sudo ufw allow ldap                #Ubuntu 16.04/18.04

2-nji ädim: LDAP serwerini sazlamak

Bellik: LDAP konfigurasiýasyny el bilen redaktirlemek maslahat berilmeýär, konfigurasiýalary bir faýla goşmaly we aşakda görkezilişi ýaly LDAP katalogyna ýüklemek üçin ldapadd ýa-da ldapmodify buýrugyny ulanmaly.

4. Indi OpenLDAP administratiw ulanyjy dörediň we şol ulanyjy üçin parol belläň. Aşakdaky buýrukda berlen parol üçin ýuwulan baha döredilýär, oňa üns beriň, LDAP konfigurasiýa faýlynda ulanarsyňyz.

$ slappasswd

5. Soňra LDAP bukjasyna ýazgy goşmak üçin ulanylýan LDIF faýly (ldaprootpasswd.ldif) dörediň.

$ sudo vim ldaprootpasswd.ldif

Oňa aşakdaky mazmuny goşuň:

dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}PASSWORD_CREATED

ýokardaky atribut-baha jübütlerini düşündirmek:

  • olcDatabase: belli bir maglumat bazasynyň mysal adyny görkezýär we adatça /etc/openldap/slapd.d/cn=config içinde tapylyp bilner.
  • cn=config: global konfigurasiýa opsiýalaryny görkezýär.
  • PASSWORD: administratiw ulanyjy döredilende alnan ýuwulan setir.

6. Ondan soň, ldap serwerine we ýokardaky faýla salgylanýan URI-ni görkezip, degişli LDAP ýazgyny goşuň.

$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif  

3-nji ädim: LDAP maglumat bazasyny düzmek

7. Indi slapd üçin maglumat bazasynyň konfigurasiýa faýlyny/var/lib/ldap katalogyna göçüriň we faýlda dogry rugsatlary belläň.

$ sudo cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
$ sudo chown -R ldap:ldap /var/lib/ldap/DB_CONFIG
$ sudo systemctl restart slapd

8. Ondan soň/etc/openldap/shema katalogyndan käbir esasy LDAP shemalaryny import ediň.

$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif 
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

9. Indi domeniňizi LDAP maglumat bazasyna goşuň we domeniňiz üçin ldapdomain.ldif atly faýl dörediň.

$ sudo vim ldapdomain.ldif 

Oňa aşakdaky mazmuny goşuň (mysal üçin domeniňiz we PASSWORD bilen öň alnan ýuwulan baha bilen çalşyň):

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=Manager,dc=example,dc=com" read by * none

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=example,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=example,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}PASSWORD

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
  dn="cn=Manager,dc=example,dc=com" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=example,dc=com" write by * read

10. Soňra aşakdaky buýruk bilen LDAP maglumatlar bazasyna ýokardaky konfigurasiýany goşuň.

$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif

11. Bu ädimde LDAP katalogymyza käbir ýazgylary goşmalydyrys. Aşakdaky mazmunly baseldapdomain.ldif atly başga bir faýl dörediň.

dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: example com
dc: example

dn: cn=Manager,dc=example,dc=com
objectClass: organizationalRole
cn: Manager
description: Directory Manager

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

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

Faýly ýazdyryň we ýazgylary LDAP katalogyna goşuň.

$ sudo ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f baseldapdomain.ldif

12. Indiki ädim, mysal üçin, LDAP ulanyjysyny döretmek we bu ulanyjy üçin paroly aşakdaky ýaly bellemek.

$ sudo useradd tecmint
$ sudo passwd tecmint

13. Soňra aşakdaky mazmunly ldapgroup.ldif atly faýlda LDAP topary üçin kesgitlemeleri dörediň.

dn: cn=Manager,ou=Group,dc=example,dc=com
objectClass: top
objectClass: posixGroup
gidNumber: 1005

Aboveokardaky konfigurasiýada gidNumber tekmint üçin/etc/topardaky GID bolup, ony OpenLDAP katalogyna goşýar.

$ sudo ldapadd -Y EXTERNAL -x  -W -D "cn=Manager,dc=example,dc=com" -f ldapgroup.ldif

14. Ondan soň ldapuser.ldif atly başga bir LDIF faýly dörediň we ulanyjy tecmint üçin kesgitlemeleri goşuň.

dn: uid=tecmint,ou=People,dc=example,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: tecmint
uid: tecmint
uidNumber: 1005
gidNumber: 1005
homeDirectory: /home/tecmint
userPassword: {SSHA}PASSWORD_HERE
loginShell: /bin/bash
gecos: tecmint
shadowLastChange: 0
shadowMax: 0
shadowWarning: 0

soň konfigurasiýany LDAP katalogyna ýükläň.

$ ldapadd -Y EXTERNAL  -x -D cn=Manager,dc=example,dc=com -W -f  ldapuser.ldif

Hakyky tanamak üçin merkezi serweri guranyňyzdan soň, iň soňky bölegi müşderä şu gollanmada düşündirilişi ýaly LDAP ulanyp tassyklamaga mümkinçilik bermekdir:

  1. Daşarky tanamaklygy birikdirmek üçin LDAP müşderisini nädip sazlamaly

Has giňişleýin maglumat üçin OpenLDAP serwer gollanmasyndan degişli resminamalara serediň.

OpenLDAP Linux-da LDAP-yň açyk çeşmesi. Bu makalada, Ubuntu 16.04/18.04 we CentOS 7-de merkezleşdirilen tassyklamak üçin OpenLDAP serwerini nädip gurmalydygyny we sazlamalydygyny görkezdik, paýlaşmak üçin soragyňyz ýa-da pikirleriňiz bar bolsa, aşakdaky düşündiriş formasy arkaly bize ýüz tutuň.