Kā instalēt OpenLDAP serveri centralizētai autentifikācijai
Vieglais direktoriju piekļuves protokols (īsi sakot, LDAP) ir nozares standarta, viegls, plaši izmantots protokolu kopums, lai piekļūtu direktoriju pakalpojumiem. Direktorija pakalpojums ir koplietojama informācijas infrastruktūra, lai piekļūtu ikdienas lietojumiem un tīkla resursiem, piemēram, lietotājiem, grupām, ierīcēm, e-pasta adresēm, tālruņu numuriem, sējumiem un daudziem citiem objektiem, tos pārvaldītu, kārtotu un atjauninātu.
LDAP informācijas modelis ir balstīts uz ierakstiem. Ieraksts LDAP direktorijā apzīmē vienu vienību vai informāciju, un to unikāli identificē ar tā dēvēto atšķirīgo vārdu (DN). Katram ieraksta atribūtam ir tips un viena vai vairākas vērtības.
Atribūts ir informācija, kas saistīta ar ierakstu. Šie tipi parasti ir mnemotiskas virknes, piemēram, “cn” parastajam nosaukumam vai “pasts” e-pasta adresei. Katram atribūtam tiek piešķirta viena vai vairākas vērtības, kas sastāv no atstarpēm atdalītā sarakstā.
Tālāk ir parādīts, kā informācija tiek kārtota LDAP direktorijā.
Šajā rakstā mēs parādīsim, kā instalēt un konfigurēt OpenLDAP serveri centralizētai autentifikācijai Ubuntu 16.04/18.04 un CentOS 7.
1. darbība: LDAP servera instalēšana
1. Vispirms sāciet instalēt OpenLDAP, LDAP atvērtā pirmkoda ieviešanu un dažas tradicionālās LDAP pārvaldības utilītas, izmantojot šādas komandas.
# yum install openldap openldap-servers #CentOS 7 $ sudo apt install slapd ldap-utils #Ubuntu 16.04/18.04
Ubuntu pakotnes instalēšanas laikā jums tiks lūgts ievadīt administratora ieraksta paroli LDAP direktorijā, iestatīt drošu paroli un to apstiprināt.
Kad instalēšana ir pabeigta, varat sākt pakalpojumu, kā paskaidrots tālāk.
2. CentOS 7 palaidiet šādas komandas, lai palaistu openldap servera dēmonu, ļaujiet tam automātiski startēt sāknēšanas laikā un pārbaudiet, vai tas darbojas un darbojas (Ubuntu pakalpojums ir jāaktivizē automātiski zem systemd, jūs varat vienkārši pārbaudīt tās statuss):
$ sudo systemctl start slapd $ sudo systemctl enable slapd $ sudo systemctl status slapd
3. Pēc tam atļaujiet pieprasījumus LDAP servera dēmonam, izmantojot ugunsmūri, kā parādīts.
# firewall-cmd --add-service=ldap #CentOS 7 $ sudo ufw allow ldap #Ubuntu 16.04/18.04
2. darbība: LDAP servera konfigurēšana
Piezīme. Nav ieteicams manuāli rediģēt LDAP konfigurāciju, jums jāpievieno konfigurācijas failā un jāizmanto ldapadd vai ldapmodify komanda, lai tās ielādētu LDAP direktorijā, kā parādīts zemāk.
4. Tagad izveidojiet OpenLDAP administratīvo lietotāju un piešķiriet šim lietotājam paroli. Zemāk esošajā komandā šai parolei tiek izveidota jaukta vērtība, ņemiet to vērā, jūs to izmantosiet LDAP konfigurācijas failā.
$ slappasswd
5. Pēc tam izveidojiet LDIF failu (ldaprootpasswd.ldif), ko izmanto, lai pievienotu ierakstu LDAP direktorijā.
$ sudo vim ldaprootpasswd.ldif
Pievienojiet tajā šādu saturu:
dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}PASSWORD_CREATED
paskaidrojot iepriekš minētos atribūtu un vērtību pārus:
- olcDatabase: norāda konkrētu datu bāzes instances nosaukumu, un to parasti var atrast mapē /etc/openldap/slapd.d/cn=config.
- cn = config: norāda globālās konfigurācijas opcijas.
- PASSWORD: ir jaukta virkne, kas iegūta, izveidojot administratīvo lietotāju.
6. Pēc tam pievienojiet atbilstošo LDAP ierakstu, norādot URI, atsaucoties uz ldap serveri un iepriekš minēto failu.
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif
3. darbība: konfigurējiet LDAP datu bāzi
7. Tagad nokopējiet slapd datu bāzes konfigurācijas faila paraugu direktorijā/var/lib/ldap un iestatiet pareizās faila atļaujas.
$ 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. Pēc tam importējiet dažas pamata LDAP shēmas no direktorija/etc/openldap/schema šādi.
$ 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. Tagad pievienojiet savu domēnu LDAP datu bāzē un izveidojiet savam domēnam failu ar nosaukumu ldapdomain.ldif.
$ sudo vim ldapdomain.ldif
Pievienojiet tajā šādu saturu (aizstājiet piemēru ar savu domēnu un PASSWORD ar iepriekš iegūto jaukto vērtību):
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. Pēc tam pievienojiet iepriekš minēto konfigurāciju LDAP datu bāzei, izmantojot šādu komandu.
$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif
11. Šajā solī mums jāpievieno daži ieraksti mūsu LDAP direktorijā. Izveidojiet citu failu ar nosaukumu baseldapdomain.ldif ar šādu saturu.
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
Saglabājiet failu un pēc tam pievienojiet ierakstus LDAP direktorijā.
$ sudo ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f baseldapdomain.ldif
12. Nākamais solis ir izveidot LDAP lietotāju, piemēram, tecmint, un šim lietotājam iestatīt paroli šādi.
$ sudo useradd tecmint $ sudo passwd tecmint
13. Pēc tam izveidojiet LDAP grupas definīcijas failā ar nosaukumu ldapgroup.ldif ar šādu saturu.
dn: cn=Manager,ou=Group,dc=example,dc=com objectClass: top objectClass: posixGroup gidNumber: 1005
Iepriekšminētajā konfigurācijā gidNumber ir GID failā/etc/tecmint grupā un pievienojiet to OpenLDAP direktorijai.
$ sudo ldapadd -Y EXTERNAL -x -W -D "cn=Manager,dc=example,dc=com" -f ldapgroup.ldif
14. Pēc tam izveidojiet citu LDIF failu ar nosaukumu ldapuser.ldif un pievienojiet lietotāja tecmint definīcijas.
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
pēc tam ielādējiet konfigurāciju LDAP direktorijā.
$ ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f ldapuser.ldif
Kad esat iestatījis centrālo serveri autentifikācijai, pēdējā daļa ir ļaut klientam autentificēties, izmantojot LDAP, kā paskaidrots šajā rokasgrāmatā:
- Kā konfigurēt LDAP klientu ārējās autentifikācijas savienošanai
Lai iegūtu papildinformāciju, skatiet atbilstošo dokumentāciju no OpenLDAP servera rokasgrāmatas.
OpenLDAP ir atvērtā koda LDAP ieviešana Linux. Šajā rakstā mēs esam parādījuši, kā instalēt un konfigurēt OpenLDAP serveri centralizētai autentifikācijai, Ubuntu 16.04/18.04 un CentOS 7. Ja jums ir jautājums vai domas, ko dalīties, nevilcinieties sazināties ar mums, izmantojot zemāk esošo komentāru veidlapu.