RHCSA seriýasy: RHEL 7-de LDAP esasly tanamaklygy gurmak - 14-nji bölüm


Bu makalany käbir LDAP esaslaryny (nämedigini, nirede ulanylýandygyny we näme üçin) görkezmek bilen başlarys we LDAP serwerini nädip gurmalydygyny we Red Hat Enterprise Linux 7 ulgamlaryny ulanyp, müşderini tassyklamak üçin nädip sazlamalydygyny görkezeris.

Görşümiz ýaly, başga-da birnäçe amaly ssenariýalar bar, ýöne bu gollanmada tutuşlygyna LDAP esasly tanamaklyga üns bereris. Mundan başga-da, mowzugyň giňligi sebäpli diňe esaslaryny şu ýerde açjakdygymyzy ýadyňyzdan çykarmaň, ýöne has jikme-jik maglumat üçin gysgaça beýan edilen resminamalara ýüz tutup bilersiňiz.

Şol bir sebäbe görä, gysga wagtlyk LDAP gurallarynyň adam sahypalaryna birnäçe salgylanma goýmagy makul bildim, ýöne degişli düşündirişler barmagyň ujunda (mysal üçin man ldapadd).

Diýdi, başlalyň.

Synag gurşawymyz iki RHEL 7 gutudan ybarat:

Server: 192.168.0.18. FQDN: rhel7.mydomain.com
Client: 192.168.0.20. FQDN: ldapclient.mydomain.com

Isleseňiz, 12-nji bölümde gurlan enjamy ulanyp bilersiňiz: Kickstart-y müşderi hökmünde ulanyp, RHEL 7 gurnamalaryny awtomatlaşdyryň.

LDAP ýeňil kataloglara giriş protokolyny aňladýar we bir müşderä, toruň üsti bilen, merkezi saklanylýan maglumatlara (giriş gabyklarynyň katalogy, öý kataloglaryna mutlak ýollar we beýleki adaty ulgam ulanyjy maglumatlary,) girmäge mümkinçilik berýän protokollar toplumyndan durýar. mysal üçin) dürli ýerlerden elýeterli ýa-da köp sanly ahyrky ulanyjylar üçin elýeterli bolmaly (başga bir mysal, bir kompaniýanyň ähli işgärleriniň öý salgylarynyň we telefon belgileriniň katalogy bolar).

Şeýle (we has köp) maglumatlary merkezde saklamak, ony ulanmaga rugsat alan her bir adam tarapyndan has aňsat saklanyp we elýeterli bolup biljekdigini aňladýar.

Aşakdaky diagramma LDAP-yň ýönekeýleşdirilen diagrammasyny hödürleýär we aşakda has giňişleýin beýan edilýär:

Aboveokardaky diagrammanyň jikme-jik düşündirilmegi.

  1. LDAP bukjasyndaky ýazgy bir birligi ýa-da maglumatlary aňladýar we tapawutly at diýilýän zat bilen özboluşly kesgitlenýär.
  2. Sypat, ýazgy bilen baglanyşykly maglumatlaryň bir bölegi (mysal üçin, salgylar, elýeterli telefon belgileri we e-poçta salgylary).
  3. Her bir atribut giňişlik bilen bölünen sanawda bir ýa-da birnäçe baha berilýär. Her ýazgyda üýtgeşik bir baha, degişlilikde tapawutlanýan at diýilýär.

Bu aýdylanda, serwer we müşderi gurnamalaryna geçeliň.

LDAP serwerini we müşderisini gurmak we sazlamak

RHEL 7-de LDAP OpenLDAP tarapyndan amala aşyrylýar. Serweri we müşderini gurmak üçin degişlilikde aşakdaky buýruklary ulanyň:

# yum update && yum install openldap openldap-clients openldap-servers
# yum update && yum install openldap openldap-clients nss-pam-ldapd

Gurmak gutaransoň, seredýän käbir zatlarymyz bar. Diňe serwerde aşakdaky ädimler ýerine ýetirilmelidir, aç-açan bellenilmedik bolsa:

1. SELinux-yň serwerde-de, müşderide-de aşakdaky bulonlary yzygiderli işletmek arkaly ýoldan çykmaýandygyna göz ýetiriň:

# setsebool -P allow_ypbind=0 authlogin_nsswitch_use_ldap=0

LDAP esasly tanamak üçin allow_ypbind talap edilýän ýerlerde we käbir programmalar tarapyndan authlogin_nsswitch_use_ldap zerur bolup biler.

2. Hyzmaty işletmek we başlamak:

# systemctl enable slapd.service
# systemctl start slapd.service

Şeýle hem systemctl bilen hyzmaty öçürip, täzeden açyp ýa-da duruzyp biljekdigiňizi ýadyňyzdan çykarmaň:

# systemctl disable slapd.service
# systemctl restart slapd.service
# systemctl stop slapd.service

3. Slapd hyzmaty ldap ulanyjysy hökmünde işleýänligi sebäpli (ps -e -o pid, uname, comm | grep slapd bilen barlap bilersiňiz), şeýle ulanyjy serweriň bolmagy üçin/var/lib/ldap katalogyna eýe bolmalydyr. Diňe kök hökmünde işledip boljak administratiw gurallar tarapyndan döredilen ýazgylary üýtgedip bilersiňiz (bu barada bir minutda has köp).

Bu bukjanyň eýeçiligini yzygiderli üýtgetmezden ozal, şarpyk üçin maglumat bazasynyň konfigurasiýa faýlyny göçüriň:

# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
# chown -R ldap:ldap /var/lib/ldap

4. OpenLDAP administratiw ulanyjyny guruň we parol belläň:

# slappasswd

indiki suratda görkezilişi ýaly:

we aşakdaky mazmunly LDIF faýly (ldaprootpasswd.ldif) dörediň:

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

nirede:

  1. PASSWORD - ozal alnan ýuwulan setir.
  2. cn=konfigurasiýa global konfigurasiýa opsiýalaryny görkezýär.
  3. olcDatabase belli bir maglumat bazasynyň mysal adyny görkezýär we adatça /etc/openldap/slapd.d/cn=config içinde tapylyp bilner.

Öň berlen nazaryýet fonuna salgylanyp, ldaprootpasswd.ldif faýly LDAP katalogyna ýazgy goşar. Şol ýazgyda her setir bir atributy aňladýar: baha jübüti (bu ýerde dn, çalyşma görnüşi, goşmak we olcRootPW atributlar we her sütüniň sag tarapyndaky setirler degişli bahalardyr).

Has öňe gidenimizde muny ýatda saklamak isläp bilersiňiz we her makalanyň öňki ädimine bagly bolan şu makalanyň galan böleginde şol bir umumy atlary (cn =) ulanýandygymyzy ýadyňyzdan çykarmaň. .

5. Indi, diňe protokol/host/port meýdanlaryna rugsat berilýän ldap serwerine salgylanýan URI-ni görkezip, degişli LDAP ýazgyny goşuň.

# ldapadd -H ldapi:/// -f ldaprootpasswd.ldif 

Çykyş şuňa meňzeş bolmaly:

we käbir esasy LDAP kesgitlemelerini /etc/openldap/schema katalogyndan import ediň:

# for def in cosine.ldif nis.ldif inetorgperson.ldif; do ldapadd -H ldapi:/// -f /etc/openldap/schema/$def; done

6. LDAP domeniňizi maglumat bazasynda ulanyň.

Aşakdaky mazmun bilen domeniňizi (domen komponentinde dc =) we parolyňyzy çalşyp, ldapdomain.ldif diýip atlandyrjak başga bir LDIF faýly dörediň:

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

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

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=mydomain,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=mydomain,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=mydomain,dc=com" write by * read

Soňra aşakdaky ýaly ýükläň:

# ldapmodify -H ldapi:/// -f ldapdomain.ldif

7. Indi LDAP katalogymyza käbir ýazgylary goşmagyň wagty geldi. Aýratynlyklar we bahalar aşakdaky faýlda (:) sütün bilen bölünýär, biz baseldapdomain.ldif diýip atlandyrarys:

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

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

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

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

LDAP bukjasyna ýazgylary goşuň:

# ldapadd -x -D cn=Manager,dc=mydomain,dc=com -W -f baseldapdomain.ldif

8. ldapuser (adduser ldapuser) atly LDAP ulanyjysyny dörediň, soňra ldapgroup.ldif -da LDAP topary üçin kesgitlemeleri dörediň.

# adduser ldapuser
# vi ldapgroup.ldif

Aşakdaky mazmuny goşuň.

dn: cn=Manager,ou=Group,dc=mydomain,dc=com
objectClass: top
objectClass: posixGroup
gidNumber: 1004

bu ýerde gidNumber/ldapuser üçin/etc/topardaky GID) we ony ýükläň:

# ldapadd -x -W -D "cn=Manager,dc=mydomain,dc=com" -f ldapgroup.ldif

9. Ulanyjy ldapuser ( ldapuser.ldif ) kesgitlemeleri bilen LDIF faýly goşuň:

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

we ýükläň:

# ldapadd -x -D cn=Manager,dc=mydomain,dc=com -W -f ldapuser.ldif

Edil şonuň ýaly, ýaňy döreden ulanyjy ýazgyňyzy pozup bilersiňiz:

# ldapdelete -x -W -D cn=Manager,dc=mydomain,dc=com "uid=ldapuser,ou=People,dc=mydomain,dc=com"

10. Gorag diwary arkaly aragatnaşyga rugsat beriň:

# firewall-cmd --add-service=ldap

11. Iň soňkusy, ýöne iň bolmanda, müşderä LDAP ulanyp hakykylygyny tassyklamaga mümkinçilik beriň.

Bu soňky ädimde bize kömek etmek üçin authconfig kömekçi programmasyny ulanarys (ulgam tanamak çeşmelerini sazlamak üçin interfeýs).

Aşakdaky buýrugy ulanyp, LDAP serwerine garşy tassyklama üstünlik gazanylandan soň, talap edilýän ulanyjy üçin öý katalogy döredilýär:

# authconfig --enableldap --enableldapauth --ldapserver=rhel7.mydomain.com --ldapbasedn="dc=mydomain,dc=com" --enablemkhomedir --update

Gysgaça mazmun

Bu makalada LDAP serwerine garşy esasy tassyklamany nädip gurmalydygyny düşündirdik. Häzirki gollanmada beýan edilen gurnamany hasam sazlamak üçin, TLS ulanyp, howpsuzlyk sazlamalaryna aýratyn üns berip, RHEL 7 Ulgam administratorynyň gollanmasyndaky 13-nji bap - LDAP konfigurasiýasyna serediň.

Aşakdaky düşündiriş formuny ulanyp, soraglaryňyzy goýup bilersiňiz.