CentOS

Инсталирайте и конфигурирайте OpenLDAP сървър на CentOS 8

Инсталирайте и конфигурирайте OpenLDAP сървър на CentOS 8

Този урок ще обхване как да инсталирате OpenLDAP на CentOS 8. LDAP е лек протокол за удостоверяване на домейн. Това означава, че можете да използвате LDAP като централна система за удостоверяване както за потребители, така и за системи като Postfix. Може да се сравни с Active Directory на Microsoft. OpenLDAP е LDAP система с отворен код, която работи на Linux системи.

Инсталирайте OpenLDAP на CentOS 8

В това ръководство ще създадем най-новата версия на OpenLDAP, вместо да използваме наличната версия, предоставена от PowerTools.

Следвайте стъпките по-долу, за да настроите сървъра OpenLDAP на CentOS 8.

Система за актуализиране

Стартирайте системните актуализации и надградете пакетите.

sudo dnf актуализация sudo dnf надстройка -y

Инсталирайте необходимите софтуерни пакети

Инсталирайте необходимите пакети, които ще ви позволят успешно да изградите OpenLDAP.

sudo dnf инсталирайте wget vim cyrus-sasl-devel libtool-ltdl-devel openssl-devel libdb-devel направи libtool autoconf tar gcc perl perl-devel 

Създайте LDAP системен акаунт

Трябва да създадем непривилегирован системен потребител за OpenLDAP.

sudo useradd -r -M -d / var / lib / openldap -u 55 -s / usr / sbin / nologin ldap

Изтеглете изходния файл на OpenLDAP

По време на този урок последната версия на OpenLDAP беше 2.4.57.

Декларирайте версията в черупката си

VER = 2.4.57

Изтеглете най-новата версия от тази страница.

wget https: // www.openldap.org / software / download / OpenLDAP / openldap-release / openldap- $ VER.tgz

Извлечете изтегления файл:

tar xzf openldap- $ VER.tgz

Инсталирайте OpenLDAP

Преместете извлечените файлове в / opt /, след това компилирайте изходните файлове.

sudo mv openldap- $ VER / opt
cd / opt / openldap- $ VER

Компилирайте изходните файлове

Судо ./ configure --prefix = / usr --sysconfdir = / etc --disable-static \ --enable-debug --with-tls = openssl --with-cyrus-sasl --enable-dynamic \ --enable-crypt --enable-spasswd --enable-slapd --enable-modules \ --enable-rlookups --enable-backends = mod --disable-ndb --disable-sql \ --disable-shell --disable-bdb - -disable-hdb --enable-overlays = мод

След успешна компилация трябва да видите изход, който казва: „Моля, стартирайте„ make depend “за изграждане на зависимости“

Изпълнете make depend, за да изградите зависимости на OpenLDAP.

sudo направи зависи

Компилирайте

sudo make

Инсталирайте OpenLDAP

sudo make install

Успешната инсталация създава конфигурационни файлове в / и т.н. / openldap. След инсталирането са достъпни следните файлове:

сертификати ldap.conf ldap.конф.схема по подразбиране slapd.conf slapd.конф.по подразбиране slapd.ldif slapd.ldif.по подразбиране

Конфигуриране на OpenLDAP

Нека да продължим с конфигурирането на OpenLDAP.

Първо, трябва да създадем директории на базата данни на OpenLDAP.

mkdir / var / lib / openldap / etc / openldap / slapd.д

Задайте правилните разрешения на директориите OpenLDAP

sudo chown -R ldap: ldap / var / lib / openldap sudo chown root: ldap / etc / openldap / slapd.conf sudo chmod 640 / etc / openldap / slapd.конф

Създайте схема на OpenLDAP SUDO

Проверете дали вашата sudo версия поддържа LDAP.

sudo -V | grep -i "ldap"

Трябва да видите редовете по-долу в изхода, ако вашата система поддържа LDAP.

ldap.conf път: / etc / sudo-ldap.conf ldap.таен път: / etc / ldap.тайна

Потвърдете дали LDAP sudo схемата е налична във вашата система

rpm -ql sudo | grep -i схема.openldap

Примерен изход

/ usr / share / doc / sudo / schema.OpenLDAP

Копирайте схемата в директорията на схемата ldap.

sudo cp / usr / share / doc / sudo / schema.OpenLDAP / etc / openldap / schema / sudo.схема

Създайте файл ldif на sudo схема.

sudo su -

Изпълнете по-долу, за да добавите редове към файла:

котка << 'EOL' > / etc / openldap / schema / sudo.ldif dn: cn = sudo, cn = schema, cn = config objectClass: olcSchemaConfig cn: sudo olcAttributeTypes: (1.3.6.1.4.1.15953.9.1.1 ИМЕ 'sudoUser' DESC 'Потребител (и), които могат да стартират sudo' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) olcAttributeTypes: (1.3.6.1.4.1.15953.9.1.2 ИМЕ 'sudoHost' DESC 'Хост (и), които могат да стартират sudo' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) olcAttributeTypes: (1.3.6.1.4.1.15953.9.1.3 ИМЕ 'sudoCommand' DESC 'Команда (и), които да бъдат изпълнени от sudo' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) olcAttributeTypes: (1.3.6.1.4.1.15953.9.1.4 ИМЕ 'sudoRunAs' DESC 'Потребители, имитирани от sudo (оттеглено)' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) olcAttributeTypes: (1.3.6.1.4.1.15953.9.1.5 ИМЕ 'sudoOption' DESC 'Опции, последвани от sudo' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) olcAttributeTypes: (1.3.6.1.4.1.15953.9.1.6 ИМЕ 'sudoRunAsUser' DESC 'Потребител (и), имитиран от sudo' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) olcAttributeTypes: (1.3.6.1.4.1.15953.9.1.7 ИМЕ 'sudoRunAsGroup' DESC 'Група (и), имитирани от sudo' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) olcObjectClasses: (1.3.6.1.4.1.15953.9.2.1 ИМЕ 'sudoRole' SUP top STRUCTURAL DESC 'Sudoer Entries' MUST (cn) MAY (sudoUser $ sudoHost $ sudoCommand $ sudoRunAs $ sudoRunAsUser $ sudoRunAsGroup $ sudoOption $ description)) EOL

Конфигурирайте базата данни SLAPD

Актуализирайте съдържанието на / etc / openldap / slapd.ldif

sudo mv / etc / openldap / slapd.ldif / etc / openldap / slapd.ldif.бак
sudo vi / etc / openldap / slapd.ldif

Поставете под данните:

dn: cn = config objectClass: olcGlobal cn: config olcArgsFile: / var / lib / openldap / slapd.args olcPidFile: / var / lib / openldap / slapd.pid dn: cn = schema, cn = config objectClass: olcSchemaConfig cn: schema dn: cn = module, cn = config objectClass: olcModuleList cn: module olcModulepath: / usr / libexec / openldap olcModuleload: back_mdb.la включва: file: /// etc / openldap / schema / core.ldif включва: file: /// etc / openldap / schema / cosine.ldif включва: file: /// etc / openldap / schema / nis.ldif включва: file: /// etc / openldap / schema / inetorgperson.ldif включва: file: /// etc / openldap / schema / ppolicy.ldif включва: file: /// etc / openldap / schema / sudo.ldif dn: olcDatabase = frontend, cn = config objectClass: olcDatabaseConfig objectClass: olcFrontendConfig olcDatabase: frontend olcAccess: to dn.base = "cn = Subschema" от * прочетете olcAccess: до * от dn.base = "gidNumber = 0 + uidNumber = 0, cn = peercred, cn = external, cn = auth" управлява от * none dn: olcDatabase = config, cn = config objectClass: olcDatabaseConfig olcDatabase: config olcRootDN: cn = config olcAccess * от dn.base = "gidNumber = 0 + uidNumber = 0, cn = peercred, cn = external, cn = auth" управлява от * none

Извършете сухо изпълнение, за да проверите конфигурацията

sudo slapadd -n 0 -F / etc / openldap / slapd.d -l / etc / openldap / slapd.ldif -u

Изпълнете командата, за да напишете промените

sudo slapadd -n 0 -F / etc / openldap / slapd.d -l / etc / openldap / slapd.ldif

Горната команда създава конфигурации на база данни slapd и ги поставя под / и т.н. / openldap / slapd.д.

$ ls / etc / openldap / slapd.d 'cn = config "cn = config.ldif '

Задайте правилната собственост на директорията slapd

sudo chown -R ldap: ldap / etc / openldap / slapd.д

Създайте услуга OpenLDAP

Създайте systemd услуга

$ sudo vim / etc / systemd / system / slapd.услуга [Unit] Описание = OpenLDAP Server Daemon After = syslog.целева мрежа-онлайн.целева документация = man: slapd Документация = man: slapd-mdb [услуга] Тип = разклонение PIDFile = / var / lib / openldap / slapd.pid Environment = "SLAPD_URLS = ldap: /// ldapi: /// ldaps: ///" Environment = "SLAPD_OPTIONS = -F / etc / openldap / slapd.d "ExecStart = / usr / libexec / slapd -u ldap -g ldap -h $ SLAPD_URLS $ SLAPD_OPTIONS [Инсталиране] WantedBy = многопотребителски.мишена

Рестартирайте демона

sudo systemctl daemon-reload

Стартирайте услугата slapd

sudo systemctl enable --now slapd

Проверете състоянието

$ systemctl статус slapd

Конфигурирайте OpenLDAP корен по подразбиране DN

Създайте база данни на MDB с основния DN и ACL.

Генериране на парола за корен:

$ sudo slappasswd

Копирайте генерираната хеш парола в текстов редактор. Това ще е необходимо в rootdn.ldif файл в olcRootPW влизане.

vim rootdn.ldif

Добавете съдържанието по-долу, замествайки dc = ldapmaster, dc = computingforgeeks, dc = com с информация за вашия домейн.

dn: olcDatabase = mdb, cn = config objectClass: olcDatabaseConfig objectClass: olcMdbConfig olcDatabase: mdb olcDbMaxSize: 42949672960 olcDbDirectory: / var / lib / openldap olcSuffixks ddc ldapmaster, dc = computingforgeeks, dc = com olcRootPW: SSHA 0phayAb6bQA9rONibLb97O5B89KPeNlW olcDbIndex: uid pres, eq olcDbIndex: cn, sn pres, eq, приблизително, под olcDbIndex: поща pres, eq, под olcDbIndex: objectClass pres, eq olcDbIndex: loginShell pres, eq olcDbIndex: sudoUserc, sudoH presdoAserc = userPassword, shadowLastChange, shadowExpire чрез самостоятелно писане от анонимен auth от dn.subtree = "gidNumber = 0 + uidNumber = 0, cn = peercred, cn = external, cn = auth" управление от dn.subtree = "ou = system, dc = ldapmaster, dc = computingforgeeks, dc = com" прочетено от * none olcAccess: до dn.subtree = "ou = system, dc = ldapmaster, dc = computingforgeeks, dc = com" от dn.subtree = "gidNumber = 0 + uidNumber = 0, cn = peercred, cn = external, cn = auth" управление от * няма olcAccess: до dn.subtree = "dc = ldapmaster, dc = computingforgeeks, dc = com" от dn.subtree = "gidNumber = 0 + uidNumber = 0, cn = peercred, cn = external, cn = auth" управление от потребители, прочетени от * none

Актуализирайте базата данни slapd

sudo ldapadd -Y ВЪНШЕН -H ldapi: /// -f rootdn.ldif

Определете вашата организационна структура

Създайте базиран.ldif файл, за да дефинирате вашата организационна структура.

vim basedn.ldif

С информация, подобна на по-долу - актуализирайте според вашия домейн.

dn: dc = ldapmaster, dc = computingforgeeks, dc = com objectClass: dcObject objectClass: organization objectClass: top o: computingforgeeks dc: ldapmaster dn: ou = groups, dc = ldapmaster, dc = computingforgeeks, dcla = object top ou: groups dn: ou = people, dc = ldapmaster, dc = computingforgeeks, dc = com objectClass: organisationUnit objectClass: top ou: people 

Актуализиране на базата данни:

sudo ldapadd -Y ВЪНШЕН -H ldapi: /// -f basedn.ldif

Конфигурирайте SSL / TLS

Можете да осигурите комуникация клиент-сървър между OpenLDAP и клиентските системи, като активирате TLS / SSL.

За това можете да използвате самоподписан сертификат или Let's Encrypt. В това ръководство ще използваме самоподписан сертификат.

$ sudo openssl req -x509 -nodes -days 365 \ -newkey rsa: 2048 \ -keyout / etc / pki / tls / ldapserver.ключ \ -out / etc / pki / tls / ldapserver.crt

Задайте правилна собственост.

sudo chown ldap: ldap / etc / pki / tls / ldapserver.crt, ldapserver.ключ

Създайте SSL конфигурационен файл:

$ sudo vi добавки.ldif

Със следната информация:

dn: cn = config changetype: модифициране добавяне: olcTLSCACertificateFile olcTLSCACertificateFile: / etc / pki / tls / ldapserver.crt - добавете: olcTLSCertificateKeyFile olcTLSCertificateKeyFile: / etc / pki / tls / ldapserver.ключ - добавяне: olcTLSCertificateFile olcTLSCertificateFile: / etc / pki / tls / ldapserver.crt

Актуализирайте базата данни slapd

sudo ldapadd -Y ВЪНШЕН -H ldapi: /// -f add-tls.ldif

Актуализирайте CA локатина за OpenLDAP.

$ sudo vim / etc / openldap / ldap.conf ... #TLS_CACERT / etc / pki / tls / cert.pem TLS_CACERT / etc / pki / tls / ldapserver.crt 

Създайте потребители на OpenLDAP

Дефинирайте вашите потребители в потребителите.ldif файл, както следва:

$ sudo vim потребители.ldif

Ето примерни данни:

dn: uid = vshamallah, ou = people, dc = ldapmaster, dc = computingforgeeks, dc = com objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: vshamallah cn: Vic sn: Shamallah loginShell: / gidNumber bash: uidNN / basNumber 10000 homeDirectory: / home / vshamallah shadowMax: 60 shadowMin: 1 shadowWarning: 7 shadowInactive: 7 shadowLastChange: 0 dn: cn = vshamallah, ou = groups, dc = ldapmaster, dc = computingforgeeks, dc = com objectClass: posixGroup cn: vshamallah : 10000 член Uid: vshamallah

Актуализирайте LDAP базата данни, за да добавите новия потребител

sudo ldapadd -Y ВЪНШНИ -H ldapi: /// -f потребители.ldif

Задайте паролата за потребителя по-горе с командата по-долу:

sudo ldappasswd -H ldapi: /// -Y EXTERNAL -S "uid = vshamallah, ou = people, dc = ldapmaster, dc = computingforgeeks, dc = com"

Създайте потребител на LDAP Bind

Създайте OpenLDAP Bind DN и свържете потребителя. Това е потребител, който ще се използва за извършване на LDAP отваряния като разрешаване на потребителски идентификатори и групови идентификатори.

Създайте BindDN парола.

$ sudo slappasswd Нова парола: Въведете отново нова парола: SSHA 9Sx4MzBieiojFsXLgXDVnJavwt4vql4p

Получете хешираната парола и я запазете някъде.

Създайте bindDNuser.ldif файл и добавете съдържанието по-долу, не забравяйте да замените хешираната парола и информацията за домейна с вашите данни.

vim bindDNuser.ldif

Ето моите конфигурации:

dn: ou = system, dc = ldapmaster, dc = computingforgeeks, dc = com objectClass: organizationUnit objectClass: top ou: system dn: cn = readonly, ou = system, dc = ldapmaster, dc = computingforgeeks, dc = com objectClass: organizationalRole objectClass: simpleSecurityObject cn: readonly userPassword: SSHA 9Sx4MzBieiojFsXLgXDVnJavwt4vql4p описание: Обвързване на DN потребител за LDAP операции

Актуализиране на базата данни ldap:

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

Разрешете OpenLDAP през защитната стена

Разрешете OpenLDAP през защитната стена, за да разрешите връзки.

sudo firewall-cmd --add-service = ldap, ldaps - постоянна sudo firewall-cmd --reload

На този етап OpenLDAP е конфигуриран и готов за употреба. Трябва да конфигурирате клиенти на OpenLDAP във вашите системи, за да можете да се свързвате със сървъра на OpenLDAP.

Следвайте ръководството по-долу, за да конфигурирате клиенти на OpenLDAP:

Конфигурирайте LDAP клиент на Ubuntu

Как да деактивирам или активирам USB портове в Windows
Как да деактивирам или активирам USB портове в Windows:- Някога чудили ли сте се защо не можете да свържете USB към компютъра на училището си? Или няк...
Как да влезете в вградените игри в Hike Messenger
Как да активирам функцията за игри в Hike Messenger:- Мислили ли сте някога да дадете шанс на някое приложение за чат, различно от WhatsApp Messenger?...
Как да премахнете реклами от uTorrent, без да купувате Pro версия
Как да премахнете реклами от настолното приложение uTorrent, без да купувате Pro версия:- Уморих се да виждам реклами във вашия uTorrent десктоп прило...