Kif Tinstalla OpenLDAP Server għall-Awtentikazzjoni Ċentralizzata
Protokoll ta 'Aċċess għad-Direttorju ħafif (LDAP fil-qosor) huwa sett ta' protokolli standard industrijali, ħafif u użat ħafna għall-aċċess għas-servizzi tad-direttorju. Servizz tad-direttorju huwa infrastruttura ta’ informazzjoni kondiviża għall-aċċess, il-ġestjoni, l-organizzazzjoni u l-aġġornament ta’ oġġetti ta’ kuljum u riżorsi tan-netwerk, bħal utenti, gruppi, tagħmir, indirizzi tal-email, numri tat-telefon, volumi u ħafna oġġetti oħra.
Il-mudell ta' informazzjoni LDAP huwa bbażat fuq l-entrati. Entrata f'direttorju LDAP tirrappreżenta unità jew informazzjoni waħda u hija identifikata b'mod uniku b'dak li jissejjaħ Isem Distint (DN). Kull wieħed mill-attributi tad-dħul għandu tip u valur wieħed jew aktar.
Attribut huwa biċċa informazzjoni assoċjata ma' dħul. It-tipi huma tipikament kordi mnemoniċi, bħal cn għal isem komuni, jew posta għall-indirizz elettroniku. Kull attribut huwa assenjat valur wieħed jew aktar li jikkonsistu f'lista separata bi spazju.
Dan li ġej huwa eżempju ta' kif l-informazzjoni hija rranġata fid-direttorju LDAP.
F'dan l-artikolu, ser nuru kif tinstalla u tikkonfigura server OpenLDAP għal awtentikazzjoni ċentralizzata f'Ubuntu 16.04/18.04 u CentOS 7.
Pass 1: Installazzjoni ta' LDAP Server
1. L-ewwel ibda billi tinstalla OpenLDAP, implimentazzjoni ta 'sors miftuħ ta' LDAP u xi utilitajiet tradizzjonali ta 'ġestjoni LDAP billi tuża l-kmandi li ġejjin.
# yum install openldap openldap-servers #CentOS 7 $ sudo apt install slapd ldap-utils #Ubuntu 16.04/18.04
Fuq Ubuntu, waqt l-installazzjoni tal-pakkett, tkun imħeġġeġ biex iddaħħal il-password għad-dħul tal-amministratur fid-direttorju LDAP tiegħek, issettja password sigura u tikkonfermaha.
Meta l-installazzjoni tkun kompluta, tista 'tibda s-servizz kif spjegat li jmiss.
2. Fuq CentOS 7, mexxi l-kmandi li ġejjin biex tibda d-daemon tas-server openldap, ppermettih li jibda awtomatikament fil-ħin tal-ibbutjar u ċċekkja jekk hux qed jaħdem (fuq Ubuntu is-servizz għandu jinbeda awtomatikament taħt systemd, tista 'sempliċement tiċċekkja l-istatus tiegħu):
$ sudo systemctl start slapd $ sudo systemctl enable slapd $ sudo systemctl status slapd
3. Sussegwentement, ħalli t-talbiet lid-daemon tas-server LDAP permezz tal-firewall kif muri.
# firewall-cmd --add-service=ldap #CentOS 7 $ sudo ufw allow ldap #Ubuntu 16.04/18.04
Pass 2: Konfigurazzjoni tas-Server LDAP
Nota: Mhux rakkomandat li teditja manwalment il-konfigurazzjoni LDAP, għandek bżonn iżżid il-konfigurazzjonijiet f'fajl u tuża l-kmand ldapadd jew ldapmodify biex tgħabbihom fid-direttorju LDAP kif muri hawn taħt.
4. Issa oħloq utent amministrattiv OpenLDAP u assenja password għal dak l-utent. Fil-kmand ta 'hawn taħt, jinħoloq valur hashed għall-password mogħtija, ħu nota tiegħu, se tużah fil-fajl tal-konfigurazzjoni LDAP.
$ slappasswd
5. Imbagħad oħloq fajl LDIF (ldaprootpasswd.ldif) li jintuża biex iżżid dħul fid-direttorju LDAP.
$ sudo vim ldaprootpasswd.ldif
Żid il-kontenut li ġej fih:
dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}PASSWORD_CREATED
tispjega l-pari attribut-valur hawn fuq:
- olcDatabase: jindika isem ta' istanza tad-database speċifika u tipikament jista' jinstab ġewwa /etc/openldap/slapd.d/cn=config.
- cn=config: tindika għażliet ta' konfigurazzjoni globali.
- PASSWORD: hija s-sekwenza hashed miksuba waqt li jinħoloq l-utent amministrattiv.
6. Sussegwentement, żid l-entrata LDAP korrispondenti billi tispeċifika l-URI li tirreferi għas-server ldap u l-fajl ta 'hawn fuq.
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif
Pass 3: Konfigurazzjoni tad-Database LDAP
7. Issa kkopja l-fajl tal-konfigurazzjoni tad-database tal-kampjun għal slapd fid-direttorju /var/lib/ldap, u waqqaf il-permessi korretti fuq il-fajl.
$ 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. Sussegwentement, importazzjoni xi skemi bażiċi LDAP mid-direttorju /etc/openldap/schema kif ġej.
$ 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. Issa żid id-dominju tiegħek fid-database LDAP u oħloq fajl imsejjaħ ldapdomain.ldif għad-dominju tiegħek.
$ sudo vim ldapdomain.ldif
Żid il-kontenut li ġej fih (issostitwixxi l-eżempju mad-dominju tiegħek u l-PASSWORD bil-valur hashed miksub qabel):
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. Imbagħad żid il-konfigurazzjoni ta 'hawn fuq fid-database LDAP bil-kmand li ġej.
$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif
11. F'dan il-pass, għandna bżonn inżidu xi entrati fid-direttorju LDAP tagħna. Oħloq fajl ieħor imsejjaħ baseldapdomain.ldif bil-kontenut li ġej.
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
Issejvja l-fajl u mbagħad żid l-entrati fid-direttorju LDAP.
$ sudo ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f baseldapdomain.ldif
12. Il-pass li jmiss huwa li toħloq utent LDAP pereżempju, tecmint, u ssettja password għal dan l-utent kif ġej.
$ sudo useradd tecmint $ sudo passwd tecmint
13. Imbagħad oħloq id-definizzjonijiet għal grupp LDAP f'fajl imsejjaħ ldapgroup.ldif bil-kontenut li ġej.
dn: cn=Manager,ou=Group,dc=example,dc=com objectClass: top objectClass: posixGroup gidNumber: 1005
Fil-konfigurazzjoni ta 'hawn fuq, gidNumber huwa l-GID f'/etc/group għal tecmint u żidha mad-direttorju OpenLDAP.
$ sudo ldapadd -Y EXTERNAL -x -W -D "cn=Manager,dc=example,dc=com" -f ldapgroup.ldif
14. Sussegwentement, oħloq fajl LDIF ieħor imsejjaħ ldapuser.ldif u żid id-definizzjonijiet għall-utent tecmint.
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
imbagħad tagħbija l-konfigurazzjoni fid-direttorju LDAP.
$ ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f ldapuser.ldif
Ladarba tkun issettjajt server ċentrali għall-awtentikazzjoni, il-parti finali hija li tippermetti lill-klijent biex jawtentika bl-użu ta 'LDAP kif spjegat f'din il-gwida:
- Kif tikkonfigura l-Klijent LDAP biex tikkonnettja l-Awtentikazzjoni Esterna
Għal aktar informazzjoni, ara d-dokumentazzjoni xierqa mill-gwida tas-server OpenLDAP.
OpenLDAP hija implimentazzjoni ta' sors miftuħ ta' LDAP fil-Linux. F'dan l-artikolu, wrejna kif tinstalla u tikkonfigura server OpenLDAP għal awtentikazzjoni ċentralizzata, f'Ubuntu 16.04/18.04 u CentOS 7. Jekk għandek mistoqsija jew ħsibijiet x'taqsam, toqgħodx lura milli tilħaqna permezz tal-formola tal-kumment hawn taħt.