{"id":13509936,"url":"https://github.com/glauth/glauth","last_synced_at":"2025-05-13T20:17:12.140Z","repository":{"id":38310964,"uuid":"130928221","full_name":"glauth/glauth","owner":"glauth","description":"A lightweight LDAP server for development, home use, or CI","archived":false,"fork":false,"pushed_at":"2025-05-11T22:12:32.000Z","size":9346,"stargazers_count":2596,"open_issues_count":86,"forks_count":226,"subscribers_count":29,"default_branch":"master","last_synced_at":"2025-05-13T10:53:10.103Z","etag":null,"topics":["developer-tools","go","golang","ldap","ldap-server","security"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/glauth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-04-25T00:20:14.000Z","updated_at":"2025-05-12T12:42:20.000Z","dependencies_parsed_at":"2023-01-30T21:30:55.406Z","dependency_job_id":"48dbee5f-23c5-4165-aefe-3f30477a6788","html_url":"https://github.com/glauth/glauth","commit_stats":{"total_commits":288,"total_committers":45,"mean_commits":6.4,"dds":0.6736111111111112,"last_synced_commit":"a90f37b23b76af22c700392d68bf227b7aee1894"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glauth%2Fglauth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glauth%2Fglauth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glauth%2Fglauth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glauth%2Fglauth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/glauth","download_url":"https://codeload.github.com/glauth/glauth/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254020653,"owners_count":22000757,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["developer-tools","go","golang","ldap","ldap-server","security"],"created_at":"2024-08-01T02:01:17.755Z","updated_at":"2025-05-13T20:17:07.124Z","avatar_url":"https://github.com/glauth.png","language":"Go","funding_links":[],"categories":["开源类库","Go","Open source library","security","golang","OpenLDAP","Repositories"],"sub_categories":["网络","The Internet"],"readme":"# GLAuth: LDAP authentication server for developers\nGo-lang LDAP Authentication (GLAuth) is a secure, easy-to-use, LDAP server w/ configurable backends.\n\n[![Gitter](https://badges.gitter.im/glauth/community.svg)](https://gitter.im/glauth/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n[![Matrix](https://img.shields.io/badge/chat-%2fjoin%20%23glauth_community:gitter.im-green)](hey)\n\n![GitHub all releases](https://img.shields.io/github/downloads/glauth/glauth/total)\n![Docker pulls](https://badgen.net/docker/pulls/glauth/glauth)\n\n![GitHub last commit (branch)](https://img.shields.io/github/last-commit/glauth/glauth/master)\n![Code Climate maintainability](https://img.shields.io/codeclimate/maintainability-percentage/glauth/glauth)\n\n* Centrally manage accounts across your infrastructure\n* Centrally manage SSH keys, Linux accounts, and passwords for cloud servers.\n* Lightweight alternative to OpenLDAP and Active Directory for development, or a homelab.\n* Store your user directory in a file, local or in S3; SQL database; or proxy to existing LDAP servers.\n* Two Factor Authentication (transparent to applications)\n* Multiple backends can be chained to inject features\n\nUse it to centralize account management across your Linux servers, your OSX machines, and your support applications (Jenkins, Apache/Nginx, Graylog2, and many more!).\n\n### Contributing\n- Please base all Pull Requests on [dev](https://github.com/glauth/glauth/tree/dev), not master.\n- Format your code autonmatically using `gofmt -d ./` before committing\n\n### Quickstart\nThis quickstart is a great way to try out GLAuth in a non-production environment.  *Be warned that you should take the extra steps to setup SSL (TLS) for production use!*\n\n1. Download a precompiled binary from the [releases](https://github.com/glauth/glauth/releases) page.\n2. Download the [example config file](https://github.com/glauth/glauth/blob/master/v2/sample-simple.cfg).\n3. Start the GLAuth server, referencing the path to the desired config file with `-c`.\n   - `./glauth64 -c sample-simple.cfg`\n4. Test with traditional LDAP tools\n   - For example: `ldapsearch -LLL -H ldap://localhost:3893 -D cn=serviceuser,ou=svcaccts,dc=glauth,dc=com -w mysecret -x -bdc=glauth,dc=com cn=hackers`\n\n### Make Commands\n\nNote - makefile uses git data to inject build-time variables. For best results, run in the context of the git repo.\n\n### Documentation\n\n\u003ch4 align=\"center\"\u003e:point_right: The latest version of GLauth's documentation is available at https://glauth.github.io/ :point_left:\u003c/h4\u003e\n\n\u003chr\u003e\n\n### Quickstart\n\nGet started in three short [steps](https://glauth.github.io/docs/quickstart.html)\n\n### Usage:\n```\nglauth: securely expose your LDAP for external auth\n\nUsage:\n  glauth [options] -c \u003cfile|s3url\u003e\n  glauth -h --help\n  glauth --version\n\nOptions:\n  -c, --config \u003cfile\u003e       Config file.\n  -K \u003caws_key_id\u003e           AWS Key ID.\n  -S \u003caws_secret_key\u003e       AWS Secret Key.\n  -r \u003caws_region\u003e           AWS Region [default: us-east-1].\n  --ldap \u003caddress\u003e          Listen address for the LDAP server.\n  --ldaps \u003caddress\u003e         Listen address for the LDAPS server.\n  --ldaps-cert \u003ccert-file\u003e  Path to cert file for the LDAPS server.\n  --ldaps-key \u003ckey-file\u003e    Path to key file for the LDAPS server.\n  -h, --help                Show this screen.\n  --version                 Show version.\n```\n\n### Configuration:\nGLAuth can be deployed as a single server using only a local configuration file.  This is great for testing, or for production if you use a tool like Puppet/Chef/Ansible:\n```unix\nglauth -c glauth.cfg\n```\nHere's a sample config wth hardcoded users and groups:\n```toml\n[backend]\n  datastore = \"config\"\n  baseDN = \"dc=glauth,dc=com\"\n[[users]]\n  name = \"hackers\"\n  uidnumber = 5001\n  primarygroup = 5501\n  passsha256 = \"6478579e37aff45f013e14eeb30b3cc56c72ccdc310123bcdf53e0333e3f416a\"   # dogood\n  sshkeys = [ \"ssh-dss AAAAB3...\" ]\n[[users]]\n  name = \"uberhackers\"\n  uidnumber = 5006\n  primarygroup = 5501\n  passbcrypt = \"243261243130244B62463462656F7265504F762E794F324957746D656541326B4B46596275674A79336A476845764B616D65446169784E41384F4432\"   # dogood\n[[groups]]\n  name = \"superheros\"\n  gidnumber = 5501\n```\n\nMore configuration options are documented [here](https://glauth.github.io/docs/file.html) and in this [sample file](https://github.com/glauth/glauth/blob/master/v2/sample-simple.cfg)\n\n### Backends:\n\nFor advanced users, GLAuth supports pluggable backends.  Currently, it can use a local file, S3 or an existing LDAP infrastructure.  Through the use of optional plugins, you can connect SQL databases, PAM, and other datastores.\n\n```toml\n[backend]\n  datastore = \"ldap\"\n  servers = [ \"ldaps://server1:636\", \"ldaps://server2:636\" ]\n```\n\n# Stargazers over time\n\n[![Stargazers over time](https://starchart.cc/glauth/glauth.svg)](https://starchart.cc/glauth/glauth)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglauth%2Fglauth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglauth%2Fglauth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglauth%2Fglauth/lists"}