docs: update auth-system-replacement plan with PAM/NSS progress
Some checks failed
Run nix flake check / flake-check (push) Has been cancelled
Run nix flake check / flake-check (pull_request) Successful in 2m10s

- Mark PAM/NSS client module as complete
- Mark documentation as complete
- Update provisioning approach (declarative groups, imperative users)
- Add details on client module and verified functionality
- Update next steps

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-08 15:09:05 +01:00
parent 8e5606d4bb
commit b66e38ba72

View File

@@ -66,9 +66,9 @@ This future migration path is a strong argument for Kanidm over LDAP-only soluti
- Vault integration for idm_admin password - Vault integration for idm_admin password
- LDAPS on port 636 - LDAPS on port 636
2. **Configure declarative provisioning** 2. **Configure provisioning**
- Groups: `admins`, `users`, `ssh-users` - Groups provisioned declaratively: `admins`, `users`, `ssh-users`
- User: `torjus` (member of all groups) - Users managed imperatively via CLI (allows setting POSIX passwords in one step)
- POSIX attributes enabled (UID/GID range 65,536-69,999) - POSIX attributes enabled (UID/GID range 65,536-69,999)
3. **Test NAS integration** (in progress) 3. **Test NAS integration** (in progress)
@@ -80,14 +80,16 @@ This future migration path is a strong argument for Kanidm over LDAP-only soluti
- Grafana - Grafana
- Other services as needed - Other services as needed
5. **Create client module** in `system/` for PAM/NSS 5. **Create client module** in `system/` for PAM/NSS
- Enable on all hosts that need central auth - Module: `system/kanidm-client.nix`
- Configure trusted CA - `homelab.kanidm.enable = true` enables PAM/NSS
- Short usernames (not SPN format)
- Home directory symlinks via `home_alias`
- Enabled on test tier: testvm01, testvm02, testvm03
6. **Documentation** 6. **Documentation**
- User management procedures - `docs/user-management.md` - CLI workflows, troubleshooting
- Adding new OAuth2 clients - User/group creation procedures verified working
- Troubleshooting PAM/NSS issues
## Progress ## Progress
@@ -106,14 +108,37 @@ This future migration path is a strong argument for Kanidm over LDAP-only soluti
- Prometheus monitoring scrape target configured - Prometheus monitoring scrape target configured
**Provisioned entities:** **Provisioned entities:**
- Groups: `admins`, `users`, `ssh-users` - Groups: `admins`, `users`, `ssh-users` (declarative)
- User: `torjus` (member of all groups, POSIX enabled with GID 65536) - Users managed via CLI (imperative)
**Verified working:** **Verified working:**
- WebUI login with idm_admin - WebUI login with idm_admin
- LDAP bind and search with POSIX-enabled user - LDAP bind and search with POSIX-enabled user
- LDAPS with valid internal CA certificate - LDAPS with valid internal CA certificate
### Completed (2026-02-08) - PAM/NSS Client
**Client module deployed (`system/kanidm-client.nix`):**
- `homelab.kanidm.enable = true` enables PAM/NSS integration
- Connects to auth.home.2rjus.net
- Short usernames (`torjus` instead of `torjus@home.2rjus.net`)
- Home directory symlinks (`/home/torjus` → UUID-based dir)
- Login restricted to `ssh-users` group
**Enabled on test tier:**
- testvm01, testvm02, testvm03
**Verified working:**
- User/group resolution via `getent`
- SSH login with Kanidm unix passwords
- Home directory creation with symlinks
- Imperative user/group creation via CLI
**Documentation:**
- `docs/user-management.md` with full CLI workflows
- Password requirements (min 10 chars)
- Troubleshooting guide (nscd, cache invalidation)
### UID/GID Range (Resolved) ### UID/GID Range (Resolved)
**Range: 65,536 - 69,999** (manually allocated) **Range: 65,536 - 69,999** (manually allocated)
@@ -128,10 +153,9 @@ Rationale:
### Next Steps ### Next Steps
1. Deploy to monitoring01 to enable Prometheus scraping 1. Enable PAM/NSS on production hosts (after test tier validation)
2. Configure TrueNAS LDAP client for NAS integration testing 2. Configure TrueNAS LDAP client for NAS integration testing
3. Add OAuth2 clients (Grafana first) 3. Add OAuth2 clients (Grafana first)
4. Create PAM/NSS client module for other hosts
## References ## References