本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

LDAP User Manager是一个PHP LDAP账户管理器,提供基于Web的GUI界面,用于快速填充新的LDAP目录并轻松管理用户账户和组。它还包含自助密码修改模块,设计用于OpenLDAP并以容器形式运行,可与osixia/openldap等OpenLDAP容器配合使用。
初始设置:添加管理员账户
!administrator_setup
添加新组
!new_group
管理组成员
!group_membership
编辑账户
!account_overview
自助密码修改
!self_service_password_change
适用于需要通过直观Web界面管理LDAP用户和组的场景,特别适合:
docker run \ --detach \ --name=lum \ -p 80:80 \ -p 443:443 \ -e "SERVER_HOSTNAME=lum.example.com" \ -e "LDAP_URI=ldap://ldap.example.com" \ -e "LDAP_BASE_DN=dc=example,dc=com" \ -e "LDAP_REQUIRE_STARTTLS=TRUE" \ -e "LDAP_ADMINS_GROUP=admins" \ -e "LDAP_ADMIN_BIND_DN=cn=admin,dc=example,dc=com" \ -e "LDAP_ADMIN_BIND_PWD=secret"\ -e "LDAP_IGNORE_CERT_ERRORS=true" \ -e "EMAIL_DOMAIN=ldapusermanager.org" \ wheelybird/ldap-user-manager:v1.5
修改上述变量值以适应您的环境,然后访问 [***] 开始使用。
配置通过环境变量进行。请注意:
LDAP_URI:LDAP服务器的URI,例如 ldap://ldap.example.com 或 ldaps://ldap.example.comLDAP_BASE_DN:组织的基准DN,例如 dc=example,dc=comLDAP_ADMIN_BIND_DN:具有修改LDAP_BASE_DN下所有记录权限的用户DN,例如 cn=admin,dc=example,dc=comLDAP_ADMIN_BIND_PWD:LDAP_ADMIN_BIND_DN用户的密码LDAP_ADMINS_GROUP:定义可使用此工具管理LDAP账户的管理员组名称,例如 adminsSERVER_HOSTNAME(默认:ldapusername.org):此界面的主机名ORGANISATION_NAME(默认:LDAP):您的组织名称SITE_NAME(默认:{ORGANISATION_NAME} user manager):更改菜单中的标题,例如"我的公司账户管理"LDAP_USER_OU(默认:people):用于存储用户账户的OU名称(无需附加基准DN)LDAP_GROUP_OU(默认:groups):用于存储组的OU名称(无需附加基准DN)LDAP_REQUIRE_STARTTLS(默认:TRUE):若为TRUE,则需要TLS连接;若为FALSE,则可在无STARTTLS情况下工作,但页面会显示警告LDAP_IGNORE_CERT_ERRORS(默认:FALSE):若为TRUE,则忽略LDAP服务器证书问题(如FQDN不匹配),适用于自签名证书或通过轮询DNS连接多台服务器的情况LDAP_TLS_CACERT(无默认值):当LDAP_REQUIRE_STARTTLS启用时,用于TLS连接的CA证书内容,例如 -e LDAP_TLS_CACERT="$(</path/to/ca.crt)"(确保使用引号)仅当尝试使用户管理器与已填充的LDAP目录配合使用且默认设置不适用时才修改这些设置:
LDAP_ACCOUNT_ATTRIBUTE(默认:uid):用作账户标识符的账户属性,详见账户名称LDAP_GROUP_MEMBERSHIP_ATTRIBUTE(默认:memberUID 或 uniqueMember):将用户账户添加到组时使用的属性。检测到groupOfMembers对象类或FORCE_RFC2307BIS为TRUE时默认使用uniqueMember,否则默认使用memberUID。显式设置此变量将覆盖默认值LDAP_ACCOUNT_ADDITIONAL_OBJECTCLASSES(无默认值):创建账户时使用的额外对象类的逗号分隔列表,详见额外对象类和属性LDAP_ACCOUNT_ADDITIONAL_ATTRIBUTES(无默认值):创建账户时显示的额外属性的逗号分隔列表,详见额外对象类和属性LDAP_GROUP_MEMBERSHIP_USES_UID(默认:TRUE 或 FALSE):若为TRUE,则组成员条目仅为用户名;否则为成员的完整DN。检测到groupOfMembers对象类或FORCE_RFC2307BIS为TRUE时默认使用FALSE,否则默认使用TRUE。显式设置此变量将覆盖默认值FORCE_RFC2307BIS(默认:FALSE):若自动检测未能识别RFC2307BIS schema可用,可设为TRUE强制启用。设为FALSE时用户管理器将使用自动检测,详见使用RFC2307BIS schemaDEFAULT_USER_GROUP(默认:everybody):新账户自动添加的组。注意:若此组不存在,则会创建与用户名同名的组并将用户添加到该组DEFAULT_USER_SHELL(默认:/bin/bash):用户登录服务器时启动的shellEMAIL_DOMAIN(无默认值):若设置,电子邮件地址字段将自动填充为username@email_domain格式ENFORCE_SAFE_SYSTEM_NAMES(默认:TRUE):若设为TRUE(默认),将对照USERNAME_REGEX检查系统登录名和组名以确保其在服务器上可用,详见账户名称USERNAME_FORMAT(默认:{first_name}-{last_name}):用于动态生成存储在uid属性中的用户名的模板,详见用户名格式USERNAME_REGEX(默认:^[a-z][a-zA-Z0-9._-]{3,32}$):用于确保账户名和组名在服务器上可用的正则表达式,详见用户名格式PASSWORD_HASH(无默认值):用于在LDAP中存储密码的哈希方法,选项包括(按优先级排序)SHA512CRYPT、SHA256CRYPT、MD5CRYPT、SSHA、SHA、SMD5、MD5、CRYPT。若所选方法不可用,将自动选择最强可用方法(SSHA是保证可用的最强方法)。生产环境绝不应使用明文密码ACCEPT_WEAK_PASSWORDS(默认:FALSE):设为TRUE可阻止因密码太弱而被拒绝,但仍会显示密码强度指示。生产环境不应启用此选项需使用现有SMTP服务器发送邮件。若未设置SMTP_HOSTNAME,将禁用邮件发送功能:
SMTP_HOSTNAME(无默认值):用于发送邮件的SMTP服务器主机名SMTP_HOST_PORT(默认:25):SMTP服务器端口SMTP_USERNAME(无默认值):SMTP服务器认证用户名(若需要)SMTP_PASSWORD(无默认值):SMTP服务器认证密码(若需要)SMTP_USE_TLS(默认:FALSE):设为TRUE若SMTP服务器要求启用TLSEMAIL_FROM_ADDRESS(默认:admin@EMAIL_DOMAIN):发送邮件时使用的发件人地址,默认域名来自用户账户设置中的EMAIL_DOMAINEMAIL_FROM_NAME(默认:SITE_NAME):发送邮件时使用的发件人名称,默认名称来自组织设置中的SITE_NAMEACCOUNT_REQUESTS_ENABLED(默认:FALSE):设为TRUE可启用用户账户申请表单。这将向ACCOUNT_REQUESTS_EMAIL发送包含用户详细信息和账户创建页面链接的邮件,创建页面将自动填充详细信息。需先配置邮件发送(见上文邮件发送),否则将禁用请求并在日志中记录错误ACCOUNT_REQUESTS_EMAIL(默认:EMAIL_FROM_ADDRESS):接收新账户请求的电子邮件地址NO_HTTPS(默认:FALSE):设为TRUE将以HTTP模式运行服务器,不加密传输。不安全,仅用于测试SESSION_TIMEOUT(默认:10 minutes):闲置会话超时时间LDAP_DEBUG(默认:FALSE):设为TRUE可提高LDAP请求的日志级别,会将密码输出到错误日志,生产环境不应启用。用于调试LDAP记录更新问题LDAP_VERBOSE_CONNECTION_LOGS(默认:FALSE):设为TRUE可启用详细LDAP连接日志(PHP的LDAP_OPT_DEBUG_LEVEL 7),会产生大量日志,生产环境应禁用。用于调试LDAP服务器连接问题SESSION_DEBUG(默认:FALSE):设为TRUE可提高会话和用户授权的日志级别,会将Cookie密钥输出到错误日志,生产环境不应启用SMTP_LOG_LEVEL(默认:0):设为1-4可获取SMTP日志信息(0禁用SMTP调试日志,但仍显示错误)。详见PHPMailer SMTP调试当NO_HTTPS设为FALSE(默认)时,Web服务器(Apache HTTPD)需要找到/opt/ssl/server.key和/opt/ssl/server.crt,且这些证书应与SERVER_HOSTNAME匹配。若未找到这些文件,启动脚本将基于SERVER_HOSTNAME创建自签名证书。
要使用自己的密钥和证书,需将包含它们的目录挂载到/opt/ssl。若需要证书链文件(Apache的SSLCertificateChainFile选项),可命名为chain.pem并放在与server.key和server.crt相同的目录中。
例如,若密钥和证书文件位于/home/myaccount/ssl,可在docker run命令中添加以下行(在最后一个-e行之后):
-v /home/myaccount/ssl:/opt/ssl \
理想情况下,应在空LDAP目录上使用此工具。可使用设置工具创建用户管理器所需的LDAP结构以创建账户和组。访问https://{SERVER_HOSTNAME}/setup开始设置(将{SERVER_HOSTNAME}替换为Docker运行命令中设置的SERVER_HOSTNAME值)。
登录密码是管理员用户的密码(即LDAP_ADMIN_BIND_DN设置的值)。
设置工具将创建用户和账户树、存储创建用户账户或组时使用的最后一个UID和GID的记录、管理员组以及初始管理员账户。
!initial_setup
创建账户时,可选择向账户创建对象发送邮件。邮件将包含其新用户名、密码和自助密码修改工具的链接。
邮件通过SMTP发送,因此需要能够连接到SMTP服务器并通过环境变量传入服务器设置(见上文邮件发送)。
若未传入这些设置,或创建的账户没有(有效的)电子邮件地址,则发送邮件选项将被禁用。
账户创建时会提示邮件是否发送成功,但请注意,SMTP服务器接受邮件并不意味着一定能成功投递。若收到邮件未发送的消息,请检查日志中的错误。可将日志级别(SMTP_LOG_LEVEL)设为大于0以查看SMTP调试日志。
登录用户管理器时使用账户的账户标识符值。默认情况下,用户管理器使用系统用户名作为登录名,即LDAP的uid属性。因此,若系统用户名为test-person,则使用该名称登录。
uid属性通常用作Linux、FreeBSD、NetBSD等系统的登录用户名,因此若使用LDAP创建服务器账户,这是一个很好的选择。
其他服务或软件可能使用通用名称(cn)属性,通常是个人的全名,因此可能以Test Person登录。
账户标识符用于唯一标识账户,因此不能创建账户标识符相同的多个账户。
应确保LDAP客户端在验证用户时使用相同的账户标识符属性。
若使用LDAP进行服务器账户管理,通常对字符数量和类型有约束。用户管理器将对照USERNAME_REGEX验证用户名和组名。若不需要如此严格的检查,可将ENFORCE_SAFE_SYSTEM_NAMES设为FALSE。
输入人名时,系统用户名会基于模板自动填充。模板由USERNAME_FORMAT定义,是包含预定义宏的字符串,这些宏将被替换为相关值。
默认模板为{first_name}-{last_name},例如"Jonathan Testperson"的用户名将为"jonathan-testperson"。
当前可用的宏:
{first_name}:小写的名字{first_name_initial}:小写的名字首字母{last_name}:小写的姓氏{last_name_initial}:小写的姓氏首字母USERNAME_FORMAT字符串中的其他内容将保持不变。若启用ENFORCE_SAFE_SYSTEM_NAMES,用户名还将对照USERNAME_REGEX检查有效性,以确保没有使用LDAP创建服务器或电子邮件账户时禁止使用的字符。
若设置了EMAIL_DOMAIN,电子邮件地址字段将自动更新为username@email_domain格式。手动输入任何内容到该字段将停止电子邮件字段的自动更新。
若需要将此用户管理器与现有LDAP目录配合使用,且账户记录需要额外的对象类和
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429