klogind(8)

klogind - remote login server

As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.

     NAME
          klogind - remote login server

     SYNOPSIS
          klogind [ -kr54cpPef ] [[ -w[ip|maxhostlen[,[no]striplocal
          ]] ] [ -D port ]

     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/cygnus/sbin/klogind
          klogind -e5c

          When a service request is received, the following protocol
          is initiated:


          1)   Check authentication.

          2)   Check authorization via the access-control files
               .k5login, .klogin and .rhosts in the user's home
               directory.

          3)   Prompt for password if any checks fail and the -p
               option was supplied.

          If the authentication succeeds, login the user by calling
          the accompanying login.krb5 or /bin/login, according to the
          definition of DO_NOT_USE_K_LOGIN.

          The configuration of klogind is done by command line
          arguments passed by inetd.  The options are:

          -5        Allow Kerberos V5 authentication with the .k5login
                    access control file to be trusted.  If this
                    authentication system is used by the client and
                    the authorization check is passed, then the user
                    is allowed to log in.


          -4        Allow Kerberos V4 authentication with the .klogin
                    access control file to be trusted.  If this
                    authentication system is used by the client and
                    the authorization check is passed, then the user
                    is allowed to log in.

          -k        Allow Kerberos V5 and Kerberos V4 as acceptable
                    authentication mechanisms.  This is the same as
                    including -4 and -5.



          -p         If all other authorization checks fail, prompt
                    the user for a password If this option is not
                    included, access is denied without successful
                    authentication and authorization using one of the
                    previous mechanisms.


          -P        Prompt the user for a password.  If the -P option
                    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 additionl
                    security by preventing an attacker from changing
                    the initial connection information.  To benefit
                    from this security, only Kerberos V5 should be
                    trusted; Kerberos V4 and rhosts authentication do
                    not include this checksum.  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 -i option.

                         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 compatability 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 ignore authenticator checksusm 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.



          If the ~/.rhosts check is to be used, then the program
          verifies that the client is connecting from a privileged
          port, before allowing login.


          The parent of the login process manipulates the master side
          of the pseduo 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 to
               login(1).  Specifying ip results in the numeric IP
               address always being passed to login(1).  Specifying a
               number, maxhostlen, sets the maximum length of the
               hostname passed to login(1) before it will be passed as
               a numeric IP address.  If maxhostlen is 0, then the
               system default, as determined by the utmp or utmpx
               structures, is used.  The nostriplocal and striplocal
               options, 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 of
               striplocal is 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 if DO_NOT_USE_K_LOGIN was not
                    defined when klogind was 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
          rlogind(8), rlogin(1)

     BUGS
          A more extensible protocol should be used.