《LINUX教程:OpenLDAP安裝及設置普通用戶修改自己密碼》要點:
本文介紹了LINUX教程:OpenLDAP安裝及設置普通用戶修改自己密碼,希望對您有用。如果有疑問,可以聯系我們。
前言:
?在安裝使用、openldap的過程中踩過很多坑,有的是自己沒理解明白,有的是別人表述不明確,此次就從安裝開始,簡單權限設置、以及雙主,后面包含與confluence、jira,gitlab的關聯~
一、安裝openldap
?此前編譯安裝過,踩過不少坑,最后還是選擇用yum安裝來的方便.
?`yum install openldap openldap-servers openldap-clients openldap-devel compat-openldap`
?
?openldap后端的數據庫是Berkeley DB,所以這個也得安裝,當時編譯安裝時,對這個數據庫的版本有恨嚴格的要求,坑很大..
?`yum install db4 db4-utils`
?雖說openldap已經提供了足夠的命令來創立,搜索,修改數據,但是依然不及web頁面顯示來的直觀,此處我們使用phpldapadmin.
?```
?wget http://sourceforge.net/projects/phpldapadmin/files/phpldapadmin-php5/1.2.3/phpldapadmin-1.2.3.zip/download
?unzip phpldapadmin-1.2.3.zip
?cp -R phpldapadmin-1.2.3 /var/www/html/phpldapadmin
?cd /cd/www/html/phpldapadmin/config
?cp config.php.example config.php
?```
?和大多數php應用一樣,得本身復制出一個配置文件.記得修改php的timezone喲.這也算是一個小坑.
?`
?yum install php php-ldap php-fpm nginx
?sed -i '/; date.timezone/a date.timezone =Asia/Shanghai' /etc/php.ini `
?下面是我使用的nginx的設置裝備擺設文件
?```
?vim /etc/nginx/conf/phpldapadmin.conf
?server{
? ? listen? ? ? 80;
? ? server_name? ldap.xxx.com;
? ? location / {
? ? ? ? index index.html index.php;
? ? ? ? root /var/www/html/phpldapadmin;
? ? if (!-e $request_filename) {
? ? ? ? ? ? rewrite ^/(.*)? /index.php?$1 last;
? ? ? ? }
? ? }
?
? ? location ~ \.php$ {
? ? ? ? root /var/www/html/phpldapadmin;
? ? ? ? fastcgi_pass? 127.0.0.1:9000;
? ? ? ? fastcgi_index? index.php;
? ? ? ? fastcgi_param? SCRIPT_FILENAME? $document_root$fastcgi_script_name;
? ? ? ? include? ? ? ? fastcgi_params;
? ? }
?}
?```
?接下來就啟動nginx、啟動php-fpm
?```
?service nginx start
?service php-fpm start
?```
?繼續配置openldap.網上有好多教程都是配置slapd.conf 文件但是,yum安裝的默認/etc/openldap/下是沒有這個文件的,因為新版的吧一個文件分成了多個.不習慣的可以繼續配置本來的slapd.conf文件,然后通過命令將其變成slapd.d/目錄下的多個配置文件.
?首先生成管理員暗碼.
?slappasswd
?輸入兩次得到一個暗碼,我的這個暗碼是1234
?{SSHA}7Wi/7NzFL/b6y+a7jZsDos5ax3HK0gUZ
?修改數據庫配置文件,設置域名,暗碼等
?```
?vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
?olcSuffix: dc=xxx,dc=com
?#這個主要設置目錄樹根的域名.
?oclRootDN: cn=admin,dc=xxx,dc=com
?#這個是設置管理員dn,xxx可以換成本身的域名~
?#然后在這歌配置文件的最后一行加入設置管理員暗碼的條目~
?olcRootPW: {SSHA}7Wi/7NzFL/b6y+a7jZsDos5ax3HK0gUZ
?```
2、指定監控權限
```
?vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
?dn.base="cn=admin,dc=xxx,dc=com"
?#改動其末日域名
```
3、設置數據庫緩存
```
?cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
?chown -R ldap:ldap /var/lib/ldap
?#測試配置文件是否有錯,得到`testing succeeded`表現沒問題
?slaptest -u
```
4、啟動openldap
?`service slapd start`
此時就可以訪問phpldapadmin.web頁面了
用戶名:cn=admin,dc=ldap,dc=com
暗碼:1234
?不過此處還有一坑,web頁面會有一個提示,然后沒有目錄樹的根,原因是根節點還沒有被創建.操作如下:
?```
?vim base.ldif
?#以下為base.ldif內的內容
?dn: dc=xxx,dc=com
?o: ldap
?objectclass: dcObject
?objectclass: organization
?```
?然后加入用戶
?`ldapmodify -x -D "cn=admin,dc=luojilab,dc=com" -W -f base.ldif`
?如果提示`adding new entry "dc=xxx,dc=com"`就表現成功了~
再拜訪web頁面就沒問題啦~~
openldap設置普通用戶修改自己暗碼
當我們接入jira或者wiki等等,普通用戶肯定有修改暗碼的需求,為了實現此功能,就得在openldap配置文件中加入權限,允許普通用戶自己修改暗碼.
前面已經做過的操作,此處不再闡明.
修改slapd.conf文件
```
#找到下面幾條,去掉前面的井號
modulepath /usr/lib/openldap
modulepath /usr/lib64/openldap
modeleloda ppolicy.la
```
在database config前面加上兩個字段
```
access to attrs=userPassword
?by self write
?by anonymous auth
?by dn="cn=admin,dc=xxx,dc=com" write
?by * node
access to *
?by self write
?by dn="cn=admin,dc=xxx,dc=com" write
```
再配置文件末端添加:
```
overlay ppolicy
ppolicy_default cn=Captain,ou=pwpolicies,dc=le,dc=com
```
然后重新生成數據庫配置文件
```
rm -rf /etc/openldap/slapd.d/*
[root@ll ~]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
config file testing succeeded
[root@ll ~]# chown -R ldap.ldap /etc/openldap/*
[root@ll ~]# chown -R ldap.ldap /var/lib/ldap
[root@ll ~]# /etc/init.d/slapd restart
```
本文永遠更新鏈接地址:
學習更多LINUX教程,請查看站內專欄,如果有LINUX疑問,可以加QQ交流《LINUX教程:OpenLDAP安裝及設置普通用戶修改自己密碼》。