
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
GLAuth(Go-lang LDAP Authentication)是一款安全、易用的LDAP服务器,具有可配置后端。它旨在集中管理基础设施中的账户、SSH密钥、Linux账户和密码,作为OpenLDAP和Active Directory在开发环境或家庭实验室中的轻量级替代方案。支持多种后端存储(本地文件、S3、SQL数据库或现有LDAP服务器代理),并可通过链式后端注入功能(如双因素认证)。
以下步骤适用于非生产环境试用,生产环境需额外配置SSL/TLS。
准备配置文件
下载https://github.com/glauth/glauth/blob/master/sample-simple.cfg%E6%88%96%E5%88%9B%E5%BB%BA%E8%87%AA%E5%AE%9A%E4%B9%89%E9%85%8D%E7%BD%AE%EF%BC%9A
toml[backend] datastore = "config" baseDN = "dc=glauth,dc=com" [[users]] name = "hackers" unixid = 5001 primarygroup = 5501 passsha256 = "6478579e37aff45f013e14eeb30b3cc56c72ccdc310123bcdf53e0333e3f416a" # 密码: mysecret sshkeys = ["ssh-dss AAAAB3..."] [[groups]] name = "superheros" unixid = 5501
启动Docker容器
bashdocker run -d \ -p 389:3893 \ # 映射LDAP端口(默认3893) -v $(pwd)/sample-simple.cfg:/etc/glauth.cfg \ # 挂载配置文件 --name glauth \ glauth/glauth -c /etc/glauth.cfg
测试LDAP连接
使用ldapsearch验证:
bashldapsearch -LLL -H ldap://localhost:389 \ -D cn=serviceuser,ou=svcaccts,dc=glauth,dc=com \ -w mysecret -x -b dc=glauth,dc=com cn=hackers
基础结构
配置文件采用TOML格式,包含全局设置、后端配置、用户和组定义。
用户配置字段
必填字段
name: 用户名(如"hackers")unixid: Unix用户ID(数字,如5001)primarygroup: 主组ID(对应组的unixid,如5501)可选字段
sshkeys: SSH公钥数组(如["ssh-rsa AAAAB3..."])givenname/sn: 名/姓(默认空)disabled: 账户是否禁用(true/false,默认false)mail: ***地址(默认空)loginshell: 登录shell(默认/bin/bash)homedirectory: 家目录(默认/home/[username])otpsecret: TOTP密钥(用于双因素认证,默认空)passappbcrypt/passappsha256: 应用密码哈希数组(绕过OTP,默认空)yubikey: Yubikey ID(用于Yubikey OTP认证,默认空)密码哈希生成
htpasswd -bnBC 10 "" "mypassword" | tr -d ':\n'(推荐)echo -n "mypassword" | openssl dgst -sha256文件/S3后端
toml[backend] datastore = "config" # 本地文件或S3配置 baseDN = "dc=glauth,dc=com"
使用S3时通过命令行指定配置文件路径:
docker run ... glauth/glauth -c s3://bucketname/glauth.cfg
需设置AWS凭证:-K <aws_key_id> -S <aws_secret_key>(或环境变量AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY)
LDAP代理后端
toml[backend] datastore = "ldap" # 代理至现有LDAP服务器 servers = ["ldaps://server1:636", "ldaps://server2:636"] # 目标服务器列表
SQL后端
需先构建SQL插件(make plugins),配置示例:
toml[backend] datastore = "sql" sql_driver = "mysql" # 支持mysql/postgres/sqlite sql_dsn = "user:pass@tcp(host:port)/dbname"
TOTP认证
otpsecret字段:
toml[[users]] name = "user1" unixid = 5002 primarygroup = 5501 passbcrypt = "$2a$10$K2F4beoreP Ov.yO2IWtmeeA2kKFYbugJy3jGhEvKam eDaixNA8OD2" # 密码哈希 otpsecret = "3hnvnk4ycv44glzigd6s25j4dougs3rk" # TOTP密钥
Yubikey认证
toml[general] yubikeyclientid = "12345" # Yubico Client ID yubikeysecret = "abcdef123456..." # Yubico Secret Key
toml[[users]] name = "user2" unixid = 5003 primarygroup = 5501 yubikey = "cccjgjgkhcbb" # Yubikey ID
glauth [options] -c <file|s3url>
主要选项:
-c, --config <file>: 配置文件路径或S3 URL(必填)-K <aws_key_id>: AWS访问密钥ID(S3后端使用)-S <aws_secret_key>: AWS密钥(S3后端使用)-r <aws_region>: AWS区域(默认us-east-1,S3后端使用)--ldap <address>: LDAP监听地址(如":389",默认":3893")--ldaps <address>: LDAPS监听地址(如":636",默认未启用)--ldaps-cert <cert-file>: LDAPS证书文件路径--ldaps-key <key-file>: LDAPS密钥文件路径-h, --help: 显示帮助信息--version: 显示版本信息--ldaps、--ldaps-cert、--ldaps-key),使用可信CA签发的证书passbcrypt)替代sha256,提高密码安全性支持标准LDAP客户端工具及应用集成:
ldapsearch、ldapmodify、Apache Directory Studio确保客户端支持LDAPv3标准特性,如简单绑定(simple bind)和基本搜索操作。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务