一、创建docker-compose文件

  1. root@xx:~# mkdir self-service-password
  2. root@xx:~# cd self-service-password
  3. root@xx:~/self-service-password# vim docker-compose.yml
  1. version: '2'
  2. services:
  3. ssp-app:
  4. image: tiredofit/self-service-password:latest #建议修改为指定的版本的镜像
  5. container_name: ssp-app
  6. volumes: # 挂载数据目录以及日志
  7. - ./data/:/www/ssp
  8. - ./logs/:/www/logs
  9. ports:
  10. - 80:80
  11. environment:
  12. - LDAP_SERVER=ldap://172.16.1.113:389 # ldap服务: ldap://ip:port
  13. - LDAP_STARTTLS=false
  14. - LDAP_BINDDN=cn=admin,dc=lixy,dc=com # 绑定的dn. 具体根据自己的实际修改(管理员dn)
  15. - LDAP_BINDPASS=Root@123 # 上述cn=admin的密码
  16. - LDAP_BASE_SEARCH=ou=Group,dc=lixy,dc=com
  17. - LDAP_LOGIN_ATTRIBUTE=uid
  18. - LDAP_FULLNAME_ATTRIBUTE=cn
  19. # Active Directory mode
  20. # true: use unicodePwd as password field
  21. # false: LDAPv3 standard behavior
  22. - ADMODE=false
  23. # Force account unlock when password is changed
  24. - AD_OPT_FORCE_UNLOCK=false
  25. # Force user change password at next login
  26. - AD_OPT_FORCE_PWD_CHANGE=false
  27. # Allow user with expired password to change password
  28. - AD_OPT_CHANGE_EXPIRED_PASSWORD=false
  29. # Samba mode
  30. # true: update sambaNTpassword and sambaPwdLastSet attributes too
  31. # false: just update the password
  32. - SAMBA_MODE=false
  33. # Shadow options - require shadowAccount objectClass
  34. # Update shadowLastChange
  35. - SHADOW_OPT_UPDATE_SHADOWLASTCHANGE=false
  36. # Hash mechanism for password:
  37. # SSHA
  38. # SHA
  39. # SMD5
  40. # MD5
  41. # CRYPT
  42. # clear (the default)
  43. # auto (will check the hash of current password)
  44. # This option is not used with ad_mode = true
  45. - PASSWORD_HASH=MD5 # 密码hash类型
  46. # Local password policy
  47. # This is applied before directory password policy
  48. # Minimal length
  49. - PASSWORD_MIN_LENGTH=12 # 此处定义密码的组合
  50. # Maximal length
  51. - PASSWORD_MAX_LENGTH=30
  52. # Minimal lower characters
  53. - PASSWORD_MIN_LOWERCASE=2
  54. # Minimal upper characters
  55. - PASSWORD_MIN_UPPERCASE=2
  56. # Minimal digit characters
  57. - PASSWORD_MIN_DIGIT=2
  58. # Minimal special characters
  59. - PASSWORD_MIN_SPECIAL=2
  60. # Dont reuse the same password as currently
  61. - PASSWORD_NO_REUSE=true
  62. # Definition of special characters
  63. - PASSWORD_SPECIAL_CHARACTERS=^a-zA-Z0-9 # 定义特殊字符
  64. # Forbidden characters
  65. # Check that password is different than login
  66. - PASSWORD_DIFFERENT_LOGIN=true
  67. # Show policy constraints message:
  68. # always
  69. # never
  70. # onerror
  71. - PASSWORD_SHOW_POLICY=onerror # 何时显示密码策略信息
  72. # Position of password policy constraints message:
  73. # above - the form
  74. # below - the form
  75. - PASSWORD_SHOW_POLICY_POSITION=above
  76. # Who changes the password?
  77. # Also applicable for question/answer save
  78. # user: the user itself
  79. # manager: the above binddn
  80. - WHO_CAN_CHANGE_PASSWORD=user # 指定谁来修改密码
  81. ## Questions/answers
  82. # Use questions/answers?
  83. # true (default)
  84. # false
  85. - QUESTIONS_ENABLED=false
  86. ## Mail
  87. # LDAP mail attribute
  88. - LDAP_MAIL_ATTRIBUTE=mail
  89. # Who the email should come from
  90. - MAIL_FROM=xxxx@163.com
  91. - MAIL_FROM_NAME=LDAP认证中心
  92. # Notify users anytime their password is changed
  93. - NOTIFY_ON_CHANGE=true
  94. # PHPMailer configuration (see https://github.com/PHPMailer/PHPMailer)
  95. - SMTP_DEBUG=0
  96. - SMTP_HOST=smtp.163.com # 定义邮件信息,用于发送邮件
  97. - SMTP_AUTH_ON=true
  98. - SMTP_USER=xxxx@163.com
  99. - SMTP_PASS=aaaaaaaaaaaa # 这里是邮箱的授权码
  100. - SMTP_PORT=465
  101. - SMTP_SECURE_TYPE=ssl
  102. - SMTP_AUTOTLS=false
  103. ## Tokens
  104. # Use tokens?
  105. # true
  106. # false
  107. - USE_TOKENS=true
  108. # Crypt tokens?
  109. # true
  110. # false
  111. - TOKEN_CRYPT=true
  112. # Token lifetime in seconds
  113. - TOKEN_LIFETIME=1800
  114. ## SMS
  115. # Use sms (NOT WORKING YET)
  116. - USE_SMS=false
  117. # Reset URL (if behind a reverse proxy)
  118. - IS_BEHIND_PROXY=true
  119. # Display help messages
  120. - SHOW_HELP=true
  121. # Language
  122. - LANG=en
  123. # Debug mode
  124. - DEBUG_MODE=false
  125. # Encryption, decryption keyphrase
  126. - SECRETEKEY=secretkey
  127. ## CAPTCHA
  128. # Use Google reCAPTCHA (http://www.google.com/recaptcha)
  129. - USE_RECAPTCHA=false
  130. # Go on the site to get public and private key
  131. - RECAPTCHA_PUB_KEY=akjsdnkajnd
  132. - RECAPTCHA_PRIV_KEY=aksdjnakjdnsa
  133. ## Default action
  134. # change
  135. # sendtoken
  136. # sendsms
  137. - DEFAULT_ACTION=change
  138. - BACKGROUND_IMAGE=images/bak.jpg # 自定义背景图片
  139. - LOGO=images/logo.png # 自定义logo图片
  1. root@xx:~/self-service-password# docker-compose up --build -d

二、报错信息处理

1、出现Parse error: syntax error, unexpected '""' (T_CONSTANT_ENCAPSED_STRING) in /www/ssp/conf/config.inc.php on line 103



处理方法:进入容器,查看配置文档103行信息

  1. root@xx:~/self-service-password# docker exec -it ssp-app /bin/bash
  2. [tiredofit/self-service-password:5.3.1 06:16:34 /] $ vim /www/ssp/conf/config.inc.php



出现两个双引号,临时解决方法就是直接在容器中修改配置文件,删除一对双引号,永久解决方案,在docker-comppse.yml文件中删除双引号



然后重新加载docker-compse文件

  1. root@xx:~/self-service-password# docker-compose up --build -d

2、出现Notice: Undefined index: HTTP_X_FORWARDED_PROTO in /www/ssp/conf/config.inc.php on line 244

处理方法:进入容器,查看配置文档244行信息

  1. root@xx:~/self-service-password# docker exec -it ssp-app /bin/bash
  2. [tiredofit/self-service-password:5.3.1 06:22:13 /] $ vim /www/ssp/conf/config.inc.php
  3. 注释:244

OpenLDAP 自助修改密码系统的更多相关文章

  1. 搭建ldap自助修改密码系统--Self Service Password

    系统版本:centos6 Self Service Password版本:1.1 服务安装: 安装依赖:yum install php70-ldap.x86_64 -y (版本尽量大于5.3,否则会提 ...

  2. 在Linux上实现SVN用户密码自助修改

    1.首先本文是在一篇百度经验的基础上修改而成,将网址记录上,以示尊重. https://jingyan.baidu.com/article/48b37f8dd4bbb31a646488c2.html ...

  3. DJANGO里让用户自助修改邮箱地址

    因为在部署过程中会涉及用户邮件发送,如果有的同事不愿意收到太多邮件,则可以自己定义为不存在的邮箱. 我们在注册的时候,也不会写用户邮箱地址,那么他们也可以在这里自己更改. changeemail.ht ...

  4. DJANGO里让用户自助修改密码

    参考了网上的实现,最终实现的各代码如下: changepwd.html模板文件: {% extends "Prism/index.html" %} {% load staticfi ...

  5. OpenLDAP + phpLDAPadmin

    一.基础设置 1.1 环境说明 Centos 7.5 openldap 1.2 关闭防火墙和selinux setenforce sed -i 's/SELINUX=enforcing/SELINUX ...

  6. OpenLDAP配置信息记录

    随着各种研发工具使用越来越多,单独为每个工具维护一个账号系统的开销越来越大,而且作为用户多个账号密码使用也越来越不方便.所以需要做一个统一账号登陆. 查询了多个方法,又因为之前用过LDAP,所以选择了 ...

  7. OpenLDAP 搭建入门

    系统环境:CentOS 7 slapd版本:2.4.44 简介 OpenLDAP是一款轻量级目录访问协议,基于X.500标准的,支持TCP/IP协议,用于实现账号集中管理的开源软件,提供一整套安全的账 ...

  8. Freeradius+Cisco2500AC+OpenLdap认证

    为了将公司内部认证统一化,启用了802.1x认证,认证流程如下: UserClient->AC控制器->Freeradius->OpenLdap 其中: Freeradius做认证使 ...

  9. Centos6 yum安装openldap+phpldapadmin+TLS+双主配置

    原文地址:http://54im.com/openldap/centos-6-yum-install-openldap-phpldapadmin-tls-%E5%8F%8C%E4%B8%BB%E9%8 ...

  10. [系统集成] OpenLDAP使用AD密码

    关于OpenLDAP和AD帐号的整合,网上有大量的文档,绝大多数都不符合我们的需求,下面的方案是我经过调研.测试.修改.最终采用的. . 需求概述 公司网络中有两种帐号:OpenLDAP帐号和AD帐号 ...

随机推荐

  1. 顶会ICSE-2023发布LIBRO技术,利用大模型技术进行缺陷重现,自动重现率达33%

    摘要:本文围绕LIBRO技术的主要步骤进行介绍. 本文分享自华为云社区<[LLM for SE]顶会ICSE-2023发布LIBRO技术,利用大模型技术进行缺陷重现,自动重现率(33%)实现业界 ...

  2. airasia Superapp × HMS Core:便捷出行,悦享全程

    2023年5月9日-5月11日,HUAWEI P60系列及旗舰产品发布会在欧洲德国.中东非阿联酋.亚太马来西亚.拉美墨西哥陆续举办,为消费者带来高端影像旗舰HUAWEI P60 Pro及系列全场景智能 ...

  3. HNU2019 Summer Training 3 E. Blurred Pictures

    E. Blurred Pictures time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  4. Python基础 - 第一个python程序

    Python程序是什么? Python源程序就是一个特殊格式的文本文件,可以使用任意文本编辑器软件做python的开发,python的文件扩展名为 .py 执行python程序的三种方式 直接调用解释 ...

  5. allure的安装与配置

    一.安装配置JDK 说明:以win10系统为例 1.Oracle官网下载JDK:https://www.oracle.com/java/technologies/downloads/ 请下载安装JDK ...

  6. 我在 vscode 插件里接入了 ChatGPT,解决了代码变量命名的难题

    lowcode 插件 已经迭代了差不多3年.作为我的生产力工具,平常一些不需要动脑的搬砖活基本上都是用 lowcode 去完成,比如管理脚手架,生成 CURD 页面,根据接口文档生成 TS 类型,生成 ...

  7. 【Netty】Netty部分源码分析(启动流程,EventLoop,accept流程,read流程)

    源码分析 Netty源码中调用链特别长,且涉及到线程切换等步骤,令人头大:) 1 启动剖析 我们就来看看 netty 中对下面的代码是怎样进行处理的 //1 netty 中使用 NioEventLoo ...

  8. 解密Prompt系列10. 思维链COT原理探究

    前一章思维链基础和进阶玩法我们介绍了如何写Chain-of-thought Prompt来激活生成逐步推理,并提高模型解决复杂问题的能力,这一章我们追本溯源,讨论下COT的哪些元素是提升模型表现的核心 ...

  9. EtherCAT 转CCLINK网关连接三菱plc应用案例

    EtherCAT 现场总线协议是由德国倍福公司在 2003 年提出的,该通讯协议拓扑结构十分灵活,数据传输速度快,同步特性好,可以形成各种网络拓扑结构. 捷米特JM-ECT-CCLK  是自主研发的一 ...

  10. 《设计模式的运用》使用策略模式+工厂模式优化代码中的if else

    使用策略模式优化if else 有这样一段逻辑 function{ for{ if() if() if( if( ) ) ... } } 公司有的祖传的代码,是一段规则校验,校验的越多,每一个请求都会 ...