Reference labs: FreeIPA and Kanidm
Optional labs for walking the same paths — host join, HBAC or host access, sudo, SSH keys — in systems that already exist in the wild. They are orientation, not prerequisites. Linux Directory’s core server remains D + SQL; see the landscape survey.
What these labs illuminate
| Check | FreeIPA | Kanidm |
|---|---|---|
| Host enrollment | ipa-client-install |
kanidm-unixd / enroll |
| User login (PAM/NSS) | SSSD | kanidm PAM/NSS |
| Host access control | HBAC rules | groups / PAM (partial) |
| Central sudo | sudo rules | External or absent |
| SSH public keys | from IPA | from Kanidm |
| OIDC / passkeys | available in newer releases | native |
FreeIPA (quick path)
- A RHEL, Fedora, or CentOS Stream VM suits the server well — that is where packaging and docs concentrate.
- Install the FreeIPA server (
ipa-server-install); note the realm and admin password. - On an Ubuntu and a CachyOS client (where packages allow), enroll and try:
su/ SSH as an IPA user- an HBAC deny and allow for one host
- a sudo rule for a group
- an SSH key stored in IPA used for login
- Note packaging and client gaps on Ubuntu and CachyOS — they are often thinner than on RHEL-family hosts.
Kanidm (quick path)
- Follow the Kanidm book — a single-binary server with a lighter footprint.
- Create an admin, a POSIX account, and a group; enroll a Unix client (Ubuntu, Debian, CachyOS, Fedora, or openSUSE — see Distributions).
- Try login, offline or TPM paths if available, SSH keys, OIDC app login, and RADIUS if that matters to you.
- Observe how host access and central sudo compare with FreeIPA’s rule model.
What this means for Linux Directory
- Host join and cached login work on Ubuntu LTS and CachyOS.
- HBAC and sudo are first-class; an empty HBAC set means allow-all until rules exist.
- OIDC, passkeys, and optional Tailscale favor a lean operational story.
- Native fleet packages and energy policy are part of lindir’s own shape (Fleet).
