1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195 |
- .\" Man page generated from reStructuredText.
- .
- .TH "KDC.CONF" "5" " " "1.20.1" "MIT Kerberos"
- .SH NAME
- kdc.conf \- Kerberos V5 KDC configuration file
- .
- .nr rst2man-indent-level 0
- .
- .de1 rstReportMargin
- \\$1 \\n[an-margin]
- level \\n[rst2man-indent-level]
- level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
- -
- \\n[rst2man-indent0]
- \\n[rst2man-indent1]
- \\n[rst2man-indent2]
- ..
- .de1 INDENT
- .\" .rstReportMargin pre:
- . RS \\$1
- . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
- . nr rst2man-indent-level +1
- .\" .rstReportMargin post:
- ..
- .de UNINDENT
- . RE
- .\" indent \\n[an-margin]
- .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
- .nr rst2man-indent-level -1
- .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
- .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
- ..
- .sp
- The kdc.conf file supplements krb5.conf(5) for programs which
- are typically only used on a KDC, such as the krb5kdc(8) and
- kadmind(8) daemons and the kdb5_util(8) program.
- Relations documented here may also be specified in krb5.conf; for the
- KDC programs mentioned, krb5.conf and kdc.conf will be merged into a
- single configuration profile.
- .sp
- Normally, the kdc.conf file is found in the KDC state directory,
- \fB/croot/krb5_1686930994487/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/var\fP\fB/krb5kdc\fP\&. You can override the default location by setting the
- environment variable \fBKRB5_KDC_PROFILE\fP\&.
- .sp
- Please note that you need to restart the KDC daemon for any configuration
- changes to take effect.
- .SH STRUCTURE
- .sp
- The kdc.conf file is set up in the same format as the
- krb5.conf(5) file.
- .SH SECTIONS
- .sp
- The kdc.conf file may contain the following sections:
- .TS
- center;
- |l|l|.
- _
- T{
- \fI\%[kdcdefaults]\fP
- T} T{
- Default values for KDC behavior
- T}
- _
- T{
- \fI\%[realms]\fP
- T} T{
- Realm\-specific database configuration and settings
- T}
- _
- T{
- \fI\%[dbdefaults]\fP
- T} T{
- Default database settings
- T}
- _
- T{
- \fI\%[dbmodules]\fP
- T} T{
- Per\-database settings
- T}
- _
- T{
- \fI\%[logging]\fP
- T} T{
- Controls how Kerberos daemons perform logging
- T}
- _
- .TE
- .SS [kdcdefaults]
- .sp
- Some relations in the [kdcdefaults] section specify default values for
- realm variables, to be used if the [realms] subsection does not
- contain a relation for the tag. See the \fI\%[realms]\fP section for
- the definitions of these relations.
- .INDENT 0.0
- .IP \(bu 2
- \fBhost_based_services\fP
- .IP \(bu 2
- \fBkdc_listen\fP
- .IP \(bu 2
- \fBkdc_ports\fP
- .IP \(bu 2
- \fBkdc_tcp_listen\fP
- .IP \(bu 2
- \fBkdc_tcp_ports\fP
- .IP \(bu 2
- \fBno_host_referral\fP
- .IP \(bu 2
- \fBrestrict_anonymous_to_tgt\fP
- .UNINDENT
- .sp
- The following [kdcdefaults] variables have no per\-realm equivalent:
- .INDENT 0.0
- .TP
- \fBkdc_max_dgram_reply_size\fP
- Specifies the maximum packet size that can be sent over UDP. The
- default value is 4096 bytes.
- .TP
- \fBkdc_tcp_listen_backlog\fP
- (Integer.) Set the size of the listen queue length for the KDC
- daemon. The value may be limited by OS settings. The default
- value is 5.
- .TP
- \fBspake_preauth_kdc_challenge\fP
- (String.) Specifies the group for a SPAKE optimistic challenge.
- See the \fBspake_preauth_groups\fP variable in libdefaults
- for possible values. The default is not to issue an optimistic
- challenge. (New in release 1.17.)
- .UNINDENT
- .SS [realms]
- .sp
- Each tag in the [realms] section is the name of a Kerberos realm. The
- value of the tag is a subsection where the relations define KDC
- parameters for that particular realm. The following example shows how
- to define one parameter for the ATHENA.MIT.EDU realm:
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .nf
- .ft C
- [realms]
- ATHENA.MIT.EDU = {
- max_renewable_life = 7d 0h 0m 0s
- }
- .ft P
- .fi
- .UNINDENT
- .UNINDENT
- .sp
- The following tags may be specified in a [realms] subsection:
- .INDENT 0.0
- .TP
- \fBacl_file\fP
- (String.) Location of the access control list file that
- kadmind(8) uses to determine which principals are allowed
- which permissions on the Kerberos database. To operate without an
- ACL file, set this relation to the empty string with \fBacl_file =
- ""\fP\&. The default value is \fB/croot/krb5_1686930994487/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/var\fP\fB/krb5kdc\fP\fB/kadm5.acl\fP\&. For more
- information on Kerberos ACL file see kadm5.acl(5)\&.
- .TP
- \fBdatabase_module\fP
- (String.) This relation indicates the name of the configuration
- section under \fI\%[dbmodules]\fP for database\-specific parameters
- used by the loadable database library. The default value is the
- realm name. If this configuration section does not exist, default
- values will be used for all database parameters.
- .TP
- \fBdatabase_name\fP
- (String, deprecated.) This relation specifies the location of the
- Kerberos database for this realm, if the DB2 module is being used
- and the \fI\%[dbmodules]\fP configuration section does not specify a
- database name. The default value is \fB/croot/krb5_1686930994487/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/var\fP\fB/krb5kdc\fP\fB/principal\fP\&.
- .TP
- \fBdefault_principal_expiration\fP
- (abstime string.) Specifies the default expiration date of
- principals created in this realm. The default value is 0, which
- means no expiration date.
- .TP
- \fBdefault_principal_flags\fP
- (Flag string.) Specifies the default attributes of principals
- created in this realm. The format for this string is a
- comma\-separated list of flags, with \(aq+\(aq before each flag that
- should be enabled and \(aq\-\(aq before each flag that should be
- disabled. The \fBpostdateable\fP, \fBforwardable\fP, \fBtgt\-based\fP,
- \fBrenewable\fP, \fBproxiable\fP, \fBdup\-skey\fP, \fBallow\-tickets\fP, and
- \fBservice\fP flags default to enabled.
- .sp
- There are a number of possible flags:
- .INDENT 7.0
- .TP
- \fBallow\-tickets\fP
- Enabling this flag means that the KDC will issue tickets for
- this principal. Disabling this flag essentially deactivates
- the principal within this realm.
- .TP
- \fBdup\-skey\fP
- Enabling this flag allows the KDC to issue user\-to\-user
- service tickets for this principal.
- .TP
- \fBforwardable\fP
- Enabling this flag allows the principal to obtain forwardable
- tickets.
- .TP
- \fBhwauth\fP
- If this flag is enabled, then the principal is required to
- preauthenticate using a hardware device before receiving any
- tickets.
- .TP
- \fBno\-auth\-data\-required\fP
- Enabling this flag prevents PAC or AD\-SIGNEDPATH data from
- being added to service tickets for the principal.
- .TP
- \fBok\-as\-delegate\fP
- If this flag is enabled, it hints the client that credentials
- can and should be delegated when authenticating to the
- service.
- .TP
- \fBok\-to\-auth\-as\-delegate\fP
- Enabling this flag allows the principal to use S4USelf tickets.
- .TP
- \fBpostdateable\fP
- Enabling this flag allows the principal to obtain postdateable
- tickets.
- .TP
- \fBpreauth\fP
- If this flag is enabled on a client principal, then that
- principal is required to preauthenticate to the KDC before
- receiving any tickets. On a service principal, enabling this
- flag means that service tickets for this principal will only
- be issued to clients with a TGT that has the preauthenticated
- bit set.
- .TP
- \fBproxiable\fP
- Enabling this flag allows the principal to obtain proxy
- tickets.
- .TP
- \fBpwchange\fP
- Enabling this flag forces a password change for this
- principal.
- .TP
- \fBpwservice\fP
- If this flag is enabled, it marks this principal as a password
- change service. This should only be used in special cases,
- for example, if a user\(aqs password has expired, then the user
- has to get tickets for that principal without going through
- the normal password authentication in order to be able to
- change the password.
- .TP
- \fBrenewable\fP
- Enabling this flag allows the principal to obtain renewable
- tickets.
- .TP
- \fBservice\fP
- Enabling this flag allows the the KDC to issue service tickets
- for this principal. In release 1.17 and later, user\-to\-user
- service tickets are still allowed if the \fBdup\-skey\fP flag is
- set.
- .TP
- \fBtgt\-based\fP
- Enabling this flag allows a principal to obtain tickets based
- on a ticket\-granting\-ticket, rather than repeating the
- authentication process that was used to obtain the TGT.
- .UNINDENT
- .TP
- \fBdict_file\fP
- (String.) Location of the dictionary file containing strings that
- are not allowed as passwords. The file should contain one string
- per line, with no additional whitespace. If none is specified or
- if there is no policy assigned to the principal, no dictionary
- checks of passwords will be performed.
- .TP
- \fBdisable_pac\fP
- (Boolean value.) If true, the KDC will not issue PACs for this
- realm, and S4U2Self and S4U2Proxy operations will be disabled.
- The default is false, which will permit the KDC to issue PACs.
- New in release 1.20.
- .TP
- \fBencrypted_challenge_indicator\fP
- (String.) Specifies the authentication indicator value that the KDC
- asserts into tickets obtained using FAST encrypted challenge
- pre\-authentication. New in 1.16.
- .TP
- \fBhost_based_services\fP
- (Whitespace\- or comma\-separated list.) Lists services which will
- get host\-based referral processing even if the server principal is
- not marked as host\-based by the client.
- .TP
- \fBiprop_enable\fP
- (Boolean value.) Specifies whether incremental database
- propagation is enabled. The default value is false.
- .TP
- \fBiprop_ulogsize\fP
- (Integer.) Specifies the maximum number of log entries to be
- retained for incremental propagation. The default value is 1000.
- Prior to release 1.11, the maximum value was 2500. New in release
- 1.19.
- .TP
- \fBiprop_master_ulogsize\fP
- The name for \fBiprop_ulogsize\fP prior to release 1.19. Its value is
- used as a fallback if \fBiprop_ulogsize\fP is not specified.
- .TP
- \fBiprop_replica_poll\fP
- (Delta time string.) Specifies how often the replica KDC polls
- for new updates from the primary. The default value is \fB2m\fP
- (that is, two minutes). New in release 1.17.
- .TP
- \fBiprop_slave_poll\fP
- (Delta time string.) The name for \fBiprop_replica_poll\fP prior to
- release 1.17. Its value is used as a fallback if
- \fBiprop_replica_poll\fP is not specified.
- .TP
- \fBiprop_listen\fP
- (Whitespace\- or comma\-separated list.) Specifies the iprop RPC
- listening addresses and/or ports for the kadmind(8) daemon.
- Each entry may be an interface address, a port number, or an
- address and port number separated by a colon. If the address
- contains colons, enclose it in square brackets. If no address is
- specified, the wildcard address is used. If kadmind fails to bind
- to any of the specified addresses, it will fail to start. The
- default (when \fBiprop_enable\fP is true) is to bind to the wildcard
- address at the port specified in \fBiprop_port\fP\&. New in release
- 1.15.
- .TP
- \fBiprop_port\fP
- (Port number.) Specifies the port number to be used for
- incremental propagation. When \fBiprop_enable\fP is true, this
- relation is required in the replica KDC configuration file, and
- this relation or \fBiprop_listen\fP is required in the primary
- configuration file, as there is no default port number. Port
- numbers specified in \fBiprop_listen\fP entries will override this
- port number for the kadmind(8) daemon.
- .TP
- \fBiprop_resync_timeout\fP
- (Delta time string.) Specifies the amount of time to wait for a
- full propagation to complete. This is optional in configuration
- files, and is used by replica KDCs only. The default value is 5
- minutes (\fB5m\fP). New in release 1.11.
- .TP
- \fBiprop_logfile\fP
- (File name.) Specifies where the update log file for the realm
- database is to be stored. The default is to use the
- \fBdatabase_name\fP entry from the realms section of the krb5 config
- file, with \fB\&.ulog\fP appended. (NOTE: If \fBdatabase_name\fP isn\(aqt
- specified in the realms section, perhaps because the LDAP database
- back end is being used, or the file name is specified in the
- [dbmodules] section, then the hard\-coded default for
- \fBdatabase_name\fP is used. Determination of the \fBiprop_logfile\fP
- default value will not use values from the [dbmodules] section.)
- .TP
- \fBkadmind_listen\fP
- (Whitespace\- or comma\-separated list.) Specifies the kadmin RPC
- listening addresses and/or ports for the kadmind(8) daemon.
- Each entry may be an interface address, a port number, or an
- address and port number separated by a colon. If the address
- contains colons, enclose it in square brackets. If no address is
- specified, the wildcard address is used. If kadmind fails to bind
- to any of the specified addresses, it will fail to start. The
- default is to bind to the wildcard address at the port specified
- in \fBkadmind_port\fP, or the standard kadmin port (749). New in
- release 1.15.
- .TP
- \fBkadmind_port\fP
- (Port number.) Specifies the port on which the kadmind(8)
- daemon is to listen for this realm. Port numbers specified in
- \fBkadmind_listen\fP entries will override this port number. The
- assigned port for kadmind is 749, which is used by default.
- .TP
- \fBkey_stash_file\fP
- (String.) Specifies the location where the master key has been
- stored (via kdb5_util stash). The default is \fB/croot/krb5_1686930994487/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/var\fP\fB/krb5kdc\fP\fB/.k5.REALM\fP, where \fIREALM\fP is the Kerberos realm.
- .TP
- \fBkdc_listen\fP
- (Whitespace\- or comma\-separated list.) Specifies the UDP
- listening addresses and/or ports for the krb5kdc(8) daemon.
- Each entry may be an interface address, a port number, or an
- address and port number separated by a colon. If the address
- contains colons, enclose it in square brackets. If no address is
- specified, the wildcard address is used. If no port is specified,
- the standard port (88) is used. If the KDC daemon fails to bind
- to any of the specified addresses, it will fail to start. The
- default is to bind to the wildcard address on the standard port.
- New in release 1.15.
- .TP
- \fBkdc_ports\fP
- (Whitespace\- or comma\-separated list, deprecated.) Prior to
- release 1.15, this relation lists the ports for the
- krb5kdc(8) daemon to listen on for UDP requests. In
- release 1.15 and later, it has the same meaning as \fBkdc_listen\fP
- if that relation is not defined.
- .TP
- \fBkdc_tcp_listen\fP
- (Whitespace\- or comma\-separated list.) Specifies the TCP
- listening addresses and/or ports for the krb5kdc(8) daemon.
- Each entry may be an interface address, a port number, or an
- address and port number separated by a colon. If the address
- contains colons, enclose it in square brackets. If no address is
- specified, the wildcard address is used. If no port is specified,
- the standard port (88) is used. To disable listening on TCP, set
- this relation to the empty string with \fBkdc_tcp_listen = ""\fP\&.
- If the KDC daemon fails to bind to any of the specified addresses,
- it will fail to start. The default is to bind to the wildcard
- address on the standard port. New in release 1.15.
- .TP
- \fBkdc_tcp_ports\fP
- (Whitespace\- or comma\-separated list, deprecated.) Prior to
- release 1.15, this relation lists the ports for the
- krb5kdc(8) daemon to listen on for UDP requests. In
- release 1.15 and later, it has the same meaning as
- \fBkdc_tcp_listen\fP if that relation is not defined.
- .TP
- \fBkpasswd_listen\fP
- (Comma\-separated list.) Specifies the kpasswd listening addresses
- and/or ports for the kadmind(8) daemon. Each entry may be
- an interface address, a port number, or an address and port number
- separated by a colon. If the address contains colons, enclose it
- in square brackets. If no address is specified, the wildcard
- address is used. If kadmind fails to bind to any of the specified
- addresses, it will fail to start. The default is to bind to the
- wildcard address at the port specified in \fBkpasswd_port\fP, or the
- standard kpasswd port (464). New in release 1.15.
- .TP
- \fBkpasswd_port\fP
- (Port number.) Specifies the port on which the kadmind(8)
- daemon is to listen for password change requests for this realm.
- Port numbers specified in \fBkpasswd_listen\fP entries will override
- this port number. The assigned port for password change requests
- is 464, which is used by default.
- .TP
- \fBmaster_key_name\fP
- (String.) Specifies the name of the principal associated with the
- master key. The default is \fBK/M\fP\&.
- .TP
- \fBmaster_key_type\fP
- (Key type string.) Specifies the master key\(aqs key type. The
- default value for this is \fBaes256\-cts\-hmac\-sha1\-96\fP\&. For a list of all possible
- values, see \fI\%Encryption types\fP\&.
- .TP
- \fBmax_life\fP
- (duration string.) Specifies the maximum time period for
- which a ticket may be valid in this realm. The default value is
- 24 hours.
- .TP
- \fBmax_renewable_life\fP
- (duration string.) Specifies the maximum time period
- during which a valid ticket may be renewed in this realm.
- The default value is 0.
- .TP
- \fBno_host_referral\fP
- (Whitespace\- or comma\-separated list.) Lists services to block
- from getting host\-based referral processing, even if the client
- marks the server principal as host\-based or the service is also
- listed in \fBhost_based_services\fP\&. \fBno_host_referral = *\fP will
- disable referral processing altogether.
- .TP
- \fBreject_bad_transit\fP
- (Boolean value.) If set to true, the KDC will check the list of
- transited realms for cross\-realm tickets against the transit path
- computed from the realm names and the capaths section of its
- krb5.conf(5) file; if the path in the ticket to be issued
- contains any realms not in the computed path, the ticket will not
- be issued, and an error will be returned to the client instead.
- If this value is set to false, such tickets will be issued
- anyways, and it will be left up to the application server to
- validate the realm transit path.
- .sp
- If the disable\-transited\-check flag is set in the incoming
- request, this check is not performed at all. Having the
- \fBreject_bad_transit\fP option will cause such ticket requests to
- be rejected always.
- .sp
- This transit path checking and config file option currently apply
- only to TGS requests.
- .sp
- The default value is true.
- .TP
- \fBrestrict_anonymous_to_tgt\fP
- (Boolean value.) If set to true, the KDC will reject ticket
- requests from anonymous principals to service principals other
- than the realm\(aqs ticket\-granting service. This option allows
- anonymous PKINIT to be enabled for use as FAST armor tickets
- without allowing anonymous authentication to services. The
- default value is false. New in release 1.9.
- .TP
- \fBspake_preauth_indicator\fP
- (String.) Specifies an authentication indicator value that the
- KDC asserts into tickets obtained using SPAKE pre\-authentication.
- The default is not to add any indicators. This option may be
- specified multiple times. New in release 1.17.
- .TP
- \fBsupported_enctypes\fP
- (List of \fIkey\fP:\fIsalt\fP strings.) Specifies the default key/salt
- combinations of principals for this realm. Any principals created
- through kadmin(1) will have keys of these types. The
- default value for this tag is \fBaes256\-cts\-hmac\-sha1\-96:normal aes128\-cts\-hmac\-sha1\-96:normal\fP\&. For lists of
- possible values, see \fI\%Keysalt lists\fP\&.
- .UNINDENT
- .SS [dbdefaults]
- .sp
- The [dbdefaults] section specifies default values for some database
- parameters, to be used if the [dbmodules] subsection does not contain
- a relation for the tag. See the \fI\%[dbmodules]\fP section for the
- definitions of these relations.
- .INDENT 0.0
- .IP \(bu 2
- \fBldap_kerberos_container_dn\fP
- .IP \(bu 2
- \fBldap_kdc_dn\fP
- .IP \(bu 2
- \fBldap_kdc_sasl_authcid\fP
- .IP \(bu 2
- \fBldap_kdc_sasl_authzid\fP
- .IP \(bu 2
- \fBldap_kdc_sasl_mech\fP
- .IP \(bu 2
- \fBldap_kdc_sasl_realm\fP
- .IP \(bu 2
- \fBldap_kadmind_dn\fP
- .IP \(bu 2
- \fBldap_kadmind_sasl_authcid\fP
- .IP \(bu 2
- \fBldap_kadmind_sasl_authzid\fP
- .IP \(bu 2
- \fBldap_kadmind_sasl_mech\fP
- .IP \(bu 2
- \fBldap_kadmind_sasl_realm\fP
- .IP \(bu 2
- \fBldap_service_password_file\fP
- .IP \(bu 2
- \fBldap_conns_per_server\fP
- .UNINDENT
- .SS [dbmodules]
- .sp
- The [dbmodules] section contains parameters used by the KDC database
- library and database modules. Each tag in the [dbmodules] section is
- the name of a Kerberos realm or a section name specified by a realm\(aqs
- \fBdatabase_module\fP parameter. The following example shows how to
- define one database parameter for the ATHENA.MIT.EDU realm:
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .nf
- .ft C
- [dbmodules]
- ATHENA.MIT.EDU = {
- disable_last_success = true
- }
- .ft P
- .fi
- .UNINDENT
- .UNINDENT
- .sp
- The following tags may be specified in a [dbmodules] subsection:
- .INDENT 0.0
- .TP
- \fBdatabase_name\fP
- This DB2\-specific tag indicates the location of the database in
- the filesystem. The default is \fB/croot/krb5_1686930994487/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/var\fP\fB/krb5kdc\fP\fB/principal\fP\&.
- .TP
- \fBdb_library\fP
- This tag indicates the name of the loadable database module. The
- value should be \fBdb2\fP for the DB2 module, \fBklmdb\fP for the LMDB
- module, or \fBkldap\fP for the LDAP module.
- .TP
- \fBdisable_last_success\fP
- If set to \fBtrue\fP, suppresses KDC updates to the "Last successful
- authentication" field of principal entries requiring
- preauthentication. Setting this flag may improve performance.
- (Principal entries which do not require preauthentication never
- update the "Last successful authentication" field.). First
- introduced in release 1.9.
- .TP
- \fBdisable_lockout\fP
- If set to \fBtrue\fP, suppresses KDC updates to the "Last failed
- authentication" and "Failed password attempts" fields of principal
- entries requiring preauthentication. Setting this flag may
- improve performance, but also disables account lockout. First
- introduced in release 1.9.
- .TP
- \fBldap_conns_per_server\fP
- This LDAP\-specific tag indicates the number of connections to be
- maintained per LDAP server.
- .TP
- \fBldap_kdc_dn\fP and \fBldap_kadmind_dn\fP
- These LDAP\-specific tags indicate the default DN for binding to
- the LDAP server. The krb5kdc(8) daemon uses
- \fBldap_kdc_dn\fP, while the kadmind(8) daemon and other
- administrative programs use \fBldap_kadmind_dn\fP\&. The kadmind DN
- must have the rights to read and write the Kerberos data in the
- LDAP database. The KDC DN must have the same rights, unless
- \fBdisable_lockout\fP and \fBdisable_last_success\fP are true, in
- which case it only needs to have rights to read the Kerberos data.
- These tags are ignored if a SASL mechanism is set with
- \fBldap_kdc_sasl_mech\fP or \fBldap_kadmind_sasl_mech\fP\&.
- .TP
- \fBldap_kdc_sasl_mech\fP and \fBldap_kadmind_sasl_mech\fP
- These LDAP\-specific tags specify the SASL mechanism (such as
- \fBEXTERNAL\fP) to use when binding to the LDAP server. New in
- release 1.13.
- .TP
- \fBldap_kdc_sasl_authcid\fP and \fBldap_kadmind_sasl_authcid\fP
- These LDAP\-specific tags specify the SASL authentication identity
- to use when binding to the LDAP server. Not all SASL mechanisms
- require an authentication identity. If the SASL mechanism
- requires a secret (such as the password for \fBDIGEST\-MD5\fP), these
- tags also determine the name within the
- \fBldap_service_password_file\fP where the secret is stashed. New
- in release 1.13.
- .TP
- \fBldap_kdc_sasl_authzid\fP and \fBldap_kadmind_sasl_authzid\fP
- These LDAP\-specific tags specify the SASL authorization identity
- to use when binding to the LDAP server. In most circumstances
- they do not need to be specified. New in release 1.13.
- .TP
- \fBldap_kdc_sasl_realm\fP and \fBldap_kadmind_sasl_realm\fP
- These LDAP\-specific tags specify the SASL realm to use when
- binding to the LDAP server. In most circumstances they do not
- need to be set. New in release 1.13.
- .TP
- \fBldap_kerberos_container_dn\fP
- This LDAP\-specific tag indicates the DN of the container object
- where the realm objects will be located.
- .TP
- \fBldap_servers\fP
- This LDAP\-specific tag indicates the list of LDAP servers that the
- Kerberos servers can connect to. The list of LDAP servers is
- whitespace\-separated. The LDAP server is specified by a LDAP URI.
- It is recommended to use \fBldapi:\fP or \fBldaps:\fP URLs to connect
- to the LDAP server.
- .TP
- \fBldap_service_password_file\fP
- This LDAP\-specific tag indicates the file containing the stashed
- passwords (created by \fBkdb5_ldap_util stashsrvpw\fP) for the
- \fBldap_kdc_dn\fP and \fBldap_kadmind_dn\fP objects, or for the
- \fBldap_kdc_sasl_authcid\fP or \fBldap_kadmind_sasl_authcid\fP names
- for SASL authentication. This file must be kept secure.
- .TP
- \fBmapsize\fP
- This LMDB\-specific tag indicates the maximum size of the two
- database environments in megabytes. The default value is 128.
- Increase this value to address "Environment mapsize limit reached"
- errors. New in release 1.17.
- .TP
- \fBmax_readers\fP
- This LMDB\-specific tag indicates the maximum number of concurrent
- reading processes for the databases. The default value is 128.
- New in release 1.17.
- .TP
- \fBnosync\fP
- This LMDB\-specific tag can be set to improve the throughput of
- kadmind and other administrative agents, at the expense of
- durability (recent database changes may not survive a power outage
- or other sudden reboot). It does not affect the throughput of the
- KDC. The default value is false. New in release 1.17.
- .TP
- \fBunlockiter\fP
- If set to \fBtrue\fP, this DB2\-specific tag causes iteration
- operations to release the database lock while processing each
- principal. Setting this flag to \fBtrue\fP can prevent extended
- blocking of KDC or kadmin operations when dumps of large databases
- are in progress. First introduced in release 1.13.
- .UNINDENT
- .sp
- The following tag may be specified directly in the [dbmodules]
- section to control where database modules are loaded from:
- .INDENT 0.0
- .TP
- \fBdb_module_dir\fP
- This tag controls where the plugin system looks for database
- modules. The value should be an absolute path.
- .UNINDENT
- .SS [logging]
- .sp
- The [logging] section indicates how krb5kdc(8) and
- kadmind(8) perform logging. It may contain the following
- relations:
- .INDENT 0.0
- .TP
- \fBadmin_server\fP
- Specifies how kadmind(8) performs logging.
- .TP
- \fBkdc\fP
- Specifies how krb5kdc(8) performs logging.
- .TP
- \fBdefault\fP
- Specifies how either daemon performs logging in the absence of
- relations specific to the daemon.
- .TP
- \fBdebug\fP
- (Boolean value.) Specifies whether debugging messages are
- included in log outputs other than SYSLOG. Debugging messages are
- always included in the system log output because syslog performs
- its own priority filtering. The default value is false. New in
- release 1.15.
- .UNINDENT
- .sp
- Logging specifications may have the following forms:
- .INDENT 0.0
- .TP
- \fBFILE=\fP\fIfilename\fP or \fBFILE:\fP\fIfilename\fP
- This value causes the daemon\(aqs logging messages to go to the
- \fIfilename\fP\&. If the \fB=\fP form is used, the file is overwritten.
- If the \fB:\fP form is used, the file is appended to.
- .TP
- \fBSTDERR\fP
- This value causes the daemon\(aqs logging messages to go to its
- standard error stream.
- .TP
- \fBCONSOLE\fP
- This value causes the daemon\(aqs logging messages to go to the
- console, if the system supports it.
- .TP
- \fBDEVICE=\fP\fI<devicename>\fP
- This causes the daemon\(aqs logging messages to go to the specified
- device.
- .TP
- \fBSYSLOG\fP[\fB:\fP\fIseverity\fP[\fB:\fP\fIfacility\fP]]
- This causes the daemon\(aqs logging messages to go to the system log.
- .sp
- For backward compatibility, a severity argument may be specified,
- and must be specified in order to specify a facility. This
- argument will be ignored.
- .sp
- The facility argument specifies the facility under which the
- messages are logged. This may be any of the following facilities
- supported by the syslog(3) call minus the LOG_ prefix: \fBKERN\fP,
- \fBUSER\fP, \fBMAIL\fP, \fBDAEMON\fP, \fBAUTH\fP, \fBLPR\fP, \fBNEWS\fP,
- \fBUUCP\fP, \fBCRON\fP, and \fBLOCAL0\fP through \fBLOCAL7\fP\&. If no
- facility is specified, the default is \fBAUTH\fP\&.
- .UNINDENT
- .sp
- In the following example, the logging messages from the KDC will go to
- the console and to the system log under the facility LOG_DAEMON, and
- the logging messages from the administrative server will be appended
- to the file \fB/var/adm/kadmin.log\fP and sent to the device
- \fB/dev/tty04\fP\&.
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .nf
- .ft C
- [logging]
- kdc = CONSOLE
- kdc = SYSLOG:INFO:DAEMON
- admin_server = FILE:/var/adm/kadmin.log
- admin_server = DEVICE=/dev/tty04
- .ft P
- .fi
- .UNINDENT
- .UNINDENT
- .sp
- If no logging specification is given, the default is to use syslog.
- To disable logging entirely, specify \fBdefault = DEVICE=/dev/null\fP\&.
- .SS [otp]
- .sp
- Each subsection of [otp] is the name of an OTP token type. The tags
- within the subsection define the configuration required to forward a
- One Time Password request to a RADIUS server.
- .sp
- For each token type, the following tags may be specified:
- .INDENT 0.0
- .TP
- \fBserver\fP
- This is the server to send the RADIUS request to. It can be a
- hostname with optional port, an ip address with optional port, or
- a Unix domain socket address. The default is
- \fB/croot/krb5_1686930994487/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/var\fP\fB/krb5kdc\fP\fB/<name>.socket\fP\&.
- .TP
- \fBsecret\fP
- This tag indicates a filename (which may be relative to \fB/croot/krb5_1686930994487/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/var\fP\fB/krb5kdc\fP)
- containing the secret used to encrypt the RADIUS packets. The
- secret should appear in the first line of the file by itself;
- leading and trailing whitespace on the line will be removed. If
- the value of \fBserver\fP is a Unix domain socket address, this tag
- is optional, and an empty secret will be used if it is not
- specified. Otherwise, this tag is required.
- .TP
- \fBtimeout\fP
- An integer which specifies the time in seconds during which the
- KDC should attempt to contact the RADIUS server. This tag is the
- total time across all retries and should be less than the time
- which an OTP value remains valid for. The default is 5 seconds.
- .TP
- \fBretries\fP
- This tag specifies the number of retries to make to the RADIUS
- server. The default is 3 retries (4 tries).
- .TP
- \fBstrip_realm\fP
- If this tag is \fBtrue\fP, the principal without the realm will be
- passed to the RADIUS server. Otherwise, the realm will be
- included. The default value is \fBtrue\fP\&.
- .TP
- \fBindicator\fP
- This tag specifies an authentication indicator to be included in
- the ticket if this token type is used to authenticate. This
- option may be specified multiple times. (New in release 1.14.)
- .UNINDENT
- .sp
- In the following example, requests are sent to a remote server via UDP:
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .nf
- .ft C
- [otp]
- MyRemoteTokenType = {
- server = radius.mydomain.com:1812
- secret = SEmfiajf42$
- timeout = 15
- retries = 5
- strip_realm = true
- }
- .ft P
- .fi
- .UNINDENT
- .UNINDENT
- .sp
- An implicit default token type named \fBDEFAULT\fP is defined for when
- the per\-principal configuration does not specify a token type. Its
- configuration is shown below. You may override this token type to
- something applicable for your situation:
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .nf
- .ft C
- [otp]
- DEFAULT = {
- strip_realm = false
- }
- .ft P
- .fi
- .UNINDENT
- .UNINDENT
- .SH PKINIT OPTIONS
- .sp
- \fBNOTE:\fP
- .INDENT 0.0
- .INDENT 3.5
- The following are pkinit\-specific options. These values may
- be specified in [kdcdefaults] as global defaults, or within
- a realm\-specific subsection of [realms]. Also note that a
- realm\-specific value over\-rides, does not add to, a generic
- [kdcdefaults] specification. The search order is:
- .UNINDENT
- .UNINDENT
- .INDENT 0.0
- .IP 1. 3
- realm\-specific subsection of [realms]:
- .INDENT 3.0
- .INDENT 3.5
- .sp
- .nf
- .ft C
- [realms]
- EXAMPLE.COM = {
- pkinit_anchors = FILE:/usr/local/example.com.crt
- }
- .ft P
- .fi
- .UNINDENT
- .UNINDENT
- .IP 2. 3
- generic value in the [kdcdefaults] section:
- .INDENT 3.0
- .INDENT 3.5
- .sp
- .nf
- .ft C
- [kdcdefaults]
- pkinit_anchors = DIR:/usr/local/generic_trusted_cas/
- .ft P
- .fi
- .UNINDENT
- .UNINDENT
- .UNINDENT
- .sp
- For information about the syntax of some of these options, see
- Specifying PKINIT identity information in
- krb5.conf(5)\&.
- .INDENT 0.0
- .TP
- \fBpkinit_anchors\fP
- Specifies the location of trusted anchor (root) certificates which
- the KDC trusts to sign client certificates. This option is
- required if pkinit is to be supported by the KDC. This option may
- be specified multiple times.
- .TP
- \fBpkinit_dh_min_bits\fP
- Specifies the minimum number of bits the KDC is willing to accept
- for a client\(aqs Diffie\-Hellman key. The default is 2048.
- .TP
- \fBpkinit_allow_upn\fP
- Specifies that the KDC is willing to accept client certificates
- with the Microsoft UserPrincipalName (UPN) Subject Alternative
- Name (SAN). This means the KDC accepts the binding of the UPN in
- the certificate to the Kerberos principal name. The default value
- is false.
- .sp
- Without this option, the KDC will only accept certificates with
- the id\-pkinit\-san as defined in \fI\%RFC 4556\fP\&. There is currently
- no option to disable SAN checking in the KDC.
- .TP
- \fBpkinit_eku_checking\fP
- This option specifies what Extended Key Usage (EKU) values the KDC
- is willing to accept in client certificates. The values
- recognized in the kdc.conf file are:
- .INDENT 7.0
- .TP
- \fBkpClientAuth\fP
- This is the default value and specifies that client
- certificates must have the id\-pkinit\-KPClientAuth EKU as
- defined in \fI\%RFC 4556\fP\&.
- .TP
- \fBscLogin\fP
- If scLogin is specified, client certificates with the
- Microsoft Smart Card Login EKU (id\-ms\-kp\-sc\-logon) will be
- accepted.
- .TP
- \fBnone\fP
- If none is specified, then client certificates will not be
- checked to verify they have an acceptable EKU. The use of
- this option is not recommended.
- .UNINDENT
- .TP
- \fBpkinit_identity\fP
- Specifies the location of the KDC\(aqs X.509 identity information.
- This option is required if pkinit is to be supported by the KDC.
- .TP
- \fBpkinit_indicator\fP
- Specifies an authentication indicator to include in the ticket if
- pkinit is used to authenticate. This option may be specified
- multiple times. (New in release 1.14.)
- .TP
- \fBpkinit_pool\fP
- Specifies the location of intermediate certificates which may be
- used by the KDC to complete the trust chain between a client\(aqs
- certificate and a trusted anchor. This option may be specified
- multiple times.
- .TP
- \fBpkinit_revoke\fP
- Specifies the location of Certificate Revocation List (CRL)
- information to be used by the KDC when verifying the validity of
- client certificates. This option may be specified multiple times.
- .TP
- \fBpkinit_require_crl_checking\fP
- The default certificate verification process will always check the
- available revocation information to see if a certificate has been
- revoked. If a match is found for the certificate in a CRL,
- verification fails. If the certificate being verified is not
- listed in a CRL, or there is no CRL present for its issuing CA,
- and \fBpkinit_require_crl_checking\fP is false, then verification
- succeeds.
- .sp
- However, if \fBpkinit_require_crl_checking\fP is true and there is
- no CRL information available for the issuing CA, then verification
- fails.
- .sp
- \fBpkinit_require_crl_checking\fP should be set to true if the
- policy is such that up\-to\-date CRLs must be present for every CA.
- .TP
- \fBpkinit_require_freshness\fP
- Specifies whether to require clients to include a freshness token
- in PKINIT requests. The default value is false. (New in release
- 1.17.)
- .UNINDENT
- .SH ENCRYPTION TYPES
- .sp
- Any tag in the configuration files which requires a list of encryption
- types can be set to some combination of the following strings.
- Encryption types marked as "weak" and "deprecated" are available for
- compatibility but not recommended for use.
- .TS
- center;
- |l|l|.
- _
- T{
- des3\-cbc\-raw
- T} T{
- Triple DES cbc mode raw (weak)
- T}
- _
- T{
- des3\-cbc\-sha1 des3\-hmac\-sha1 des3\-cbc\-sha1\-kd
- T} T{
- Triple DES cbc mode with HMAC/sha1 (deprecated)
- T}
- _
- T{
- aes256\-cts\-hmac\-sha1\-96 aes256\-cts aes256\-sha1
- T} T{
- AES\-256 CTS mode with 96\-bit SHA\-1 HMAC
- T}
- _
- T{
- aes128\-cts\-hmac\-sha1\-96 aes128\-cts aes128\-sha1
- T} T{
- AES\-128 CTS mode with 96\-bit SHA\-1 HMAC
- T}
- _
- T{
- aes256\-cts\-hmac\-sha384\-192 aes256\-sha2
- T} T{
- AES\-256 CTS mode with 192\-bit SHA\-384 HMAC
- T}
- _
- T{
- aes128\-cts\-hmac\-sha256\-128 aes128\-sha2
- T} T{
- AES\-128 CTS mode with 128\-bit SHA\-256 HMAC
- T}
- _
- T{
- arcfour\-hmac rc4\-hmac arcfour\-hmac\-md5
- T} T{
- RC4 with HMAC/MD5 (deprecated)
- T}
- _
- T{
- arcfour\-hmac\-exp rc4\-hmac\-exp arcfour\-hmac\-md5\-exp
- T} T{
- Exportable RC4 with HMAC/MD5 (weak)
- T}
- _
- T{
- camellia256\-cts\-cmac camellia256\-cts
- T} T{
- Camellia\-256 CTS mode with CMAC
- T}
- _
- T{
- camellia128\-cts\-cmac camellia128\-cts
- T} T{
- Camellia\-128 CTS mode with CMAC
- T}
- _
- T{
- des3
- T} T{
- The triple DES family: des3\-cbc\-sha1
- T}
- _
- T{
- aes
- T} T{
- The AES family: aes256\-cts\-hmac\-sha1\-96, aes128\-cts\-hmac\-sha1\-96, aes256\-cts\-hmac\-sha384\-192, and aes128\-cts\-hmac\-sha256\-128
- T}
- _
- T{
- rc4
- T} T{
- The RC4 family: arcfour\-hmac
- T}
- _
- T{
- camellia
- T} T{
- The Camellia family: camellia256\-cts\-cmac and camellia128\-cts\-cmac
- T}
- _
- .TE
- .sp
- The string \fBDEFAULT\fP can be used to refer to the default set of
- types for the variable in question. Types or families can be removed
- from the current list by prefixing them with a minus sign ("\-").
- Types or families can be prefixed with a plus sign ("+") for symmetry;
- it has the same meaning as just listing the type or family. For
- example, "\fBDEFAULT \-rc4\fP" would be the default set of encryption
- types with RC4 types removed, and "\fBdes3 DEFAULT\fP" would be the
- default set of encryption types with triple DES types moved to the
- front.
- .sp
- While \fBaes128\-cts\fP and \fBaes256\-cts\fP are supported for all Kerberos
- operations, they are not supported by very old versions of our GSSAPI
- implementation (krb5\-1.3.1 and earlier). Services running versions of
- krb5 without AES support must not be given keys of these encryption
- types in the KDC database.
- .sp
- The \fBaes128\-sha2\fP and \fBaes256\-sha2\fP encryption types are new in
- release 1.15. Services running versions of krb5 without support for
- these newer encryption types must not be given keys of these
- encryption types in the KDC database.
- .SH KEYSALT LISTS
- .sp
- Kerberos keys for users are usually derived from passwords. Kerberos
- commands and configuration parameters that affect generation of keys
- take lists of enctype\-salttype ("keysalt") pairs, known as \fIkeysalt
- lists\fP\&. Each keysalt pair is an enctype name followed by a salttype
- name, in the format \fIenc\fP:\fIsalt\fP\&. Individual keysalt list members are
- separated by comma (",") characters or space characters. For example:
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .nf
- .ft C
- kadmin \-e aes256\-cts:normal,aes128\-cts:normal
- .ft P
- .fi
- .UNINDENT
- .UNINDENT
- .sp
- would start up kadmin so that by default it would generate
- password\-derived keys for the \fBaes256\-cts\fP and \fBaes128\-cts\fP
- encryption types, using a \fBnormal\fP salt.
- .sp
- To ensure that people who happen to pick the same password do not have
- the same key, Kerberos 5 incorporates more information into the key
- using something called a salt. The supported salt types are as
- follows:
- .TS
- center;
- |l|l|.
- _
- T{
- normal
- T} T{
- default for Kerberos Version 5
- T}
- _
- T{
- norealm
- T} T{
- same as the default, without using realm information
- T}
- _
- T{
- onlyrealm
- T} T{
- uses only realm information as the salt
- T}
- _
- T{
- special
- T} T{
- generate a random salt
- T}
- _
- .TE
- .SH SAMPLE KDC.CONF FILE
- .sp
- Here\(aqs an example of a kdc.conf file:
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .nf
- .ft C
- [kdcdefaults]
- kdc_listen = 88
- kdc_tcp_listen = 88
- [realms]
- ATHENA.MIT.EDU = {
- kadmind_port = 749
- max_life = 12h 0m 0s
- max_renewable_life = 7d 0h 0m 0s
- master_key_type = aes256\-cts\-hmac\-sha1\-96
- supported_enctypes = aes256\-cts\-hmac\-sha1\-96:normal aes128\-cts\-hmac\-sha1\-96:normal
- database_module = openldap_ldapconf
- }
- [logging]
- kdc = FILE:/usr/local/var/krb5kdc/kdc.log
- admin_server = FILE:/usr/local/var/krb5kdc/kadmin.log
- [dbdefaults]
- ldap_kerberos_container_dn = cn=krbcontainer,dc=mit,dc=edu
- [dbmodules]
- openldap_ldapconf = {
- db_library = kldap
- disable_last_success = true
- ldap_kdc_dn = "cn=krbadmin,dc=mit,dc=edu"
- # this object needs to have read rights on
- # the realm container and principal subtrees
- ldap_kadmind_dn = "cn=krbadmin,dc=mit,dc=edu"
- # this object needs to have read and write rights on
- # the realm container and principal subtrees
- ldap_service_password_file = /etc/kerberos/service.keyfile
- ldap_servers = ldaps://kerberos.mit.edu
- ldap_conns_per_server = 5
- }
- .ft P
- .fi
- .UNINDENT
- .UNINDENT
- .SH FILES
- .sp
- \fB/croot/krb5_1686930994487/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/var\fP\fB/krb5kdc\fP\fB/kdc.conf\fP
- .SH SEE ALSO
- .sp
- krb5.conf(5), krb5kdc(8), kadm5.acl(5)
- .SH AUTHOR
- MIT
- .SH COPYRIGHT
- 1985-2022, MIT
- .\" Generated by docutils manpage writer.
- .
|