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

GLAuth(Go-lang LDAP Authentication)是一款安全、易用的LDAP服务器,具有可配置后端。它旨在集中管理基础设施中的账户、SSH密钥、Linux账户和密码,作为OpenLDAP和Active Directory在开发环境或家庭实验室中的轻量级替代方案。支持多种后端存储(本地文件、S3、SQL数据库或现有LDAP服务器代理),并可通过链式后端注入功能(如双因素认证)。
以下步骤适用于非生产环境试用,生产环境需额外配置SSL/TLS。
准备配置文件
下载示例配置文件或创建自定义配置:
[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容器
docker 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验证:
ldapsearch -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[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)
[backend] datastore = "ldap" # 代理至现有LDAP服务器 servers = ["ldaps://server1:636", "ldaps://server2:636"] # 目标服务器列表
需先构建SQL插件(make plugins),配置示例:
[backend] datastore = "sql" sql_driver = "mysql" # 支持mysql/postgres/sqlite sql_dsn = "user:pass@tcp(host:port)/dbname"
otpsecret字段:
[[users]] name = "user1" unixid = 5002 primarygroup = 5501 passbcrypt = "$2a$10$K2F4beoreP Ov.yO2IWtmeeA2kKFYbugJy3jGhEvKam eDaixNA8OD2" # 密码哈希 otpsecret = "3hnvnk4ycv44glzigd6s25j4dougs3rk" # TOTP密钥
[general] yubikeyclientid = "12345" # Yubico Client ID yubikeysecret = "abcdef123456..." # Yubico Secret Key
[[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)和基本搜索操作。
免费版仅支持 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