mkdir -p /data/ldap/{data,conf} docker run -p 389:389 -p 636:636 \ --name my-openldap-container \ --env LDAP_TLS_VERIFY_CLIENT="never" \ --env LDAP_ORGANISATTON="openldap" \ --env LDAP_DOMAIN="yht.cn" \ --env LDAP_APMIN_PASSWORD="123456" \ -v /data/ldap/data:/var/lib/ldap \ -v /data/ldap/conf:/etc/ldap/slapd.d \ --detach osixia/openldap:1.4.0
-p 389:389 # LDAP端口
-p 636:636 # LDAP加密端口
LDAP_TLS_VERIFY_CLIENT="never" # 客戶端認證,never表明不須要認證
LDAP_ORGANISATTON="openldap" # 組織名稱
LDAP_DOMAIN="yht.cn" # 域名
LDAP_APMIN_PASSWORD="123456" # 超級管理員密碼
/data/ldap/data:/var/lib/ldap # 數據庫存儲目錄
/data/ldap/conf:/etc/ldap/slapd.d # 配置文件目錄
--detach # 後臺運行
osixia/openldap:1.4.0 # 容器鏡像版本,不是ldap版本,參考hub.docker.comphp
docker run -d --privileged \ -p 808:80 \ --name ldap_admin \ --env PHPLDAPADMIN_HTTPS=false \ --env PHPLDAPADMIN_LDAP_HOSTS=10.4.7.12 \ --detach osixia/phpldapadmin:0.9.0
PHPLDAPADMIN_HTTPS=false # 關閉https認證
PHPLDAPADMIN_LDAP_HOSTS=10.4.7.12 # 須要鏈接的ldap服務器地址
--detach # 後臺運行
osixia/phpldapadmin:0.9.0 # 容器鏡像版本,不是ldapadmin版本,參考hub.docker.comdocker
Login DN: cn=admin,dc=yht,dc=cn # 默認cn爲admin,域名爲LDAP_DOMAIN="yht.cn",因此dc=yht,dc=cn
Password: admin # 默認密碼爲adminapi
注意此種修改密碼手段不會修改頁面的上密碼,會生成一個獨立的登錄密碼
則後果是會有兩個密碼:
一、頁面默認的admin登錄密碼
二、在命令行生成的密碼
admin用戶的兩個密碼均可登錄系統,頁面默認admin密碼則在頁面修改
命令行生成新密碼不會影響頁面密碼bash
docker exec -it my-openldap-container bash
服務器
root@b7026522c2d5:/# ldapsearch -H ldapi:// -LLL -Q -Y EXTERNAL -b "cn=config" "(olcRootDN=*)" dn olcRootDN olcRootPW dn: olcDatabase={0}config,cn=config olcRootDN: cn=admin,cn=config olcRootPW: {SSHA}4+ojl/ieZ5XsfCW6wOXYpI9rbnxkOG7j dn: olcDatabase={1}mdb,cn=config olcRootDN: cn=admin,dc=yht,dc=cn olcRootPW: {SSHA}6Ln5rybryWQV7kjl0Nz+cwEFdPjXQhCd
dn # 數據庫配置
oldRootDN # 鏈接LDAP的DN
olcRootPW # 鏈接LDAP的密碼app
root@b7026522c2d5:/# slappasswd -s 123 {SSHA}0gnuRDuo3bXyBSpwwO+yfEnm1eT3Oofa
cat > /root/newpasswd.ldif <<'EOF' dn: olcDatabase={1}mdb,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}0gnuRDuo3bXyBSpwwO+yfEnm1eT3Oofa EOF
{SSHA}9IMoAE6bt6nwIgDoGFUsQtvyupxubzdp # slappasswd -s 123設置輸出的新密碼
olcDatabase={1}mdb,cn=config # 更改mdb數據庫配置
changetype: modify # 類型爲更改
replace: olcRootPW # 更改的字段ide
root@b7026522c2d5:/# ldapmodify -H ldapi:// -Y EXTERNAL -f /root/newpasswd.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "olcDatabase={1}mdb,cn=config"
Login DN: cn=admin,dc=yht,dc=cn
Password: 123ui