Mēs sāksim šo rakstu, izklāstot dažus LDAP pamatus (kas tas ir, kur tas tiek izmantots un kāpēc) un parāda, kā iestatīt LDAP serveri un konfigurēt klientu tā autentificēšanai, izmantojot Red Hat Enterprise Linux 7 sistēmas.
Kā redzēsim, ir vairāki citi iespējamie pielietošanas scenāriji, taču šajā rokasgrāmatā mēs pilnībā koncentrēsimies uz Uz LDAP bāzes autentifikācija. Turklāt, lūdzu, paturiet prātā, ka tēmas plašuma dēļ mēs šeit apskatīsim tikai tās pamatus, bet, lai iegūtu detalizētāku informāciju, varat atsaukties uz kopsavilkumā izklāstīto dokumentāciju.
Tā paša iemesla dēļ jūs atzīmēsit, ka esmu nolēmis atstāt vairākas atsauces uz manu lapām LDAP rīku īsuma labad, bet attiecīgie paskaidrojumi ir pa rokai attālums (cilvēks ldapadd, piemēram).
Tas nozīmē, sāksim.
Mūsu testa vide sastāv no divām RHEL 7 kastes:
Serveris: 192.168.0.18. FQDN: rhel7.mydomain.com. Klients: 192.168.0.20. FQDN: ldapclient.mydomain.com.
Ja vēlaties, varat izmantot ierīcē instalēto mašīnu 12. daļa: RHEL 7 instalāciju automatizācija izmantojot Kickstart kā klientu.
LDAP apzīmē Viegls direktorija piekļuves protokols un sastāv no protokolu kopuma, kas ļauj klientam tīklā piekļūt centralizēti glabātai informācijai (piemēram, pieteikšanās direktorijam) čaulas, absolūti ceļi uz mājas direktorijiem un cita tipiska sistēmas lietotāja informācija, piemēram), kam vajadzētu būt pieejamam no dažādiem vietas vai pieejamas lielam skaitam galalietotāju (cits piemērs varētu būt visu darbinieku mājas adrešu un tālruņu numuru katalogs uzņēmums).
Šādas (un vairāk) informācijas glabāšana centralizēti nozīmē, ka to var vieglāk uzturēt un piekļūt ikvienam, kam ir piešķirtas atļaujas to izmantot.
Šī diagramma piedāvā vienkāršotu diagrammu LDAP, un tas ir sīkāk aprakstīts zemāk:
Iepriekš minētās diagrammas detalizēts skaidrojums.
To sakot, turpināsim servera un klienta instalēšanu.
In RHEL 7, LDAP īsteno OpenLDAP. Lai instalētu serveri un klientu, izmantojiet attiecīgi šādas komandas:
# yum update && yum instalēt openldap openldap-customers openldap-serverus. # yum update && yum instalēt openldap openldap-customers nss-pam-ldapd.
Kad instalēšana ir pabeigta, mēs aplūkojam dažas lietas. Šādas darbības jāveic tikai serverī, ja vien nav skaidri norādīts:
1. Pārliecinies SELinux netraucē, iespējojot tālāk norādīto Būla pastāvīgi gan serverī, gan klientā:
# setsebool -P allow_ypbind = 0 authlogin_nsswitch_use_ldap = 0.
Kur allow_ypbind ir nepieciešama autentifikācijai, kuras pamatā ir LDAP, un authlogin_nsswitch_use_ldap var būt nepieciešama dažām lietojumprogrammām.
2. Iespējot un sākt pakalpojumu:
# systemctl iespējot slapd.service. # systemctl sākt slapd.service.
Paturiet prātā, ka pakalpojumu varat arī atspējot, restartēt vai pārtraukt systemctl arī:
# systemctl atspējot slapd.service. # systemctl restartējiet slapd.service. # systemctl stop slapd.service.
3. Kopš slapd pakalpojums darbojas kā ldap lietotājs (kuru varat pārbaudīt, izmantojot ps -e -o pid, uname, comm | grep slapd), šādam lietotājam vajadzētu piederēt /var/lib/ldap direktoriju, lai serveris varētu modificēt ierakstus, kas izveidoti ar administratīviem rīkiem, kurus var palaist tikai kā root (vairāk par to pēc minūtes).
Pirms rekursīvi mainīt šī direktorija īpašumtiesības, nokopējiet datubāzes konfigurācijas faila paraugu slapd tajā:
# cp /usr/share/openldap-servers/DB_CONFIG.example/var/lib/ldap/DB_CONFIG. # chown -R ldap: ldap/var/lib/ldap.
4. Iestatiet OpenLDAP administratīvo lietotāju un piešķiriet paroli:
# slappasswd.
kā parādīts nākamajā attēlā:
un izveidojiet LDIF fails (ldaprootpasswd.ldif) ar šādu saturu:
dn: olcDatabase = {0} config, cn = config. changetype: modificēt. pievienot: olcRootPW. olcRootPW: {SSHA} PAROLE.
kur:
Atsaucoties uz iepriekš sniegto teorētisko pamatojumu, ldaprootpasswd.ldif
fails pievienos ierakstu LDAP direktorijai. Šajā ierakstā katra rinda attēlo atribūtu: vērtību pāris (kur dn, changetype, add un olcRootPW ir atribūti, un virknes pa labi no katra kolu ir to atbilstošās vērtības).
Iespējams, vēlēsities to paturēt prātā, turpinot darbu, un ņemiet vērā, ka mēs izmantojam tos pašus vispārējos nosaukumus (cn =)
visā šī raksta turpinājumā, kur katrs solis ir atkarīgs no iepriekšējā.
5. Tagad pievienojiet atbilstošo LDAP ierakstu, norādot URI atsaucoties uz ldap serveri, kur ir atļauti tikai protokola/resursdatora/porta lauki.
# ldapadd -H ldapi: /// -f ldaprootpasswd.ldif
Izejai jābūt līdzīgai:
un importējiet dažas pamata LDAP definīcijas no /etc/openldap/schema
katalogs:
# par def in cosinus.ldif nis.ldif inetorgperson.ldif; do ldapadd -H ldapi: /// -f/etc/openldap/schema/$ def; darīts.
6. Ļaujiet LDAP izmantot savu domēnu savā datu bāzē.
Izveidojiet citu LDIF failu, kuru mēs sauksim ldapdomain.ldif
, ar šādu saturu, attiecīgi aizstājot jūsu domēnu (domēna komponentā dc =) un paroli:
dn: olcDatabase = {1} monitors, cn = config. changetype: modificēt. aizstāt: olcAccess. olcAccess: no {0} līdz * ar dn.base = "gidNumber = 0+uidNumber = 0, cn = vienādots, cn = ārējs, cn = auth", ko nolasa dn.base = "cn = Pārvaldnieks,dc = mans domēns, dc = com "lasa * neviens dn: olcDatabase = {2} hdb, cn = config. changetype: modificēt. aizstāt: olcSuffix. olcSufikss: dc = mans domēns, dc = com dn: olcDatabase = {2} hdb, cn = config. changetype: modificēt. aizstāt: olcRootDN. olcRootDN: cn = Pārvaldnieks,dc = mans domēns, dc = com dn: olcDatabase = {2} hdb, cn = config. changetype: modificēt. pievienot: olcRootPW. olcRootPW: {SSHA} PASSWORD dn: olcDatabase = {2} hdb, cn = config. changetype: modificēt. pievienot: olcAccess. olcAccess: {0} uz attrs = userPassword, shadowLastChange by dn = "cn = Pārvaldnieks,dc = mans domēns, dc = com "rakstīt ar anonīmu autentifikāciju, pats rakstīt ar * nav. olcAccess: {1} uz dn.base = "" by * read. olcAccess: {2} uz * by dn = "cn = Manager, dc = mydomain, dc = com" rakstīt pēc * lasīšanas.
Pēc tam ielādējiet to šādi:
# ldapmodify -H ldapi: /// -f ldapdomain.ldif.
7. Tagad ir pienācis laiks pievienot dažus ierakstus mūsu LDAP direktorijai. Atribūtus un vērtības atdala ar kolu (:)
nākamajā failā, kuru mēs nosauksim baseldapdomain.ldif
:
dn: dc = mans domēns, dc = com. objectClass: augšā. objectClass: dcObject. objektu klase: organizācija. o: mydomain com. dc: mans domēns dn: cn = pārvaldnieks, dc = mans domēns, dc = com. objectClass: organizatoriskā loma. cn: vadītājs. apraksts: Direktorija pārvaldnieks dn: ou = People, dc = mydomain, dc = com. objectClass: organizationalUnit. ou: Cilvēki dn: ou = Group, dc = mydomain, dc = com. objectClass: organizationalUnit. ou: Grupa.
Pievienojiet ierakstus LDAP direktorijai:
# ldapadd -x -D cn = Pārvaldnieks, dc = mydomain, dc = com -W -f baseldapdomain.ldif.
8. Izveidojiet LDAP lietotāju ar nosaukumu ldapuser (adduser ldapuser), pēc tam izveidojiet LDAP grupas definīcijas ldapgroup.ldif
.
# adduser ldapuser. # vi ldapgroup.ldif.
Pievienojiet šādu saturu.
dn: cn = pārvaldnieks, ou = grupa, dc = mans domēns, dc = com. objectClass: augšā. objectClass: posixGroup. gidSkaitlis: 1004.
kur gidNumber ir GID /etc/group ldapuser) un ielādējiet to:
# ldapadd -x -W -D "cn = Pārvaldnieks, dc = mans domēns, dc = com" -f ldapgroup.ldif.
9. Pievienojiet LDIF failu ar lietotāja ldapuser (ldapuser.ldif
):
dn: uid = ldapuser, ou = People, dc = mydomain, dc = com. objectClass: augšā. objectClass: konts. objectClass: posixAccount. objectClass: shadowAccount. cn: ldapuser. uid: ldapuser. uidSkaitlis: 1004. gidSkaitlis: 1004. homeDirectory: /home /ldapuser. userPassword: {SSHA} fiN0YqzbDuDI0Fpqq9UudWmjZQY28S3M. loginShell: /bin /bash. gecos: ldapuser. shadowLastChange: 0. shadowMax: 0. ēnaBrīdinājums: 0.
un ielādējiet to:
# ldapadd -x -D cn = Pārvaldnieks, dc = mans domēns, dc = com -W -f ldapuser.ldif.
Tāpat varat izdzēst tikko izveidoto lietotāja ierakstu:
# ldapdelete -x -W -D cn = Pārvaldnieks, dc = mydomain, dc = com "uid = ldapuser, ou = People, dc = mydomain, dc = com"
10. Atļaut saziņu caur ugunsmūri:
# firewall-cmd --add-service = ldap.
11. Visbeidzot, bet ne mazāk svarīgi, ļaujiet klientam autentificēties, izmantojot LDAP.
Lai palīdzētu mums šajā pēdējā solī, mēs izmantosim authconfig utilīta (saskarne sistēmas autentifikācijas resursu konfigurēšanai).
Izmantojot šo komandu, tiek izveidots pieprasītā lietotāja mājas direktorijs, ja pēc autentifikācijas pret LDAP serveri tas neeksistē:
# authconfig --enableldap --enableldapauth --ldapserver = rhel7.mydomain.com --ldapbasedn = "dc = mydomain, dc = com" --enablemkhomedir --update.
Šajā rakstā mēs esam izskaidrojuši, kā iestatīt pamata autentifikāciju pret LDAP serveri. Lai tālāk konfigurētu šajā rokasgrāmatā aprakstīto iestatīšanu, lūdzu, skatiet 13. nodaļa - LDAP konfigurācija RHEL 7 sistēmas administratora rokasgrāmatā, īpašu uzmanību pievēršot drošības iestatījumiem, izmantojot TLS.
Jūtieties brīvi atstāt visus savus jautājumus, izmantojot zemāk esošo komentāru veidlapu.