KLOGIND(8)
π klogind β remote login server π
okay bestie, welcome to the klogind(8) page β yes, the all-caps footer calls it KLOGIND(8) β from the System Manager's Manual. Buckle up: Kerberos, rlogin, pseudo terminals, and a whole pile of flags. No cap, itβs giving βold-school network daemon with main character energy.β π«Ά
β¨ NAME β¨
klogind β remote login server β¨
πΈ SYNOPSIS πΈ
klogind [ -rcpPef ] [[ -w[ip|maxhostlen[,[no]striplocal ]] ] [ -D port ]
quick vibe check on the synopsis: yes, -r and -p are both in there. The page only namechecks -p later in the password-prompt step, and it doesnβt give -r its own description here β so Iβm not inventing anything, bestie. π
π¦ DESCRIPTION π¦
Klogind is the server for the rlogin(1) program. The server is based on rlogind(8) but uses Kerberos authentication.
The klogind server is invoked by inetd(8) when it receives a connection on the port indicated in /etc/inetd.conf. A typical /etc/inetd.conf configuration line for klogind might be:
klogin stream tcp nowait root /usr/lib/mit/sbin/klogind klogind -e5c
When a service request is received, the following protocol is initiated:
- Check authentication.
- Check authorization via the access-control files
.k5loginand.kloginin the userβs home directory. - Prompt for password if any checks fail and the
-poption was supplied.
If the authentication succeeds, login the user by calling the accompanying login.krb5.
klogind allows Kerberos V5 authentication with the .k5login access control file to be trusted. If this authorization check is passed, then the user is allowed to log in. If the user has no .k5login file, the login will be authorized if the results of krb5_aname_to_localname conversion matches the account name. Unless special rules are configured, this will be true if and only if the Kerberos principal of the connecting user is in the default local realm and the principal portion matches the account name.
The configuration of klogind is done by command line arguments passed by inetd. The options are:
-Pβ prompt the user for a password. If the-Poption is passed, then the password is verified in addition to all other checks.-eβ create an encrypted session.-cβ require Kerberos V5 clients to present a cryptographic checksum of initial connection information like the name of the user that the client is trying to access in the initial authenticator. This checksum provides additional security by preventing an attacker from changing the initial connection information. If this option is specified, older Kerberos V5 clients that do not send a checksum in the authenticator will not be able to authenticate to this server. This option is mutually exclusive with the-ioption.
If neither the -c or -i options are specified, then checksums are validated if presented. Since it is difficult to remove a checksum from an authenticator without making the authenticator invalid, this default mode is almost as significant of a security improvement as -c if new clients are used. It has the additional advantage of backwards compatibility with some clients. Unfortunately, clients before Kerberos V5, Beta5, generate invalid checksums; if these clients are used, the -i option must be used.
-iβ ignore authenticator checksums if provided. This option ignores authenticator checksums presented by current Kerberos clients to protect initial connection information; it is the opposite of-c. This option is provided because some older clients β particularly clients predating the release of Kerberos V5 Beta5 (May 1995) β present bogus checksums that prevent Kerberos authentication from succeeding in the default mode.
The parent of the login process manipulates the master side of the pseudo terminal, operating as an intermediary between the login process and the client instance of the rlogin(1) program. In normal operation, the packet protocol described in pty(4) is invoked to provide ^S/^Q type facilities and propagate interrupt signals to the remote programs. The login process propagates the client terminalβs baud rate and terminal type, as found in the environment variable TERM; see environ(7). The screen or window size of the terminal is requested from the client, and window size changes from the client are propagated to the pseudo terminal.
Klogind supports the following options to control the form of the hostname passed to login(1):
-w [ip|maxhostlen[,[no]striplocal]]β controls the form of the remote hostname passed tologin(1). Specifyingipresults in the numeric IP address always being passed tologin(1). Specifying a number, _maxhostlen_, sets the maximum length of the hostname passed tologin(1)before it will be passed as a numeric IP address. If _maxhostlen_ is0, then the system default, as determined by theutmporutmpxstructures, is used. Thenostriplocalandstriplocaloptions, which must be preceded by a comma, control whether or not the local host domain is stripped from the remote hostname. By default, the equivalent ofstriplocalis in effect.
Klogind supports five options which are used for testing purposes:
-S keytabβ set the keytab file to use.-M realmβ set the Kerberos realm to use.-L loginβ set the login program to use. This option only has an effect ifDO_NOT_USE_K_LOGINwas not defined whenklogindwas compiled.-D portβ run in standalone mode, listening on _port_. The daemon will exit after one connection and will not background itself.-fβ allows for standalone daemon operation. A new child is started for each incoming connection and waits for it to finish before accepting the next connection. This automagically figures out which port to bind to if no port is specified.
π DIAGNOSTICS π
All diagnostic messages are returned on the connection associated with the stderr, after which any network connections are closed. An error is indicated by a leading byte with a value of 1.
Try again.β a fork by the server failed./bin/sh: ...β the userβs login shell could not be started.
π₯ SEE ALSO π₯
π BUGS π
A more extensible protocol should be used.
okay thatβs the whole page, bestie. Footer check: KLOGIND(8) from the System Managerβs Manual β thatβs the source/version/date situation; no extra date or version was printed in the footer. Slay, go read rlogin(1) responsibly. πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: krb5-appl-servers 1.0.3-bp160.2.1 Β· MIT
- opensuse-leap 16.0: krb5-appl-servers 1.0.3-bp160.2.1 Β· MIT
- opensuse-leap 16.0: krb5-appl-servers 1.0.3-bp160.2.1 Β· MIT
- opensuse-leap 16.0: krb5-appl-servers 1.0.3-bp160.2.1 Β· MIT
- Copyright (c) 1983 Regents of the University of California
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms