本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

glauth Docker 镜像下载 - 轩辕镜像

glauth 镜像详细信息和使用指南

glauth 镜像标签列表和版本信息

glauth 镜像拉取命令和加速下载

glauth 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

glauth
glauth/glauth
自动构建

glauth 镜像详细信息

glauth 镜像标签列表

glauth 镜像使用说明

glauth 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

GLAuth是一款轻量级Go语言LDAP认证服务器,支持可配置后端,用于集中管理基础设施中的账户、SSH密钥和密码,是OpenLDAP和Active Directory在开发或家庭实验室中的轻量级替代方案。
15 收藏0 次下载activeglauth镜像

glauth 镜像详细说明

glauth 使用指南

glauth 配置说明

glauth 官方文档

GLAuth: 开发者的LDAP认证服务器

概述

GLAuth(Go-lang LDAP Authentication)是一款安全、易用的LDAP服务器,具有可配置后端。它旨在集中管理基础设施中的账户、SSH密钥、Linux账户和密码,作为OpenLDAP和Active Directory在开发环境或家庭实验室中的轻量级替代方案。支持多种后端存储(本地文件、S3、SQL数据库或现有LDAP服务器代理),并可通过链式后端注入功能(如双因素认证)。

核心功能和特性

  • 集中化账户管理:跨Linux服务器、OSX机器及支持应用(Jenkins、Apache/Nginx等)集中管理账户、SSH密钥和密码
  • 轻量级设计:相比OpenLDAP和Active Directory资源占用更低,适合开发和家庭实验室
  • 多后端支持:用户目录可存储于本地文件、S3、SQL数据库或代理至现有LDAP服务器
  • 双因素认证:支持TOTP(如Google Authenticator)和Yubikey OTP,对应用透明
  • 后端链式注入:可组合多个后端以扩展功能
  • OpenSSH密钥集成:存储用户SSH公钥,配合goklp helper实现SSH认证
  • 强密码支持:支持bcrypt和sha256哈希,推荐使用bcrypt加盐哈希增强安全性
  • 应用密码:提供绕过OTP检查的应用专用密码,适用于无法处理2FA的软件
  • 标准兼容性:支持Root DSE、子模式发现(subschema discovery)等LDAPv3标准特性

使用场景和适用范围

  • 开发环境:作为轻量级LDAP服务器满足开发和测试环境的认证需求
  • 家庭实验室:管理家庭网络中多设备的统一账户认证
  • 小型基础设施:集中管理Linux服务器、网络设备及支持LDAP的应用(如Graylog2、GitLab)账户

使用方法和配置说明

快速启动(Docker环境)

以下步骤适用于非生产环境试用,生产环境需额外配置SSL/TLS。

  1. 准备配置文件
    下载示例配置文件或创建自定义配置:

    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
    
  2. 启动Docker容器

    bash
    docker run -d \
      -p 389:3893 \  # 映射LDAP端口(默认3893)
      -v $(pwd)/sample-simple.cfg:/etc/glauth.cfg \  # 挂载配置文件
      --name glauth \
      glauth/glauth -c /etc/glauth.cfg
    
  3. 测试LDAP连接
    使用ldapsearch验证:

    bash
    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认证,默认空)

密码哈希生成

  • bcrypt: htpasswd -bnBC 10 "" "mypassword" | tr -d ':\n'(推荐)
  • sha256: 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认证

  1. 使用FreeOTP或Google Authenticator生成TOTP密钥
  2. 在用户配置中添加otpsecret字段:
    toml
    [[users]]
      name = "user1"
      unixid = 5002
      primarygroup = 5501
      passbcrypt = "$2a$10$K2F4beoreP Ov.yO2IWtmeeA2kKFYbugJy3jGhEvKam eDaixNA8OD2"  # 密码哈希
      otpsecret = "3hnvnk4ycv44glzigd6s25j4dougs3rk"  # TOTP密钥
    
  3. 认证时使用"密码+TOTP验证码"(如原密码"mypass",验证码"",则输入"mypass")

Yubikey认证

  1. 配置Yubikey并获取Yubico Client ID和Secret
  2. 在配置文件全局部分添加:
    toml
    [general]
      yubikeyclientid = "***"  # Yubico Client ID
      yubikeysecret = "abcdef***..."  # Yubico Secret Key
    
  3. 在用户配置中添加Yubikey ID(OTP前12字符):
    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: 显示版本信息

生产环境注意事项

  • 启用SSL/TLS: 生产环境必须配置LDAPS(--ldaps--ldaps-cert--ldaps-key),使用可信CA签发的证书
  • 配置文件安全: 限制配置文件权限(仅所有者可读写),敏感信息(如密码哈希)需加密存储
  • 强密码策略: 强制使用bcrypt哈希(passbcrypt)替代sha256,提高密码安全性
  • 定期备份: 对文件/S3后端配置定期备份,防止数据丢失
  • 监控: 配置日志监控(支持logr分级日志),跟踪认证异常和服务状态

兼容性

支持标准LDAP客户端工具及应用集成:

  • 客户端工具: ldapsearchldapmodify、Apache Directory Studio
  • 应用集成: Jenkins、Apache/Nginx(auth_ldap模块)、Linux PAM(pam_ldap)、OpenSSH(通过goklp)、Graylog2、GitLab

确保客户端支持LDAPv3标准特性,如简单绑定(simple bind)和基本搜索操作。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"