Giunsa ang Pag-install sa OpenLDAP Server alang sa Sentralisado nga Pagpamatuod


Ang Lightweight Directory Access Protocol (LDAP sa laktod) usa ka standard sa industriya, gaan, kaylap nga gigamit nga set sa mga protocol alang sa pag-access sa mga serbisyo sa direktoryo. Ang serbisyo sa direktoryo usa ka gipaambit nga imprastraktura sa impormasyon alang sa pag-access, pagdumala, pag-organisar, ug pag-update sa adlaw-adlaw nga mga butang ug mga kapanguhaan sa network, sama sa mga tiggamit, grupo, aparato, adres sa email, numero sa telepono, volume ug daghang uban pang mga butang.

Ang modelo sa impormasyon sa LDAP gibase sa mga entri. Ang usa ka entry sa direktoryo sa LDAP nagrepresentar sa usa ka yunit o impormasyon ug talagsaon nga giila pinaagi sa gitawag nga Distinguished Name (DN). Ang matag usa sa mga hiyas sa entry adunay usa ka tipo ug usa o daghan pa nga mga kantidad.

Ang usa ka hiyas usa ka piraso sa impormasyon nga may kalabutan sa usa ka entry. Ang mga tipo kasagarang mnemonic string, sama sa cn para sa komon nga ngalan, o mail para sa email address. Ang matag hiyas gihatagan og usa o daghan pa nga mga kantidad nga gilangkuban sa usa ka lista nga gibulag sa wanang.

Ang mosunod usa ka ilustrasyon kung giunsa paghan-ay ang impormasyon sa direktoryo sa LDAP.

Niini nga artikulo, ipakita namon kung giunsa ang pag-install ug pag-configure sa OpenLDAP server alang sa sentralisadong pag-authenticate sa Ubuntu 16.04/18.04 ug CentOS 7.

Lakang 1: Pag-instalar sa LDAP Server

1. Una magsugod pinaagi sa pag-instalar sa OpenLDAP, usa ka open source nga pagpatuman sa LDAP ug pipila ka tradisyonal nga LDAP management utilities gamit ang mosunod nga mga sugo.

# yum install openldap openldap-servers	    #CentOS 7
$ sudo apt install slapd ldap-utils	    #Ubuntu 16.04/18.04

Sa Ubuntu, sa panahon sa pag-instalar sa package, maaghat ka sa pagsulod sa password alang sa admin entry sa imong LDAP directory, pagtakda og luwas nga password ug kumpirmahi kini.

Kung kompleto na ang pag-install, mahimo nimong sugdan ang serbisyo ingon sa sunod nga gipatin-aw.

2. Sa CentOS 7, padagana ang mosunud nga mga sugo aron masugdan ang openldap server daemon, pahimoa kini nga awtomatikong magsugod sa oras sa pag-boot ug susihon kung kini nagdagan (sa Ubuntu ang serbisyo kinahanglan nga awtomatikong magsugod sa ilawom sa systemd, mahimo nimong susihon status niini):

$ sudo systemctl start slapd
$ sudo systemctl enable slapd
$ sudo systemctl status slapd

3. Sunod, tugoti ang mga hangyo sa LDAP server daemon pinaagi sa firewall sama sa gipakita.

# firewall-cmd --add-service=ldap    #CentOS 7
$ sudo ufw allow ldap                #Ubuntu 16.04/18.04

Lakang 2: Pag-configure sa LDAP Server

Mubo nga sulat: Dili girekomenda nga manu-mano ang pag-edit sa LDAP configuration, kinahanglan nimo nga idugang ang mga configuration sa usa ka file ug gamiton ang ldapadd o ldapmodify nga sugo aron i-load kini sa LDAP directory sama sa gipakita sa ubos.

4. Karon paghimo ug OpenLDAP administrative user ug assign ug password alang niana nga user. Sa ubos nga sugo, usa ka hash value ang gihimo alang sa gihatag nga password, timan-i kini, imong gamiton kini sa LDAP configuration file.

$ slappasswd

5. Dayon paghimo ug LDIF file (ldaprootpasswd.ldif) nga gigamit sa pagdugang og entry sa LDAP directory.

$ sudo vim ldaprootpasswd.ldif

Idugang ang mosunod nga mga sulod niini:

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

pagpatin-aw sa mga pares sa hiyas-bili sa ibabaw:

  • olcDatabase: nagpaila sa usa ka espesipikong ngalan sa instance sa database ug kasagarang makita sa sulod sa /etc/openldap/slapd.d/cn=config.
  • cn=config: nagpaila sa global config options.
  • PASSWORD: mao ang hashed string nga nakuha samtang nagmugna sa administratibong tiggamit.

6. Sunod, idugang ang katugbang nga LDAP entry pinaagi sa pagtino sa URI nga nagtumong sa ldap server ug sa file sa ibabaw.

$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif  

Lakang 3: Pag-configure sa LDAP Database

7. Karon kopyaha ang sample database configuration file alang sa slapd ngadto sa /var/lib/ldap directory, ug itakda ang hustong permiso sa file.

$ 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. Sunod, pag-import ug pipila ka batakang LDAP schemas gikan sa /etc/openldap/schema directory sama sa mosunod.

$ 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. Karon idugang ang imong domain sa LDAP database ug paghimo og file nga gitawag og ldapdomain.ldif para sa imong domain.

$ sudo vim ldapdomain.ldif 

Idugang ang mosunod nga sulod niini (ilisan ang pananglitan sa imong domain ug PASSWORD sa hash value nga nakuha kaniadto):

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. Dayon idugang ang configuration sa ibabaw sa database sa LDAP uban sa mosunod nga sugo.

$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif

11. Niini nga lakang, kinahanglan natong idugang ang pipila ka entries sa atong LDAP directory. Paghimo og laing file nga gitawag og baseldapdomain.ldif nga adunay mosunod nga sulod.

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-save ang file ug dayon idugang ang mga entri sa direktoryo sa LDAP.

$ sudo ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f baseldapdomain.ldif

12. Ang sunod nga lakang mao ang paghimo og LDAP user sama pananglit, tecmint, ug magbutang ug password para niini nga user sama sa mosunod.

$ sudo useradd tecmint
$ sudo passwd tecmint

13. Dayon paghimo og mga kahulugan alang sa usa ka LDAP nga grupo sa usa ka file nga gitawag og ldapgroup.ldif nga adunay mosunod nga sulod.

dn: cn=Manager,ou=Group,dc=example,dc=com
objectClass: top
objectClass: posixGroup
gidNumber: 1005

Sa ibabaw nga configuration, ang gidNumber mao ang GID sa /etc/group para sa tecmint ug idugang kini sa OpenLDAP directory.

$ sudo ldapadd -Y EXTERNAL -x  -W -D "cn=Manager,dc=example,dc=com" -f ldapgroup.ldif

14. Sunod, paghimo og laing LDIF file nga gitawag og ldapuser.ldif ug idugang ang mga kahulugan para sa user 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

unya i-load ang configuration ngadto sa LDAP directory.

$ ldapadd -Y EXTERNAL  -x -D cn=Manager,dc=example,dc=com -W -f  ldapuser.ldif

Kung na-setup na nimo ang usa ka sentro nga server alang sa pag-authenticate, ang katapusan nga bahin mao ang pagpaarang sa kliyente sa pag-authenticate gamit ang LDAP ingon gipasabut niini nga giya:

  1. Unsaon Pag-configure ang LDAP Client sa Pagkonektar sa External Authentication

Para sa dugang nga impormasyon, tan-awa ang angay nga dokumentasyon gikan sa OpenLDAP server guide.

Ang OpenLDAP usa ka open source nga pagpatuman sa LDAP sa Linux. Niini nga artikulo, gipakita namo kung unsaon pag-instalar ug pag-configure ang OpenLDAP server alang sa sentralisadong pag-authenticate, sa Ubuntu 16.04/18.04 ug CentOS 7. Kung naa kay pangutana o mga hunahuna nga ipaambit, ayaw pagpanuko sa pagkontak kanamo pinaagi sa comment form sa ubos.