Kaip įdiegti „OpenLDAP“ serverį centralizuotam autentifikavimui
„Lightweight Directory Access Protocol“ (trumpai tariant, LDAP) yra pramonės standartas, lengvas, plačiai naudojamas protokolų rinkinys, skirtas prisijungti prie katalogų paslaugų. Katalogų paslauga yra bendra informacijos infrastruktūra, skirta prieigai prie kasdienių elementų ir tinklo išteklių, tokių kaip vartotojai, grupės, įrenginiai, el. Pašto adresai, telefono numeriai, tomai ir daugybė kitų objektų, valdyti, tvarkyti ir atnaujinti.
LDAP informacinis modelis pagrįstas įrašais. Įrašas LDAP kataloge reiškia vieną vienetą ar informaciją ir yra unikaliai identifikuojamas vadinamuoju skiriamuoju vardu (DN). Kiekvienas įrašo atributas turi tipą ir vieną ar daugiau reikšmių.
Atributas yra su įrašu susijusi informacijos dalis. Tipai paprastai yra mnemoninės eilutės, pvz., „Cn“ bendram vardui arba „paštas“ el. Pašto adresui. Kiekvienam atributui priskiriama viena ar daugiau reikšmių, sudarytų iš tarpų atskirto sąrašo.
Toliau pateikiama informacijos išdėstymo LDAP kataloge iliustracija.
Šiame straipsnyje mes parodysime, kaip įdiegti ir konfigūruoti „OpenLDAP“ serverį centralizuotam autentifikavimui „Ubuntu 16.04/18.04“ ir „CentOS 7“.
1 veiksmas: įdiekite LDAP serverį
1. Pirmiausia pradėkite diegdami „OpenLDAP“, atvirojo šaltinio LDAP diegimą ir kai kurias tradicines LDAP tvarkymo priemones naudodami šias komandas.
# yum install openldap openldap-servers #CentOS 7 $ sudo apt install slapd ldap-utils #Ubuntu 16.04/18.04
„Ubuntu“ paketo diegimo metu būsite paraginti įvesti administratoriaus įrašo slaptažodį į savo LDAP katalogą, nustatyti saugų slaptažodį ir jį patvirtinti.
Baigę diegimą, galite pradėti paslaugą, kaip paaiškinta toliau.
2. „CentOS 7“ paleiskite šias komandas, kad paleistumėte „openldap“ serverio deemoną, leiskite jam automatiškai paleisti įkrovos metu ir patikrinkite, ar jis veikia ir veikia („Ubuntu“ paslauga turėtų būti automatiškai paleista sistemoje „systemd“, galite tiesiog patikrinti jo statusas):
$ sudo systemctl start slapd $ sudo systemctl enable slapd $ sudo systemctl status slapd
3. Tada per užkardą leiskite užklausas LDAP serverio demonui, kaip parodyta.
# firewall-cmd --add-service=ldap #CentOS 7 $ sudo ufw allow ldap #Ubuntu 16.04/18.04
2 žingsnis: LDAP serverio konfigūravimas
Pastaba: nerekomenduojama rankiniu būdu redaguoti LDAP konfigūracijos, turite pridėti konfigūracijas į failą ir naudoti komandą ldapadd arba ldapmodify, kad jas įkeltumėte į LDAP katalogą, kaip parodyta žemiau.
4. Dabar sukurkite „OpenLDAP“ administravimo vartotoją ir priskirkite tam vartotojui slaptažodį. Žemiau pateiktoje komandoje sukuriama maišo reikšmė nurodytam slaptažodžiui, atkreipkite dėmesį į tai, naudosite ją LDAP konfigūracijos faile.
$ slappasswd
5. Tada sukurkite LDIF failą (ldaprootpasswd.ldif), kuris naudojamas įrašui pridėti prie LDAP katalogo.
$ sudo vim ldaprootpasswd.ldif
Į jį įtraukite šį turinį:
dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}PASSWORD_CREATED
paaiškinant aukščiau esančias atributų ir reikšmių poras:
- „olcDatabase“: nurodo konkretų duomenų bazės egzemplioriaus pavadinimą ir paprastai jį galima rasti /etc/openldap/slapd.d/cn=config.
- cn = config: nurodo visuotines konfigūracijos parinktis.
- PASSWORD: yra maišos eilutė, gauta kuriant administravimo vartotoją.
6. Tada pridėkite atitinkamą LDAP įrašą, nurodydami URI, nukreipiantį į LDAP serverį ir aukščiau esantį failą.
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif
3 veiksmas: konfigūruokite LDAP duomenų bazę
7. Dabar nukopijuokite slapd duomenų bazės konfigūracijos failo pavyzdį į/var/lib/ldap katalogą ir nustatykite teisingus failo leidimus.
$ 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. Toliau importuokite kai kurias pagrindines LDAP schemas iš katalogo/etc/openldap/schema taip.
$ 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. Dabar pridėkite savo domeną į LDAP duomenų bazę ir sukurkite savo domenui failą pavadinimu ldapdomain.ldif.
$ sudo vim ldapdomain.ldif
Į jį pridėkite šį turinį (pavyzdį pakeiskite savo domenu ir PASSWORD prieš tai gauta maišos reikšme):
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. Tada pridėkite aukščiau nurodytą konfigūraciją į LDAP duomenų bazę naudodami šią komandą.
$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif
11. Šiame žingsnyje turime pridėti keletą įrašų į savo LDAP katalogą. Sukurkite kitą failą, pavadintą baseldapdomain.ldif su tokiu turiniu.
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
Išsaugokite failą ir pridėkite įrašus į LDAP katalogą.
$ sudo ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f baseldapdomain.ldif
12. Kitas žingsnis yra sukurti LDAP vartotoją, pvz., „Tecmint“, ir nustatyti šio vartotojo slaptažodį taip.
$ sudo useradd tecmint $ sudo passwd tecmint
13. Tada sukurkite LDAP grupės apibrėžimus faile, pavadintame ldapgroup.ldif su tokiu turiniu.
dn: cn=Manager,ou=Group,dc=example,dc=com objectClass: top objectClass: posixGroup gidNumber: 1005
Pirmiau pateiktoje konfigūracijoje „gidNumber“ yra „tecmint“ grupės/etc/grupėje GID ir pridėkite jį prie „OpenLDAP“ katalogo.
$ sudo ldapadd -Y EXTERNAL -x -W -D "cn=Manager,dc=example,dc=com" -f ldapgroup.ldif
14. Tada sukurkite kitą LDIF failą pavadinimu ldapuser.ldif ir pridėkite vartotojo tecmint apibrėžimus.
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
tada įkelkite konfigūraciją į LDAP katalogą.
$ ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f ldapuser.ldif
Nustačius centrinį serverį autentifikavimui, paskutinė dalis yra leisti klientui autentifikuoti naudojant LDAP, kaip paaiškinta šiame vadove:
- Kaip sukonfigūruoti LDAP klientą prijungti išorinį autentifikavimą
Norėdami gauti daugiau informacijos, žiūrėkite atitinkamus dokumentus iš „OpenLDAP“ serverio vadovo.
„OpenLDAP“ yra atviro kodo „LDAP“ diegimas sistemoje „Linux“. Šiame straipsnyje mes parodėme, kaip įdiegti ir konfigūruoti „OpenLDAP“ serverį centralizuotam autentifikavimui, „Ubuntu 16.04/18.04“ ir „CentOS 7“. Jei turite klausimų ar minčių, kuriuos norite pasidalinti, nedvejodami susisiekite su mumis naudodami toliau pateiktą komentarų formą.