CentOS 6.9下OpenLDAP 的安装与配置
LDAP 基礎教程
LDAP 全稱輕量級目錄訪問協議(英文:Lightweight Directory Access Protocol),是一個運行在 TCP/IP 上的目錄訪問協議。LDAP實現提供被稱為目錄服務的信息服務,可以看做是一張特殊的數據庫系統。可以有效的解決眾多網絡服務的用戶賬戶問題,規定了統一的身份信息數據庫、身份認證機制和接口,實現了資源和信息的統一管理,保證了數據的一致性和完整性。
使用場景
有兩個系統A,B;需要把A系統創建的用戶同步到B中,而B是個apache 開源項目,此時需要借助LDAP來解決。首先在A中建用戶的同時,同步更新到LDAP中,然后B系統從LDAP中同步到自己的系統中,這樣就實現了A中的用戶到B系統的同步。
LDAP理解
在LDAP中,信息以樹狀方式組織,基本數據單元是條目,而每個條目由屬性構成,屬性由類型(Type)和一個或多個值(Value)組成。
Entry
包含的信息描述了現實世界中的一個真實的對象,在目錄系統中可以理解為一個節點。在目錄中添加一個Entry時,該Entry必須屬于一個或者多個對象類(Oject Class),Entry的類型由屬性Object Class規定。每個Entry都有一個唯一的DN(distinguished name)來標識Entry在directory中的位置。用Java的方式Entry相當于一個Instances,而Ojbect class自然就是Class。
根節點DN的命名有多種方法,其中之一就是域名命名法,例如sohu.com根階節點的DN應該是DN:dc=sohu,dc=com,People節點的DN:ou=People,dc=example,dc=com,RDN是目錄樹中節點的相對標識,例如People節點的RDN:ou=people。
Attribute
每個Entry都是由許多Attribute組成,每個屬性描述的是對象的一個特征,每個屬性由一個類型和一個或多個值Value組成。
每個屬性類型有所對應的語法和匹配規則;對象類和屬性類型的定義均可以使用繼承的概念。每個條目創建時,必須定義所屬的對象類,必須提供對象類中的必選屬性類型的屬性值,在LDAP中一個屬性類型可以對應多個值。
常見屬性:
| c | 否 | 國家 |
| dc | 是 | domain component,常用來指一個域名的一部分 |
| o | 否 | 該條目所屬的組織名(Organization Name) |
| ou | 否 | 一個組織單元的名字 |
| cn | 是 | common name,一個對象的名字,如果指人,使用全名 |
| sn | 是 | Surname,一個人的姓 |
| uid | 是 | Userid,某個用戶的登錄名,與Linux系統中用戶的uid不同 |
| userPassword | 否 | 登陸密碼 |
| 否 | 郵箱 | |
| givenName | 否 | 一個人的名 |
| displayName | 否 | 顯示條目時要使用的首選名稱 |
| uidNumber | 否 | 賬號的UID |
| gidNumber | 否 | 賬號的GID |
| homeDirectory | 否 | 用戶的家目錄指定 |
| loginShell | 否 | 用戶登錄的SHELL |
| employeeNumber | 否 | 工號相關信息 |
| homePhone | 否 | 家庭電話 |
| mobile | 否 | 該條目的手機號碼 |
| description | 否 | 該條目的描述信息 |
Object class
在LDAP中,一個條目必須包含一個Oject class屬性,且需要賦予至少一個值。每個值將用作一條LDAP條目進行數據存儲的模板,模板中包含了一個條目必須被賦值的屬性和可選的屬性。
Object分為三類,結構型(Structural),如Person和orginzationUnit,輔助型(Auxiliary),如extensibeObject,抽象型(Abstract):如top,抽象型的ObjectClass不能直接使用。
下面部分常用的ObjectClass,定義在/etc/openldap/schema/core.schema文件中
| domain | ||
| organization | o | |
| organizationalUnit | ou | |
| person | sn,cn | |
| organizationPerson | cn,sn | |
| top | 抽象型,頂級ObjectClass | |
| posixAccount | Linux用戶 | cn,gidNumber,homeDirectory,uid,uidNumber |
| posixGroup | Linux用戶組 | cn,gidNumber |
- Entry必須僅包含一個Structural類型的OjectClass,其他兩種類型可包括0或者多個。
LDAP 功能模型
描述LDAP 協議可以采用的相關操作,來訪問存儲在目錄樹中的數據,可以將操作分
成三組:
(1) 更新操作 包括添加,刪除,重命名,修改Entry
(2) Interrogation Operation 用于數據的查詢
(3) 認證和控制 (bind unbind abandon)
LDAP 安全模型
(1) 提供一個框架,包含目錄中的信息不被非法訪問,LDAP 的安全模型主要是通過身份認
證、安全通道和訪問控制(ACL)來實現。
(2) LDAP 是一個面向連接的協議,在能夠對LDAP 目錄進行任何操作之前,LDAP 客戶端
端必須獲得一個到LDAP 服務端的一個連接,在這個過程中需要對LDAP 客戶端的身份進
行驗證(可以理解為用戶綁定)。
(3) 在用戶通過驗證之后,為用戶分配附加的權限,比如一些用戶只能查看特定的Entry,而不能修改。一些用戶可以查看并且修改所有的Entry等。
下面是一個典型的 LDAP 目錄樹結構,其中每個節點表示一個條目。在下一節中,我們將按照這個結構來配置一個簡單的 LDAP 服務。
本文僅涉及沒有SSL的OpenLDAP配置。
一、環境準備
兩臺虛擬機
| 192.168.1.101 | openldap-server | server端 |
| 192.168.1.102 | openldap-client | client端 |
關閉SELinux
查看SELinux狀態:getenforce, 或/usr/sbin/sestatus
臨時關閉:
永久關閉:
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config關閉iptables
chkconfig iptables off /etc/init.d/iptables stop /etc/init.d/iptables status官方文檔:
http://www.openldap.org/doc/admin24/
步驟
分為server端操作和client端操作
二、server端安裝OpenLDAP
1. yum安裝OpenLDAP
[root@openldap-server ~]# yum install openldap openldap-servers openldap-servers-sql openldap-clients openldap-devel compat-openldap -yOpenLDAP的相關配置文件信息
- /etc/openldap/slapd.conf:OpenLDAP的主配置文件,記錄根域信息,管理員名稱,密碼,日志,權限等
- /etc/openldap/slapd.d/*:這下面是/etc/openldap/slapd.conf配置信息生成的文件,每修改一次配置信息,這里的東西就要重新生成
- /etc/openldap/schema/*:OpenLDAP的schema存放的地方
- /var/lib/ldap/*:OpenLDAP的數據文件
- /usr/share/openldap-servers/slapd.conf.obsolete 模板配置文件
- /usr/share/openldap-servers/DB_CONFIG.example 模板數據庫配置文件
OpenLDAP監聽的端口:
- 默認監聽端口:389(明文數據傳輸)
- 加密監聽端口:636(密文數據傳輸)
2. 復制ldap配置文件到/etc
[root@openldap-server ~]# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf3. 生成ldap管理員密碼(把ldappassword改為自己的管理員密碼)
[root@openldap-server ~]# slappasswd -s ldappassword {SSHA}b6YpCvRFWAWQdJpueuyzk79VXlikj4Z14. 修改slapd.conf
修改其中cn,dc相關內容,及rootpw密文密碼,rootpw配置上面設置的密碼
(rootpw必須頂格寫,與密碼Tab鍵分開)
檢測/etc/openldap/slapd.conf是否有錯誤
[root@openldap-server ~]# slaptest -f /etc/openldap/slapd.conf config file testing succeeded5. 檢測并重新生成ldap數據庫
[root@openldap-server ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG # 拷貝DB_CONFIG文件 [root@openldap-server ~]# cd /etc/openldap/ [root@openldap-server openldap]# ls -l slapd.d/ drwxr-x--- 3 ldap ldap 4096 7月 13 13:59 cn=config -rw-r----- 1 ldap ldap 1281 7月 13 13:50 cn=config.ldif [root@openldap-server openldap]# rm -rf slapd.d/* # 刪除默認配置 (否則添加ldap用戶時會報錯) [root@openldap-server openldap]#官方對于OpenLDAP2.4 ,不推薦使用 slapd.conf 作為配置文件。從這個版本開始所有配置數據都保存在 /etc/openldap/slapd.d/中[root@openldap-server openldap]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/ 5b02d207 bdb_db_open: database "dc=qq,dc=com": db_open(/var/lib/ldap/id2entry.bdb) failed: No such file or directory (2). 5b02d207 backend_startup_one (type=bdb, suffix="dc=qq,dc=com"): bi_db_open failed! (2) slap_startup failed (test would succeed using the -u switch) [root@openldap-server openldap]# slaptest -u config file testing succeeded 出現succeed繼續6. 修改相關ldap文件權限
[root@openldap-server openldap]# chown -R ldap:ldap /var/lib/ldap/ [root@openldap-server openldap]# chown -R ldap:ldap /etc/openldap/7. 啟動slapd服務
[root@openldap-server openldap]# service slapd start Starting slapd: [ OK ] [root@openldap-server openldap]# service slapd status slapd (pid 12896) is running... [root@openldap-server openldap]# chkconfig slapd on [root@openldap-server openldap]# lsof -i:389 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME slapd 12896 ldap 7u IPv4 702934 0t0 TCP *:ldap (LISTEN) slapd 12896 ldap 8u IPv6 702935 0t0 TCP *:ldap (LISTEN)三、OpenLDAP日志功能開啟
1. slapd.conf配置文件里加上日志行
這里的日志級別有很多種,這里選擇256這個值的級別(主從節點都要打開openldap日志功能)
[root@openldap-master ~]# cp /etc/openldap/slapd.conf{,.bak3} [root@openldap-master ~]# vim /etc/openldap/slapd.conf #中間的空格用tab鍵分開 ....... # 最后添加 loglevel 2562. 修改了配置文件,所有得重新生成配置文件的信息
[root@openldap-master ~]# rm -rf /etc/openldap/slapd.d/* [root@openldap-master ~]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/ config file testing succeeded [root@openldap-master ~]# slaptest -u config file testing succeeded [root@openldap-master ~]# chown -R ldap:ldap /var/lib/ldap/ [root@openldap-master ~]# chown -R ldap:ldap /etc/openldap/3. 修改/etc/rsyslog.conf文件,加上下面內容
[root@openldap-master ~]# cp /etc/rsyslog.conf{,.bak} [root@openldap-master ~]# vim /etc/rsyslog.conf ........ # 最后添加 local4.* /var/log/slapd/slapd.log4. 創建日志文件目錄,授權
[root@openldap-master ~]# mkdir /var/log/slapd [root@openldap-master ~]# chmod 755 /var/log/slapd/ [root@openldap-master ~]# chown ldap.ldap /var/log/slapd/5. 重啟syslog服務和slapd服務
[root@openldap-master ~]# /etc/init.d/rsyslog restart Shutting down system logger: [ OK ] Starting system logger: [ OK ][root@openldap-master ~]# /etc/init.d/slapd restart Stopping slapd: [ OK ] Starting slapd: [ OK ] [root@openldap-master ~]# lsof -i:389 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME slapd 13773 ldap 7u IPv4 840484 0t0 TCP *:ldap (LISTEN) slapd 13773 ldap 8u IPv6 840485 0t0 TCP *:ldap (LISTEN)6. 查看openldap日志信息
[root@openldap-master ~]# tail -f /var/log/slapd/slapd.log四、server端安裝migrationtools,創建根域條目(可選)
參考:http://book.51cto.com/art/201602/505737.htm
1. 安裝migrationtools 工具
migrationtools 實現OpenLDAP 用戶及用戶組的添加。
[root@openldap-server openldap]# yum install migrationtools -y2. 編輯/usr/share/migrationtools/migrate_common.ph并修改相關配置
[root@openldap-server openldap]# cp /usr/share/migrationtools/migrate_common.ph{,.bak} [root@openldap-server openldap]# vim /usr/share/migrationtools/migrate_common.ph # 搜索”dc=”,值改為與slapd.conf一致內容 ...... # Default DNS domain $DEFAULT_MAIL_DOMAIN = "qq.com";# Default base $DEFAULT_BASE = "dc=qq,dc=com";3. 創建OpenLDAP 根域條目,base.ldif
[root@openldap-server openldap]# /usr/share/migrationtools/migrate_base.pl > base.ldif [root@openldap-server openldap]# cat base.ldif dn: dc=qq,dc=com dc: qq objectClass: top objectClass: domaindn: ou=Hosts,dc=qq,dc=com ou: Hosts objectClass: top objectClass: organizationalUnitdn: ou=Rpc,dc=qq,dc=com ou: Rpc objectClass: top objectClass: organizationalUnitdn: ou=Services,dc=qq,dc=com ou: Services objectClass: top objectClass: organizationalUnitdn: nisMapName=netgroup.byuser,dc=qq,dc=com nismapname: netgroup.byuser objectClass: top objectClass: nisMapdn: ou=Mounts,dc=qq,dc=com ou: Mounts objectClass: top objectClass: organizationalUnitdn: ou=Networks,dc=qq,dc=com ou: Networks objectClass: top objectClass: organizationalUnitdn: ou=People,dc=qq,dc=com ou: People objectClass: top objectClass: organizationalUnitdn: ou=Group,dc=qq,dc=com ou: Group objectClass: top objectClass: organizationalUnitdn: ou=Netgroup,dc=qq,dc=com ou: Netgroup objectClass: top objectClass: organizationalUnitdn: ou=Protocols,dc=qq,dc=com ou: Protocols objectClass: top objectClass: organizationalUnitdn: ou=Aliases,dc=qq,dc=com ou: Aliases objectClass: top objectClass: organizationalUnitdn: nisMapName=netgroup.byhost,dc=qq,dc=com nismapname: netgroup.byhost objectClass: top objectClass: nisMap可以編輯base.ldif 進行修改,將不需要的條目刪除,然后通過ldapadd 導入至OpenLDAP目錄樹。
4. 添加base.ldif到ldap(輸入密碼為上面創建的:ldappassword)
[root@openldap-server openldap]# ldapadd -x -D "cn=Manager,dc=qq,dc=com" -w ldappassword -f ./base.ldif Enter LDAP Password:ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1) '出現這個錯誤的時候,查看服務和端口都已經開啟了,需要你手動指定主機名和你的端口號(ldap端口號為389),使用-h 加上主機名。[root@openldap-server openldap]# ldapadd -x -D "cn=Manager,dc=qq,dc=com" -w ldappassword -f ./base.ldif -h openldap-server -p 389adding new entry "dc=qq,dc=com"adding new entry "ou=Hosts,dc=qq,dc=com"adding new entry "ou=Rpc,dc=qq,dc=com"adding new entry "ou=Services,dc=qq,dc=com"adding new entry "nisMapName=netgroup.byuser,dc=qq,dc=com"adding new entry "ou=Mounts,dc=qq,dc=com"adding new entry "ou=Networks,dc=qq,dc=com"adding new entry "ou=People,dc=qq,dc=com"adding new entry "ou=Group,dc=qq,dc=com"adding new entry "ou=Netgroup,dc=qq,dc=com"adding new entry "ou=Protocols,dc=qq,dc=com"adding new entry "ou=Aliases,dc=qq,dc=com"adding new entry "nisMapName=netgroup.byhost,dc=qq,dc=com"5. 檢查ldapadd是否成功(密碼為上面創建的:ldappassword)(必須檢查確認Manager數據添加了,才能通過phpldapAdmin登錄)
[root@openldap-server openldap]# ldapsearch -x -D "cn=Manager,dc=qq,dc=com" -b "ou=Aliases,dc=qq,dc=com" -w ldappassword # extended LDIF # # LDAPv3 # base <ou=Aliases,dc=qq,dc=com> with scope subtree # filter: (objectclass=*) # requesting: ALL ## Aliases, qq.com dn: ou=Aliases,dc=qq,dc=com ou: Aliases objectClass: top objectClass: organizationalUnit# search result search: 2 result: 0 Success# numResponses: 2 # numEntries: 1六、安裝openLdap桌面服務
1. yum安裝httpd及PhpLdapAdmin
[root@openldap-server openldap]# rpm -ivh http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm [root@openldap-server openldap]# yum install httpd phpldapadmin -y2. 配置/etc/httpd/conf.d/phpldapadmin.conf允許從遠程訪問
[root@openldap-server openldap]# cp -a /etc/httpd/conf.d/phpldapadmin.conf{,.bak} #可以先把此文件cp備份一份 [root@openldap-server openldap]# vim /etc/httpd/conf.d/phpldapadmin.conf Alias /phpldapadmin /usr/share/phpldapadmin/htdocs Alias /ldapadmin /usr/share/phpldapadmin/htdocs <Directory /usr/share/phpldapadmin/htdocs> Order Deny,Allow Allow from all Allow from 127.0.0.1 #或者去掉下面這三行內容,表示運行所有客戶機訪問(本測試案例就去掉了這三行)Allow from ::1Allow from all #允許哪些IP地址訪問phpldapadmin,我寫的全部。 </Directory>3. 修改/etc/phpldapadmin/config.php配置用DN登錄
[root@openldap-server openldap]# cp /etc/phpldapadmin/config.php{,.bak} [root@openldap-server openldap]# vim /etc/phpldapadmin/config.php ....... //$servers->setValue('login','attr','uid'); #注釋掉這一行 $servers->setValue('login','attr','dn'); #添加這一行[root@openldap-server openldap]# diff /etc/phpldapadmin/config.php /etc/phpldapadmin/config.php.bak 398,399c398,399 < //$servers->setValue('login','attr','uid'); < $servers->setValue('login','attr','dn'); --- > $servers->setValue('login','attr','uid'); >4. 啟動httpd服務
[root@openldap-server openldap]# chkconfig httpd on [root@openldap-server openldap]# service httpd start Starting httpd: httpd: apr_sockaddr_info_get() failed for openldap-server httpd: Could not reliably determine the server's' fully qualified domain name, using 127.0.0.1 for ServerName[ OK ] [root@openldap-server openldap]# service httpd status httpd (pid 13010) is running... [root@openldap-server openldap]# lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME httpd 13010 root 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13012 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13013 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13014 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13015 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13016 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13017 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13018 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13019 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN)5. 打開Web UI并登錄LDAP
URL: $IP/phpldapadmin 用戶名 "cn=Manager,dc=qq,dc=com" 密碼 "ldappassword"七、新建組織(公司)、管理員、組及用戶
添加用戶和用戶組的方式有兩種。一種是將系統用戶通過migrationtools 工具生成LDIF 文件并結合ldapadd 命令導入OpenLDAP 目錄樹中,生成OpenLDAP 用戶。另一種通過自定義LDIF 文件并通過OpenLDAP 命令進行添加或者修改操作。本文主要介紹第二種來完成OpenLDAP用戶的添加。
1. 組織
創建組織:
[root@openldap-server data]# vim o.ldif #在根目錄下建立不同組織 dn: o=tengxun,dc=qq,dc=com objectclass: top objectclass: dcobject objectclass: organization dc: qq o: tengxun description: 騰訊 street: 深圳騰訊大廈此LDIF 文件中存在中文字符,建議使用Linux dos2unix 命令進行轉換,例如dos2unix -k –n filenew_file。作者建議盡可能不要使用中文字符進行添加,而使用英文添加。
導入組織數據
[root@openldap-server data]# ldapadd -x -D "cn=Manager,dc=qq,dc=com" -w ldappassword -f ./o.ldif -h openldap-server -p 389 adding new entry "o=tengxun,dc=qq,dc=com"============================================================
如果報錯:
產生原因:o.ldif文件中的不規范的空格所致!!即導入的數據含有空格所致!
糾錯如下:
===========================================================
查詢剛導入數據
[root@openldap-server data]# ldapsearch -x -D "cn=Manager,dc=qq,dc=com" -b "o=tengxun,dc=qq,dc=com" -w ldappassword -h openldap-server -p 389 # extended LDIF # # LDAPv3 # base <o=tengxun,dc=qq,dc=com> with scope subtree # filter: (objectclass=*) # requesting: ALL ## tengxun, qq.com dn: o=tengxun,dc=qq,dc=com objectClass: top objectClass: dcObject objectClass: organization dc: qq o: tengxun description:: 572R5biF street:: 5YyX5Lqs5biC5a6J57+U5YyX6YeM55SyMTHlj7fljJfkuqzliJvkuJrlpKfljqZC5bqnNzAx5a6k# search result search: 2 result: 0 Success# numResponses: 2 # numEntries: 12. 管理員及組
在新建組織下創建管理員及組
在tengxun組織下創建一個 Manager 的組織角色(該角色內的用戶具有管理整個 LDAP 的權限)和 People 和 Group 兩個組織單元: [root@openldap-server data]# vim admin_group.ldif # admin dn: cn=Manager,o=tengxun,dc=qq,dc=com objectClass: organizationalRole cn: Manager# Group組 dn: ou=Group,o=tengxun,dc=qq,dc=com ou: Group objectClass: organizationalUnit# People組 dn: ou=People,o=tengxun,dc=qq,dc=com ou: People objectClass: organizationalUnit導入組數據
[root@openldap-server data]# ldapadd -x -D "cn=Manager,dc=qq,dc=com" -w ldappassword -f ./admin_group.ldif -h openldap-server -p 389 adding new entry "cn=Manager,o=tengxun,dc=qq,dc=com"adding new entry "ou=Group,o=tengxun,dc=qq,dc=com"adding new entry "ou=People,o=tengxun,dc=qq,dc=com"通過以上的所有步驟,我們就設置好了一個 LDAP 目錄樹:其中基準 dn: o=tengxun,dc=qq,dc=com 是該樹的根節點,其下有一個管理域 cn=Manager,o=tengxun,dc=qq,dc=com 和兩個組織單元 ou=People,o=tengxun,dc=qq,dc=com 及 ou=Group,o=tengxun,dc=qq,dc=com。
3. 用戶
創建用戶及部門(cn組)
[root@openldap-server data]# vim adduser.ldif # create new # replace to your own domain name for "dc=***,dc=***" section dn: uid=huateng.ma,ou=People,o=tengxun,dc=qq,dc=com objectClass: top objectclass: person #objectclass: organizationalPerson objectclass: inetOrgPerson objectClass: shadowAccount uid: huateng.ma cn: huateng.ma sn: ma displayName: 馬化騰 ou: People description: 可視化 #userPassword: ldappassword userPassword: {SSHA}b6YpCvRFWAWQdJpueuyzk79VXlikj4Z1 mail: huateng.ma@qq.comdn: cn=kaifa,ou=Group,o=tengxun,dc=qq,dc=com objectClass: top objectClass: groupOfUniqueNames cn: kaifa uniquemember: uid=huateng.ma,ou=People,o=tengxun,dc=qq,dc=com導入用戶數據
[root@openldap-server data]# ldapadd -x -D "cn=Manager,dc=qq,dc=com" -w ldappassword -f ./adduser.ldif -h openldap-server -p 389 adding new entry "uid=huateng.ma,ou=People,o=tengxun,dc=qq,dc=com" adding new entry "cn=kaifa,ou=Group,o=tengxun,dc=qq,dc=com"可以登陸phpLDAPadmin的web界面查詢新導入的數據
添加其它用戶
[root@openldap-server data]# vim adduser.ldif # create new # replace to your own domain name for "dc=***,dc=***" section dn: uid=san.zhang,ou=People,o=tengxun,dc=qq,dc=com objectClass: top objectclass: person #objectclass: organizationalPerson objectclass: inetOrgPerson objectClass: shadowAccount uid: san.zhang cn: san.zhang sn: zhang displayName: 張三 ou: People description: 可視化 #userPassword: ldappassword userPassword: {SSHA}b6YpCvRFWAWQdJpueuyzk79VXlikj4Z1 mail: san.zhang@qq.com把san.zhang用戶加入到kaifa組中(沒驗證)
dn: cn=kaifa,ou=Group,o=tengxun,dc=qq,dc=com changetype: modify add: memberuid memberuid: san.zhang或者
通過OpenLDAP界面把san.zhang用戶添加到kaifa組中
點擊左側相應組織下的"ou=Group" --> "cn=kaifa" --> "uniqueMember" --> 點擊下面的賦值,復制上面一行,然后修改uid保存即可。
八、參考:
http://book.51cto.com/art/201602/505669.htm
https://www.cnblogs.com/kevingrace/p/9052669.html
https://www.cnblogs.com/AloneSword/p/4758814.html
當你發現自己的才華撐不起野心時,就請安靜下來學習吧
轉載于:https://blog.51cto.com/moerjinrong/2152891
總結
以上是生活随笔為你收集整理的CentOS 6.9下OpenLDAP 的安装与配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 Redis 实现分布式速率限制
- 下一篇: 复制介绍、复制的实用价值