溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

openldap的安裝與配置

發(fā)布時(shí)間:2020-05-23 10:19:27 來源:億速云 閱讀:365 作者:Leah 欄目:系統(tǒng)運(yùn)維

今天小編給大家分享的是openldap安裝與配置的詳細(xì)介紹,相信大部分人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,話不多說,一起往下看吧。

openldap的介紹與安裝

傳統(tǒng)賬戶管理存在的問題

  • 系統(tǒng)賬號無法集中管理
  • 系統(tǒng)賬號權(quán)限無法集中控制
  • 系統(tǒng)賬號授權(quán)無法集中管理
  • 系統(tǒng)賬號審計(jì)無法集中管理
  • 系統(tǒng)賬號密碼策略無法集中控制

簡介

  • OpenLDAP是一款輕量級目錄訪問協(xié)議(Lightweight Directory Access Protocol)
    • 目前有兩個(gè)家標(biāo)準(zhǔn)
    • X.500:openldap
    • LDAP:
  • 支持TCP/IP協(xié)議: 用戶讀取和搜索比較方便
  • 目錄結(jié)構(gòu)的信息是按照樹形結(jié)構(gòu)組織的
  • DN:區(qū)別名屬性,相當(dāng)于數(shù)據(jù)庫中的字段概念

優(yōu)點(diǎn)

  • 基于X.500標(biāo)準(zhǔn)協(xié)議
  • 提供靜態(tài)數(shù)據(jù)查詢搜索
  • 基于推拉的機(jī)智進(jìn)行節(jié)點(diǎn)間數(shù)據(jù)的同步(復(fù)制),提供TLS,SASL的安全認(rèn)證機(jī)制
  • 基于第三方開源負(fù)載均衡軟件進(jìn)行高可用方案解決
  • 元素才贏簡單的文本字符串,而非特殊字符,便于維護(hù)目錄樹條目
  • 集中認(rèn)證管理
  • 默認(rèn)使用TCP/ZP協(xié)議傳輸條目數(shù)據(jù),通過查找操作實(shí)現(xiàn)對目錄條目信息的讀寫操作
  • 費(fèi)用低,配置簡單,功能強(qiáng)大,管理容易
  • 基于ACL控制用戶訪問數(shù)據(jù)的權(quán)限,從而保證數(shù)據(jù)的安全性
  • 支持Nginx,HTTP,SAMBA,SVN,JENKINS等平臺的賬戶管理

功能

  • 查詢
  • 更新
  • 同步
  • 認(rèn)證和管理

openLDAP的目錄架構(gòu)

目前的架構(gòu)分為如下兩種:

  • 互聯(lián)網(wǎng)命名組織架構(gòu)

    • 樹根: 一般定義國家(c=CN)或者域名(dc=com)
    • 一個(gè)或者多個(gè)組織單元:組織(o),組織單元(ou)
    • 一個(gè)組織單元可以包含員工,設(shè)備等信息
  • 企業(yè)級命名組織架構(gòu)

openLDAP的工作模型

流程:

  • 客戶端向服務(wù)端發(fā)起驗(yàn)證請求
  • 服務(wù)器端接收到請求之后,并通過slapd進(jìn)程向后端的數(shù)據(jù)庫進(jìn)行查詢
  • slapd將查詢結(jié)果返回給客戶端即可

schema介紹與用途

  • 是一個(gè)標(biāo)準(zhǔn),定義了openLDAP目錄樹對象和屬性存取方式
  • 主要用于控制目錄中各種條目所擁有的對象類以及各種屬性的定義
  • 通過自身規(guī)范來避免不合法數(shù)據(jù)存在于目錄中
  • 保證目錄樹信息的完整性,唯一性

OpenLDAP目錄條目概述

  • objectClass分為如下幾類

    • structural: 結(jié)構(gòu)型
    • auxiliary:輔助型
    • abstract: 抽象型
  • 屬性概述
    • dn: 唯一標(biāo)識名
    • rdn: 相對標(biāo)識名

OpenLDAP安裝配置

YUM安裝

  • 環(huán)境與軟件版本
    • centos7.5+
    • openldap2.4.44版本,hdb
~]# yum -y install wget curl git
~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
~]# yum -y install epel-release
~]# yum -y install openldap openldap-servers openldap-clients compat-openladp openldap-devel migrationtools
初始化配置
~]# cd /etc/openldap/
~]# mv slapd.d/ slapd.d.bak
~]# mkdir slapd.d && slappasswd    #生成密鑰
New password: 
Re-enter new password: 
{SSHA}CYZ2put971vDLOeZVvbG7W9E3aOjantN
~]# cp /usr/share/openldap-servers/slapd.ldif /etc/openldap/

#### 配置schema加載
~]# vim /etc/openldap/slapd.ldif 
cn: schema
include: file:///etc/openldap/schema/core.ldif
include: file:///etc/openldap/schema/collective.ldif
include: file:///etc/openldap/schema/corba.ldif
include: file:///etc/openldap/schema/cosine.ldif
include: file:///etc/openldap/schema/duaconf.ldif
include: file:///etc/openldap/schema/dyngroup.ldif
include: file:///etc/openldap/schema/inetorgperson.ldif
include: file:///etc/openldap/schema/java.ldif
include: file:///etc/openldap/schema/misc.ldif
include: file:///etc/openldap/schema/nis.ldif
include: file:///etc/openldap/schema/openldap.ldif
include: file:///etc/openldap/schema/pmi.ldif
include: file:///etc/openldap/schema/ppolicy.ldif

olcAccess: to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,c
 n=auth" read by dn.base="cn=admin,dc=neuvision,dc=ai" read by * none

olcSuffix: dc=neuvision,dc=ai
olcRootDN: cn=admin,dc=neuvision,dc=ai
olcRootPW: {SSHA}WslU/LDXGf/WTLLYGafxBzmT6y1CDabz

~ ]# slapadd -n 0 -F /etc/openldap/slapd.d -l slapd.ldif      #生成配置
~]# chown -R ldap.ldap /etc/openldap/slapd.d
~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG   #拷貝數(shù)據(jù)庫配置文件
~]# chown ldap.ldap -R /var/lib/ldap/
~]# systemctl start slapd && systemctl enable slapd   #服務(wù)啟動
~]# vim /usr/share/migrationtools/migrate_common.ph    #導(dǎo)入數(shù)據(jù)腳本配置
# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "51cto.com";

# Default base 
$DEFAULT_BASE = "dc=51cto,dc=com";

# such as person.
$EXTENDED_SCHEMA = 1;

~ ]# /usr/share/migrationtools/migrate_base.pl > /etc/openldap/basedomain.ldif  #生成domain(域)文件
~ ]# ldapadd -x -D cn=admin,dc=51cto,dc=com -W -f /etc/openldap/basedomain.ldif    #添加條目
自定義組織
~]# mkdir /root/ldif && cd /root/ldif
~]# vim config_init.ldif
dn: dc=51cto,dc=com
objectClass: dcObject
objectClass: organization
o: wanghui
dc: neuvision
~]# ldapadd -x -D "cn=admin,dc=51cto,dc=com" -W -f config_init.ldif 
~]# ldapsearch -x -b 'dc=51cto,dc=com' '(objectClass=*)'    #查詢記錄
~]# ldapsearch -H ldapi:/// -Y EXTERNAL -b "cn=config" -LLL -Q   #ladpi查詢

OpenLDAP配置管理

客戶端配置文件

系統(tǒng)文件: /etc/openldap/ldap.conf
用戶文件:$HOME/ldaprc     $HOME/.ldaprc

配置文件參數(shù)

  • BASE: 指定的DN
  • URI: LDAP服務(wù)器地址
  • SIZELIMIT: 限制返回條目大小
  • TIMELIMIT:指定搜索持續(xù)時(shí)間
  • TIMEOUT: 操作多久無返回就超時(shí)
ldapsearch -x -W -D 'cn=admin,dc=51cto,dc=com' -H ldaps://10.18.99.41   #連接ldap

server全局配置文件介紹

ldif配置語法

主配置文件布局如下:

dn: cn=config
dn: cn=module,cn=config
dn: cn=schema,cn=config
dn: olcDatabase=config,cn=config

初始化域,用戶&組

~ ]# /usr/share/migrationtools/migrate_base.pl > /etc/openldap/basedomain.ldif  #生成domain(域)文件
# 需要創(chuàng)建好一些用戶和組,并且將用戶添加到組,groupadd DEV,useradd wanghui -g DEV
~]# tail -3 /etc/group  > system_group
DEV:x:1003:
OPS:x:1004:
QA:x:1005:
~]# tail -4 /etc/passwd > system_user
zhangsan:x:1000:1004::/home/zhansan:/bin/bash
lisi:x:1001:1003::/home/lisi:/bin/bash
wangwu:x:1002:1003::/home/wangwu:/bin/bash
mazi:x:1003:1005::/home/mazi:/bin/bash
~]#ldapadd -x -W -D "cn=admin,dc=51cto,dc=com" -f base.ldif 
~]# ldapadd -x -W -D "cn=admin,dc=51cto,dc=com" -f group.ldif      # 添加組到ldap
~]# ldapadd -x -W -D "cn=admin,dc=51cto,dc=com" -f user.ldif 

openldap的日志配置

~]# mkdir /data/logs/slapd
~]# touch /data/logs/slapd/slapd.log
~]# chown ldap:ldap /data/logs/slapd/ -R
----- 創(chuàng)建日志ldif
~]#  vim log.ldif
dn: cn=config
changetype: modify
add: olcLogLevel
olcLogLevel: stats
~]# ldapadd -Y EXTERNAL -H ldapi:/// -f log.ldif    #加載配置
~]# cat /etc/openldap/slapd.d/cn\=config.ldif   #檢查是否加載成功
olcLogLevel: stats
~]# vim /etc/rsyslog.conf     #配置日志
local7.* /var/log/boot.log
local4.* /data/logs/slapd/slapd.log
~ ]# systemctl restart rsyslog
~]# systemctl restart slapd

日志切割

~]# vim /etc/logrotate.d/slapd
/data/logs/slapd/slapd.log {
    daily
    rotate 5
    copytruncate
    dateext
    missingok
}
~]# systemctl restart rsyslog
~]# logrotate -f /etc/logrotate.d/slapd    #測試日志切割
~]# ldapsearch -x -LLL uid=wanghui   #查詢用戶。然后看日志是否正常

openldap圖形管理

  • phpLDAPadmin: apache,php調(diào)用ldap,使用簡單,功能支持不是特別好http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page
  • LADP AccountManager: https://www.ldap-account-manager.org/static/doc/manual/index.html
  • LADP Admin: windows,界面不友好

phpLDAPadmin的安裝與配置

~]# yum -y install phpldapadmin
 ~]# vim /etc/httpd/conf.d/phpldapadmin.conf 
<VirtualHost *:80>
ServerName ldap.51cto.com
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs

<Directory /usr/share/phpldapadmin/htdocs>
  <IfModule mod_authz_core.c>
    # Apache 2.4
    Require all granted
    Require local
  </IfModule>
  <IfModule !mod_authz_core.c>
    # Apache 2.2
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
  </IfModule>
</Directory>
</VirtualHost>
~]# vim /etc/phpldapadmin/config.php
$servers->setValue('login','attr','dn');
~ ]# systemctl start httpd && systemctl enable httpd

phpldapadmin使用

  • 登陸使用(cn=admin,dc=51cto,dc=com)密碼:xxx
  • 登陸之后刪除dc,然后手動創(chuàng)建dc
~]# cat config_init.ldif 
dn: dc=51cto,dc=com
objectClass: dcObject
objectClass: organization
o: wanghui
dc: neuvision
~]# ldapadd -x -D 'cn=admin,dc=neuvision,dc=ai' -W -f config_init.ldif 
  • 創(chuàng)建Group和People兩個(gè)OU
 Generic: Organisational Unit
  • 在Group中添加Posix Group
  • 在People中創(chuàng)建UserAccount
密碼類型是ssha
選擇對應(yīng)的GID
選擇對應(yīng)的loginshell
----------
返回終端查詢下創(chuàng)建的用戶
~]# ldapsearch -x -LL -b '51cto,dc=com' '(uid=whui)'
~]# ldapsearch -x -LL uid=whui
去除登出登陸的警告信息

~#] vim /etc/phpldapadmin/config.php

$config->custom->appearance['hide_template_warning'] = true;

~#]systemctl restart httpd

以上就是openldap安裝與配置的詳細(xì)內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI