KINIT(1)

πŸ“¦
version 7.8.git20240113.1b4565a Β· 2 versions
  • 7.8.git20240113.1b4565a Β· debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 7.7.0 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– KINIT(1) πŸ’–

okay bestie, so this is kinit from the General Commands Manual section 1 (that's the "you can literally just type this in your shell" section, iykyk) ✨


🌸 NAME 🌸

kinit β€” acquire initial tickets. that's it. that's the whole job. she gets you tickets πŸ’…


✨ SYNOPSIS ✨

kinit [--afslog] [-c cachename | --cache=cachename] [-f | --forwardable]
      [-F | --no-forwardable] [-t keytabname | --keytab=keytabname] [-l
      time | --lifetime=time] [-p | --proxiable] [-R | --renew]
      [--renewable] [-r time | --renewable-life=time] [-S principal |
      --server=principal] [-s time | --start-time=time]
      [-k | --use-keytab] [-v | --validate] [-e enctypes |
      --enctypes=enctypes] [-a addresses | --extra-addresses=addresses]
      [--password-file=filename] [--fcache-version=version-number]
      [-A | --no-addresses] [-n | --anonymous] [--enterprise]
      [--version] [--help] [principal [command]]

like. she has a lot of options. she's high maintenance but she delivers πŸŽ€


πŸ¦‹ DESCRIPTION πŸ¦‹

So kinit is the girl who goes and authenticates you to the Kerberos server as principal β€” or, if you didn't give her a principal, as a system-generated default (usually your login name at the default realm, bestie) β€” and then she comes back with a ticket granting ticket</> that you can later use to snag tickets for other services. main character energy, honestly πŸ‘‘

Supported options:

  • -c cachename, --cache=cachename β€” the credentials cache to put the acquired ticket in, if you want something other than the default. a lil home for your ticket 🏠
  • -f, --forwardable β€” obtain a ticket that can be forwarded to another host. she's traveling ✈️
  • -F, --no-forwardable β€” do not obtain a forwardable ticket. stay home. no trips. periodt.
  • -t keytabname, --keytab=keytabname β€” don't ask for a password, just pull the key from the specified keytab instead. no password popup, we love that for us πŸ™ˆ
  • -l time, --lifetime=time β€” specifies the lifetime of the ticket. the argument can be in seconds, or a cuter, more human-readable string like β€˜1h’ ⏰
  • -p, --proxiable β€” request tickets with the proxiable flag set. yes queen, set the flag 🚩
  • -R, --renew β€” try to renew the ticket. the ticket has to have the β€˜renewable’ flag set, and it must not be expired (if it's expired she literally cannot help you, sorry bestie 😭).
  • --renewable β€” the same as --renewable-life, but with an infinite time ✨
  • -r time, --renewable-life=time β€” the max renewable ticket life. the ceiling. the limit. the boundary-setting 🌈
  • -S principal, --server=principal β€” get a ticket for a service other than krbtgt/LOCAL.REALM. going somewhere other than the usual spot πŸ’«
  • -s time, --start-time=time β€” obtain a ticket that starts being valid time seconds into the future. and honestly time can really be a generic time specification, like β€˜1h’ πŸ•
  • -k, --use-keytab β€” the same as --keytab, but with the default keytab name (normally FILE:/etc/krb5.keytab). default queen πŸ‘‘
  • -v, --validate β€” try to validate an invalid ticket. glow-up for a ticket that's not doing so hot πŸ’…
  • -e, --enctypes=enctypes β€” request tickets with this particular enctype.
  • --password-file=filename β€” read the password from the first line of filename. and if the filename is STDIN, the password gets read from the standard input. sneaky but valid πŸ“
  • --fcache-version=version-number β€” create a credentials cache of version version-number.
  • -a, --extra-addresses=enctypes β€” adds a set of addresses that will, in addition to the system's local addresses, be put in the ticket. this can be useful if all the addresses a client can use can't be automatically figured out. one such example is if the client is behind a firewall. also settable via libdefaults/extra_addresses in krb5.conf(5). lowkey a lifesaver behind a firewall 🧱πŸ”₯
  • -A, --no-addresses β€” request a ticket with no addresses. ghost mode πŸ‘»
  • -n, --anonymous β€” request an anonymous ticket. here's the tea: with the default (false) setting of the historical_anon_pkinit configuration parameter, if the principal is specified as @REALM, then anonymous PKINIT will be used to acquire an unauthenticated anonymous ticket, and both the client name and (with fully RFC-comformant KDCs) the realm in the returned ticket will be anonymized. otherwise, authentication proceeds as normal and the anonymous ticket will have only the client name anonymized. with historical_anon_pkinit set to true, the principal is interpreted as a realm even without an at-sign prefix, and it is not possible to obtain authenticated anonymized tickets. πŸ«₯
  • --enterprise β€” parse principal as an enterprise (KRB5-NT-ENTERPRISE) name. enterprise names are email-like principals that are stored in the name part of the principal, and since there are two @ characters the parser needs to know that the first one is not a realm. an example of an enterprise name is β€œlha@e.kth.se@KTH.SE”, and this option is usually used with canonicalize so that the principal returned from the KDC will typically be the real principal name. πŸ’Œ
  • --afslog β€” gets AFS tickets, converts them to version 4 format, and stores them in the kernel. only useful if you have AFS. if you don't have AFS this does nothing for you, bestie πŸ™ˆ

ok so also: the forwardable, proxiable, ticket_life, and renewable_life options can be set to a default value from the appdefaults section in krb5.conf β€” see krb5_appdefault(3). defaults, we love her πŸŽ€

and here's the cute part: if a command is given, kinit will set up new credentials caches, and AFS PAG, and then run the given command. when it finishes, the credentials will be removed. like a lil pop-up shop that closes when you leave πŸ›οΈβœ¨


🌈 ENVIRONMENT 🌈

  • KRB5CCNAME β€” specifies the default credentials cache. this is where your tickets live rent-free 🏑
  • KRB5_CONFIG β€” the file name of krb5.conf, the default being /etc/krb5.conf. πŸ“‚

🫢 SEE ALSO 🫢

go read those too, bestie, they're the supporting cast and they ate πŸ’…


and that's the whole page!! this one came from HEIMDAL, dated April 25, 2006 β€” an absolute icon of a release date, no cap. mwah, go get those tickets πŸŽ€πŸ’–βœ¨