KADMIND(8)
π KADMIND(8) β kadmind π
the server for administrative access to Kerberos database π (and yes bestie, this is a System Manager's Manual situation, section 8, we love a daemon era)
β¨ SYNOPSIS β¨
kadmind [-c file | --config-file=file] [-k file | --key-file=file]
[--keytab=keytab] [-r realm | --realm=realm] [-d | --debug] [-p
port | --ports=port]
πΈ DESCRIPTION πΈ
okay so kadmind is literally the girl who sits there listening for requests to change the Kerberos database, and then actually does them β but only subject to permissions, because boundaries are self-care π.
When it starts up: if stdin is a socket, it assumes it got launched by inetd(8) (vintage behavior, we respect it). Otherwise it behaves as a daemon, forking off processes for every new connection like it's running its own little group chat π«Ά. And the --debug option makes kadmind accept exactly one connection β extremely useful for debugging, no cap.
The kpasswdd(8) daemon is the one responsible for the Kerberos 5 password changing protocol (the one kpasswd(1) uses). So that's a different girl, don't mix them up π.
π¨ IMPORTANT, bestie: this daemon should only be run on the master server, and NOT on any slaves. Periodt.
Principals are always allowed to change their own password and list their own principal. That's the bare minimum, it's giving basic autonomy β¨. Apart from that? Doing any operation requires permission explicitly added in the ACL file /var/heimdal/kadmind.acl. The format of this file is:
principal rights [principal-pattern]
Where rights is any (comma separated) combination of:
change-passwordorcpwlistdeletemodifyaddgetget-keysall(everything exceptget-keys) π
And the optional principal-pattern restricts the rights to operations on principals that match the glob-style pattern. Slay, we love scoped permissions π.
Supported options:
-cfile,--config-file=file β location of config file π-kfile,--key-file=file β location of master key file π--keytab=keytab β what keytab to use ποΈ-rrealm,--realm=realm β realm to use π-d,--debugβ enable debugging π-pport,--ports=port β ports to listen to. By default, if run as a daemon, it listens to port749, but you can add any number of ports with this option. The port string is a whitespace separated list of port specifications, with the special stringβ+βrepresenting the default port. π
π FILES π
/var/heimdal/kadmind.acl
π EXAMPLES π
This will cause kadmind to listen to port 4711 in addition to any compiled in defaults:
kadmind --ports="+ 4711" &
This acl file will grant Joe all rights, and allow Mallory to view and add host principals, as well as extract host principal keys (e.g., into keytabs). Obsessed with a clean ACL, fr fr π:
joe/admin@EXAMPLE.COM all
mallory/admin@EXAMPLE.COM add,get-keys host/*@EXAMPLE.COM
π SEE ALSO π
kpasswd(1), kadmin(1), kdc(8), kpasswdd(8)
and that's the whole vibe check, bestie π¦ this icon came from HEIMDAL, dated December 8, 2004 β old money, still iconic, we stan πβ¨π
π¦ where this page comes from
- epel 10: heimdal-server 7.8.0-26.el10_2 Β· BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- epel 9: heimdal-server 7.8.0-5.el9 Β· BSD and MIT
- fedora 43: heimdal-server 7.8.0-26.fc43 Β· BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- fedora 44: heimdal-server 7.8.0-26.fc43 Β· BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- fedora 44: heimdal-server 7.8.0-28.fc44 Β· BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- Copyright (c) 2002 - 2004 Kungliga Tekniska HΓΆgskolan
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms