aboutsummaryrefslogtreecommitdiff
path: root/doc/pdf/user.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/pdf/user.tex')
-rw-r--r--doc/pdf/user.tex1923
1 files changed, 0 insertions, 1923 deletions
diff --git a/doc/pdf/user.tex b/doc/pdf/user.tex
deleted file mode 100644
index 15bd75167e60..000000000000
--- a/doc/pdf/user.tex
+++ /dev/null
@@ -1,1923 +0,0 @@
-% Generated by Sphinx.
-\def\sphinxdocclass{report}
-\documentclass[letterpaper,10pt,english]{sphinxmanual}
-\usepackage[utf8]{inputenc}
-\DeclareUnicodeCharacter{00A0}{\nobreakspace}
-\usepackage{cmap}
-\usepackage[T1]{fontenc}
-\usepackage{babel}
-\usepackage{times}
-\usepackage[Bjarne]{fncychap}
-\usepackage{longtable}
-\usepackage{sphinx}
-\usepackage{multirow}
-
-
-\title{Kerberos User Guide}
-\date{ }
-\release{1.16}
-\author{MIT}
-\newcommand{\sphinxlogo}{}
-\renewcommand{\releasename}{Release}
-\makeindex
-
-\makeatletter
-\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
- \let\PYG@ul=\relax \let\PYG@tc=\relax%
- \let\PYG@bc=\relax \let\PYG@ff=\relax}
-\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
-\def\PYG@toks#1+{\ifx\relax#1\empty\else%
- \PYG@tok{#1}\expandafter\PYG@toks\fi}
-\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
- \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
-\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
-
-\expandafter\def\csname PYG@tok@gd\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@gu\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
-\expandafter\def\csname PYG@tok@gt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
-\expandafter\def\csname PYG@tok@gs\endcsname{\let\PYG@bf=\textbf}
-\expandafter\def\csname PYG@tok@gr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@cm\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
-\expandafter\def\csname PYG@tok@vg\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
-\expandafter\def\csname PYG@tok@m\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
-\expandafter\def\csname PYG@tok@mh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
-\expandafter\def\csname PYG@tok@cs\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
-\expandafter\def\csname PYG@tok@ge\endcsname{\let\PYG@it=\textit}
-\expandafter\def\csname PYG@tok@vc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
-\expandafter\def\csname PYG@tok@il\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
-\expandafter\def\csname PYG@tok@go\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.20}{##1}}}
-\expandafter\def\csname PYG@tok@cp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@gi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@gh\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
-\expandafter\def\csname PYG@tok@ni\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.84,0.33,0.22}{##1}}}
-\expandafter\def\csname PYG@tok@nl\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.13,0.44}{##1}}}
-\expandafter\def\csname PYG@tok@nn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
-\expandafter\def\csname PYG@tok@no\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.38,0.68,0.84}{##1}}}
-\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
-\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@nc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
-\expandafter\def\csname PYG@tok@nd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.33,0.33,0.33}{##1}}}
-\expandafter\def\csname PYG@tok@ne\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@nf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.49}{##1}}}
-\expandafter\def\csname PYG@tok@si\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.44,0.63,0.82}{##1}}}
-\expandafter\def\csname PYG@tok@s2\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
-\expandafter\def\csname PYG@tok@vi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
-\expandafter\def\csname PYG@tok@nt\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.45}{##1}}}
-\expandafter\def\csname PYG@tok@nv\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
-\expandafter\def\csname PYG@tok@s1\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
-\expandafter\def\csname PYG@tok@gp\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
-\expandafter\def\csname PYG@tok@sh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
-\expandafter\def\csname PYG@tok@ow\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@sx\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
-\expandafter\def\csname PYG@tok@bp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@c1\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
-\expandafter\def\csname PYG@tok@kc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@c\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
-\expandafter\def\csname PYG@tok@mf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
-\expandafter\def\csname PYG@tok@err\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}
-\expandafter\def\csname PYG@tok@kd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@ss\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.32,0.47,0.09}{##1}}}
-\expandafter\def\csname PYG@tok@sr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.14,0.33,0.53}{##1}}}
-\expandafter\def\csname PYG@tok@mo\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
-\expandafter\def\csname PYG@tok@mi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
-\expandafter\def\csname PYG@tok@kn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@o\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
-\expandafter\def\csname PYG@tok@kr\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@s\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
-\expandafter\def\csname PYG@tok@kp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@w\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
-\expandafter\def\csname PYG@tok@kt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.56,0.13,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@sc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
-\expandafter\def\csname PYG@tok@sb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
-\expandafter\def\csname PYG@tok@k\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@se\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
-\expandafter\def\csname PYG@tok@sd\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
-
-\def\PYGZbs{\char`\\}
-\def\PYGZus{\char`\_}
-\def\PYGZob{\char`\{}
-\def\PYGZcb{\char`\}}
-\def\PYGZca{\char`\^}
-\def\PYGZam{\char`\&}
-\def\PYGZlt{\char`\<}
-\def\PYGZgt{\char`\>}
-\def\PYGZsh{\char`\#}
-\def\PYGZpc{\char`\%}
-\def\PYGZdl{\char`\$}
-\def\PYGZhy{\char`\-}
-\def\PYGZsq{\char`\'}
-\def\PYGZdq{\char`\"}
-\def\PYGZti{\char`\~}
-% for compatibility with earlier versions
-\def\PYGZat{@}
-\def\PYGZlb{[}
-\def\PYGZrb{]}
-\makeatother
-
-\begin{document}
-
-\maketitle
-\tableofcontents
-\phantomsection\label{user/index::doc}
-
-
-
-\chapter{Password management}
-\label{user/pwd_mgmt:for-users}\label{user/pwd_mgmt::doc}\label{user/pwd_mgmt:password-management}
-Your password is the only way Kerberos has of verifying your identity.
-If someone finds out your password, that person can masquerade as
-you---send email that comes from you, read, edit, or delete your files,
-or log into other hosts as you---and no one will be able to tell the
-difference. For this reason, it is important that you choose a good
-password, and keep it secret. If you need to give access to your
-account to someone else, you can do so through Kerberos (see
-{\hyperref[user/pwd_mgmt:grant-access]{\emph{Granting access to your account}}}). You should never tell your password to anyone,
-including your system administrator, for any reason. You should
-change your password frequently, particularly any time you think
-someone may have found out what it is.
-
-
-\section{Changing your password}
-\label{user/pwd_mgmt:changing-your-password}
-To change your Kerberos password, use the {\hyperref[user/user_commands/kpasswd:kpasswd-1]{\emph{kpasswd}}} command.
-It will ask you for your old password (to prevent someone else from
-walking up to your computer when you're not there and changing your
-password), and then prompt you for the new one twice. (The reason you
-have to type it twice is to make sure you have typed it correctly.)
-For example, user \code{david} would do the following:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} kpasswd
-Password for david: \PYGZlt{}\PYGZhy{} Type your old password.
-Enter new password: \PYGZlt{}\PYGZhy{} Type your new password.
-Enter it again: \PYGZlt{}\PYGZhy{} Type the new password again.
-Password changed.
-shell\PYGZpc{}
-\end{Verbatim}
-
-If \code{david} typed the incorrect old password, he would get the
-following message:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} kpasswd
-Password for david: \PYGZlt{}\PYGZhy{} Type the incorrect old password.
-kpasswd: Password incorrect while getting initial ticket
-shell\PYGZpc{}
-\end{Verbatim}
-
-If you make a mistake and don't type the new password the same way
-twice, kpasswd will ask you to try again:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} kpasswd
-Password for david: \PYGZlt{}\PYGZhy{} Type the old password.
-Enter new password: \PYGZlt{}\PYGZhy{} Type the new password.
-Enter it again: \PYGZlt{}\PYGZhy{} Type a different new password.
-kpasswd: Password mismatch while reading password
-shell\PYGZpc{}
-\end{Verbatim}
-
-Once you change your password, it takes some time for the change to
-propagate through the system. Depending on how your system is set up,
-this might be anywhere from a few minutes to an hour or more. If you
-need to get new Kerberos tickets shortly after changing your password,
-try the new password. If the new password doesn't work, try again
-using the old one.
-
-
-\section{Granting access to your account}
-\label{user/pwd_mgmt:grant-access}\label{user/pwd_mgmt:granting-access-to-your-account}
-If you need to give someone access to log into your account, you can
-do so through Kerberos, without telling the person your password.
-Simply create a file called {\hyperref[user/user_config/k5login:k5login-5]{\emph{.k5login}}} in your home directory.
-This file should contain the Kerberos principal of each person to whom
-you wish to give access. Each principal must be on a separate line.
-Here is a sample .k5login file:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-jennifer@ATHENA.MIT.EDU
-david@EXAMPLE.COM
-\end{Verbatim}
-
-This file would allow the users \code{jennifer} and \code{david} to use your
-user ID, provided that they had Kerberos tickets in their respective
-realms. If you will be logging into other hosts across a network, you
-will want to include your own Kerberos principal in your .k5login file
-on each of these hosts.
-
-Using a .k5login file is much safer than giving out your password,
-because:
-\begin{itemize}
-\item {}
-You can take access away any time simply by removing the principal
-from your .k5login file.
-
-\item {}
-Although the user has full access to your account on one particular
-host (or set of hosts if your .k5login file is shared, e.g., over
-NFS), that user does not inherit your network privileges.
-
-\item {}
-Kerberos keeps a log of who obtains tickets, so a system
-administrator could find out, if necessary, who was capable of using
-your user ID at a particular time.
-
-\end{itemize}
-
-One common application is to have a .k5login file in root's home
-directory, giving root access to that machine to the Kerberos
-principals listed. This allows system administrators to allow users
-to become root locally, or to log in remotely as root, without their
-having to give out the root password, and without anyone having to
-type the root password over the network.
-
-
-\section{Password quality verification}
-\label{user/pwd_mgmt:password-quality-verification}
-TODO
-
-
-\chapter{Ticket management}
-\label{user/tkt_mgmt:ticket-management}\label{user/tkt_mgmt::doc}
-On many systems, Kerberos is built into the login program, and you get
-tickets automatically when you log in. Other programs, such as ssh,
-can forward copies of your tickets to a remote host. Most of these
-programs also automatically destroy your tickets when they exit.
-However, MIT recommends that you explicitly destroy your Kerberos
-tickets when you are through with them, just to be sure. One way to
-help ensure that this happens is to add the {\hyperref[user/user_commands/kdestroy:kdestroy-1]{\emph{kdestroy}}} command
-to your .logout file. Additionally, if you are going to be away from
-your machine and are concerned about an intruder using your
-permissions, it is safest to either destroy all copies of your
-tickets, or use a screensaver that locks the screen.
-
-
-\section{Kerberos ticket properties}
-\label{user/tkt_mgmt:kerberos-ticket-properties}
-There are various properties that Kerberos tickets can have:
-
-If a ticket is \textbf{forwardable}, then the KDC can issue a new ticket
-(with a different network address, if necessary) based on the
-forwardable ticket. This allows for authentication forwarding without
-requiring a password to be typed in again. For example, if a user
-with a forwardable TGT logs into a remote system, the KDC could issue
-a new TGT for that user with the network address of the remote system,
-allowing authentication on that host to work as though the user were
-logged in locally.
-
-When the KDC creates a new ticket based on a forwardable ticket, it
-sets the \textbf{forwarded} flag on that new ticket. Any tickets that are
-created based on a ticket with the forwarded flag set will also have
-their forwarded flags set.
-
-A \textbf{proxiable} ticket is similar to a forwardable ticket in that it
-allows a service to take on the identity of the client. Unlike a
-forwardable ticket, however, a proxiable ticket is only issued for
-specific services. In other words, a ticket-granting ticket cannot be
-issued based on a ticket that is proxiable but not forwardable.
-
-A \textbf{proxy} ticket is one that was issued based on a proxiable ticket.
-
-A \textbf{postdated} ticket is issued with the invalid flag set. After the
-starting time listed on the ticket, it can be presented to the KDC to
-obtain valid tickets.
-
-Ticket-granting tickets with the \textbf{postdateable} flag set can be used
-to obtain postdated service tickets.
-
-\textbf{Renewable} tickets can be used to obtain new session keys without
-the user entering their password again. A renewable ticket has two
-expiration times. The first is the time at which this particular
-ticket expires. The second is the latest possible expiration time for
-any ticket issued based on this renewable ticket.
-
-A ticket with the \textbf{initial flag} set was issued based on the
-authentication protocol, and not on a ticket-granting ticket.
-Application servers that wish to ensure that the user's key has been
-recently presented for verification could specify that this flag must
-be set to accept the ticket.
-
-An \textbf{invalid} ticket must be rejected by application servers.
-Postdated tickets are usually issued with this flag set, and must be
-validated by the KDC before they can be used.
-
-A \textbf{preauthenticated} ticket is one that was only issued after the
-client requesting the ticket had authenticated itself to the KDC.
-
-The \textbf{hardware authentication} flag is set on a ticket which required
-the use of hardware for authentication. The hardware is expected to
-be possessed only by the client which requested the tickets.
-
-If a ticket has the \textbf{transit policy} checked flag set, then the KDC
-that issued this ticket implements the transited-realm check policy
-and checked the transited-realms list on the ticket. The
-transited-realms list contains a list of all intermediate realms
-between the realm of the KDC that issued the first ticket and that of
-the one that issued the current ticket. If this flag is not set, then
-the application server must check the transited realms itself or else
-reject the ticket.
-
-The \textbf{okay as delegate} flag indicates that the server specified in
-the ticket is suitable as a delegate as determined by the policy of
-that realm. Some client applications may use this flag to decide
-whether to forward tickets to a remote host, although many
-applications do not honor it.
-
-An \textbf{anonymous} ticket is one in which the named principal is a
-generic principal for that realm; it does not actually specify the
-individual that will be using the ticket. This ticket is meant only
-to securely distribute a session key.
-
-
-\section{Obtaining tickets with kinit}
-\label{user/tkt_mgmt:obtaining-tickets-with-kinit}\label{user/tkt_mgmt:obtain-tkt}
-If your site has integrated Kerberos V5 with the login system, you
-will get Kerberos tickets automatically when you log in. Otherwise,
-you may need to explicitly obtain your Kerberos tickets, using the
-{\hyperref[user/user_commands/kinit:kinit-1]{\emph{kinit}}} program. Similarly, if your Kerberos tickets expire,
-use the kinit program to obtain new ones.
-
-To use the kinit program, simply type \code{kinit} and then type your
-password at the prompt. For example, Jennifer (whose username is
-\code{jennifer}) works for Bleep, Inc. (a fictitious company with the
-domain name mit.edu and the Kerberos realm ATHENA.MIT.EDU). She would
-type:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} kinit
-Password for jennifer@ATHENA.MIT.EDU: \PYGZlt{}\PYGZhy{}\PYGZhy{} [Type jennifer\PYGZsq{}s password here.]
-shell\PYGZpc{}
-\end{Verbatim}
-
-If you type your password incorrectly, kinit will give you the
-following error message:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} kinit
-Password for jennifer@ATHENA.MIT.EDU: \PYGZlt{}\PYGZhy{}\PYGZhy{} [Type the wrong password here.]
-kinit: Password incorrect
-shell\PYGZpc{}
-\end{Verbatim}
-
-and you won't get Kerberos tickets.
-
-By default, kinit assumes you want tickets for your own username in
-your default realm. Suppose Jennifer's friend David is visiting, and
-he wants to borrow a window to check his mail. David needs to get
-tickets for himself in his own realm, EXAMPLE.COM. He would type:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} kinit david@EXAMPLE.COM
-Password for david@EXAMPLE.COM: \PYGZlt{}\PYGZhy{}\PYGZhy{} [Type david\PYGZsq{}s password here.]
-shell\PYGZpc{}
-\end{Verbatim}
-
-David would then have tickets which he could use to log onto his own
-machine. Note that he typed his password locally on Jennifer's
-machine, but it never went over the network. Kerberos on the local
-host performed the authentication to the KDC in the other realm.
-
-If you want to be able to forward your tickets to another host, you
-need to request forwardable tickets. You do this by specifying the
-\textbf{-f} option:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} kinit \PYGZhy{}f
-Password for jennifer@ATHENA.MIT.EDU: \PYGZlt{}\PYGZhy{}\PYGZhy{} [Type your password here.]
-shell\PYGZpc{}
-\end{Verbatim}
-
-Note that kinit does not tell you that it obtained forwardable
-tickets; you can verify this using the {\hyperref[user/user_commands/klist:klist-1]{\emph{klist}}} command (see
-{\hyperref[user/tkt_mgmt:view-tkt]{\emph{Viewing tickets with klist}}}).
-
-Normally, your tickets are good for your system's default ticket
-lifetime, which is ten hours on many systems. You can specify a
-different ticket lifetime with the \textbf{-l} option. Add the letter
-\textbf{s} to the value for seconds, \textbf{m} for minutes, \textbf{h} for hours, or
-\textbf{d} for days. For example, to obtain forwardable tickets for
-\code{david@EXAMPLE.COM} that would be good for three hours, you would
-type:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} kinit \PYGZhy{}f \PYGZhy{}l 3h david@EXAMPLE.COM
-Password for david@EXAMPLE.COM: \PYGZlt{}\PYGZhy{}\PYGZhy{} [Type david\PYGZsq{}s password here.]
-shell\PYGZpc{}
-\end{Verbatim}
-
-\begin{notice}{note}{Note:}
-You cannot mix units; specifying a lifetime of 3h30m would
-result in an error. Note also that most systems specify a
-maximum ticket lifetime. If you request a longer ticket
-lifetime, it will be automatically truncated to the maximum
-lifetime.
-\end{notice}
-
-
-\section{Viewing tickets with klist}
-\label{user/tkt_mgmt:viewing-tickets-with-klist}\label{user/tkt_mgmt:view-tkt}
-The {\hyperref[user/user_commands/klist:klist-1]{\emph{klist}}} command shows your tickets. When you first obtain
-tickets, you will have only the ticket-granting ticket. The listing
-would look like this:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} klist
-Ticket cache: /tmp/krb5cc\PYGZus{}ttypa
-Default principal: jennifer@ATHENA.MIT.EDU
-
-Valid starting Expires Service principal
-06/07/04 19:49:21 06/08/04 05:49:19 krbtgt/ATHENA.MIT.EDU@ATHENA.MIT.EDU
-shell\PYGZpc{}
-\end{Verbatim}
-
-The ticket cache is the location of your ticket file. In the above
-example, this file is named \code{/tmp/krb5cc\_ttypa}. The default
-principal is your Kerberos principal.
-
-The ``valid starting'' and ``expires'' fields describe the period of time
-during which the ticket is valid. The ``service principal'' describes
-each ticket. The ticket-granting ticket has a first component
-\code{krbtgt}, and a second component which is the realm name.
-
-Now, if \code{jennifer} connected to the machine \code{daffodil.mit.edu},
-and then typed ``klist'' again, she would have gotten the following
-result:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} klist
-Ticket cache: /tmp/krb5cc\PYGZus{}ttypa
-Default principal: jennifer@ATHENA.MIT.EDU
-
-Valid starting Expires Service principal
-06/07/04 19:49:21 06/08/04 05:49:19 krbtgt/ATHENA.MIT.EDU@ATHENA.MIT.EDU
-06/07/04 20:22:30 06/08/04 05:49:19 host/daffodil.mit.edu@ATHENA.MIT.EDU
-shell\PYGZpc{}
-\end{Verbatim}
-
-Here's what happened: when \code{jennifer} used ssh to connect to the
-host \code{daffodil.mit.edu}, the ssh program presented her
-ticket-granting ticket to the KDC and requested a host ticket for the
-host \code{daffodil.mit.edu}. The KDC sent the host ticket, which ssh
-then presented to the host \code{daffodil.mit.edu}, and she was allowed
-to log in without typing her password.
-
-Suppose your Kerberos tickets allow you to log into a host in another
-domain, such as \code{trillium.example.com}, which is also in another
-Kerberos realm, \code{EXAMPLE.COM}. If you ssh to this host, you will
-receive a ticket-granting ticket for the realm \code{EXAMPLE.COM}, plus
-the new host ticket for \code{trillium.example.com}. klist will now
-show:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} klist
-Ticket cache: /tmp/krb5cc\PYGZus{}ttypa
-Default principal: jennifer@ATHENA.MIT.EDU
-
-Valid starting Expires Service principal
-06/07/04 19:49:21 06/08/04 05:49:19 krbtgt/ATHENA.MIT.EDU@ATHENA.MIT.EDU
-06/07/04 20:22:30 06/08/04 05:49:19 host/daffodil.mit.edu@ATHENA.MIT.EDU
-06/07/04 20:24:18 06/08/04 05:49:19 krbtgt/EXAMPLE.COM@ATHENA.MIT.EDU
-06/07/04 20:24:18 06/08/04 05:49:19 host/trillium.example.com@EXAMPLE.COM
-shell\PYGZpc{}
-\end{Verbatim}
-
-Depending on your host's and realm's configuration, you may also see a
-ticket with the service principal \code{host/trillium.example.com@}. If
-so, this means that your host did not know what realm
-trillium.example.com is in, so it asked the \code{ATHENA.MIT.EDU} KDC for
-a referral. The next time you connect to \code{trillium.example.com},
-the odd-looking entry will be used to avoid needing to ask for a
-referral again.
-
-You can use the \textbf{-f} option to view the flags that apply to your
-tickets. The flags are:
-
-\begin{tabulary}{\linewidth}{|L|L|}
-\hline
-
-F
- &
-Forwardable
-\\
-\hline
-f
- &
-forwarded
-\\
-\hline
-P
- &
-Proxiable
-\\
-\hline
-p
- &
-proxy
-\\
-\hline
-D
- &
-postDateable
-\\
-\hline
-d
- &
-postdated
-\\
-\hline
-R
- &
-Renewable
-\\
-\hline
-I
- &
-Initial
-\\
-\hline
-i
- &
-invalid
-\\
-\hline
-H
- &
-Hardware authenticated
-\\
-\hline
-A
- &
-preAuthenticated
-\\
-\hline
-T
- &
-Transit policy checked
-\\
-\hline
-O
- &
-Okay as delegate
-\\
-\hline
-a
- &
-anonymous
-\\
-\hline\end{tabulary}
-
-
-Here is a sample listing. In this example, the user \emph{jennifer}
-obtained her initial tickets (\textbf{I}), which are forwardable (\textbf{F})
-and postdated (\textbf{d}) but not yet validated (\textbf{i}):
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} klist \PYGZhy{}f
-Ticket cache: /tmp/krb5cc\PYGZus{}320
-Default principal: jennifer@ATHENA.MIT.EDU
-
-Valid starting Expires Service principal
-31/07/05 19:06:25 31/07/05 19:16:25 krbtgt/ATHENA.MIT.EDU@ATHENA.MIT.EDU
- Flags: FdiI
-shell\PYGZpc{}
-\end{Verbatim}
-
-In the following example, the user \emph{david}`s tickets were forwarded
-(\textbf{f}) to this host from another host. The tickets are reforwardable
-(\textbf{F}):
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} klist \PYGZhy{}f
-Ticket cache: /tmp/krb5cc\PYGZus{}p11795
-Default principal: david@EXAMPLE.COM
-
-Valid starting Expires Service principal
-07/31/05 11:52:29 07/31/05 21:11:23 krbtgt/EXAMPLE.COM@EXAMPLE.COM
- Flags: Ff
-07/31/05 12:03:48 07/31/05 21:11:23 host/trillium.example.com@EXAMPLE.COM
- Flags: Ff
-shell\PYGZpc{}
-\end{Verbatim}
-
-
-\section{Destroying tickets with kdestroy}
-\label{user/tkt_mgmt:destroying-tickets-with-kdestroy}
-Your Kerberos tickets are proof that you are indeed yourself, and
-tickets could be stolen if someone gains access to a computer where
-they are stored. If this happens, the person who has them can
-masquerade as you until they expire. For this reason, you should
-destroy your Kerberos tickets when you are away from your computer.
-
-Destroying your tickets is easy. Simply type kdestroy:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} kdestroy
-shell\PYGZpc{}
-\end{Verbatim}
-
-If {\hyperref[user/user_commands/kdestroy:kdestroy-1]{\emph{kdestroy}}} fails to destroy your tickets, it will beep and
-give an error message. For example, if kdestroy can't find any
-tickets to destroy, it will give the following message:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} kdestroy
-kdestroy: No credentials cache file found while destroying cache
-shell\PYGZpc{}
-\end{Verbatim}
-
-
-\chapter{User config files}
-\label{user/user_config/index::doc}\label{user/user_config/index:user-config-files}
-The following files in your home directory can be used to control the
-behavior of Kerberos as it applies to your account (unless they have
-been disabled by your host's configuration):
-
-
-\section{.k5login}
-\label{user/user_config/k5login:k5login-5}\label{user/user_config/k5login:k5login}\label{user/user_config/k5login::doc}
-
-\subsection{DESCRIPTION}
-\label{user/user_config/k5login:description}
-The .k5login file, which resides in a user's home directory, contains
-a list of the Kerberos principals. Anyone with valid tickets for a
-principal in the file is allowed host access with the UID of the user
-in whose home directory the file resides. One common use is to place
-a .k5login file in root's home directory, thereby granting system
-administrators remote root access to the host via Kerberos.
-
-
-\subsection{EXAMPLES}
-\label{user/user_config/k5login:examples}
-Suppose the user \code{alice} had a .k5login file in her home directory
-containing just the following line:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-bob@FOOBAR.ORG
-\end{Verbatim}
-
-This would allow \code{bob} to use Kerberos network applications, such as
-ssh(1), to access \code{alice}`s account, using \code{bob}`s Kerberos
-tickets. In a default configuration (with \textbf{k5login\_authoritative} set
-to true in \emph{krb5.conf(5)}), this .k5login file would not let
-\code{alice} use those network applications to access her account, since
-she is not listed! With no .k5login file, or with \textbf{k5login\_authoritative}
-set to false, a default rule would permit the principal \code{alice} in the
-machine's default realm to access the \code{alice} account.
-
-Let us further suppose that \code{alice} is a system administrator.
-Alice and the other system administrators would have their principals
-in root's .k5login file on each host:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-alice@BLEEP.COM
-
-joeadmin/root@BLEEP.COM
-\end{Verbatim}
-
-This would allow either system administrator to log in to these hosts
-using their Kerberos tickets instead of having to type the root
-password. Note that because \code{bob} retains the Kerberos tickets for
-his own principal, \code{bob@FOOBAR.ORG}, he would not have any of the
-privileges that require \code{alice}`s tickets, such as root access to
-any of the site's hosts, or the ability to change \code{alice}`s
-password.
-
-
-\subsection{SEE ALSO}
-\label{user/user_config/k5login:see-also}
-kerberos(1)
-
-
-\section{.k5identity}
-\label{user/user_config/k5identity:k5identity-5}\label{user/user_config/k5identity:k5identity}\label{user/user_config/k5identity::doc}
-
-\subsection{DESCRIPTION}
-\label{user/user_config/k5identity:description}
-The .k5identity file, which resides in a user's home directory,
-contains a list of rules for selecting a client principals based on
-the server being accessed. These rules are used to choose a
-credential cache within the cache collection when possible.
-
-Blank lines and lines beginning with \code{\#} are ignored. Each line has
-the form:
-\begin{quote}
-
-\emph{principal} \emph{field}=\emph{value} ...
-\end{quote}
-
-If the server principal meets all of the field constraints, then
-principal is chosen as the client principal. The following fields are
-recognized:
-\begin{description}
-\item[{\textbf{realm}}] \leavevmode
-If the realm of the server principal is known, it is matched
-against \emph{value}, which may be a pattern using shell wildcards.
-For host-based server principals, the realm will generally only be
-known if there is a \emph{domain\_realm} section in
-\emph{krb5.conf(5)} with a mapping for the hostname.
-
-\item[{\textbf{service}}] \leavevmode
-If the server principal is a host-based principal, its service
-component is matched against \emph{value}, which may be a pattern using
-shell wildcards.
-
-\item[{\textbf{host}}] \leavevmode
-If the server principal is a host-based principal, its hostname
-component is converted to lower case and matched against \emph{value},
-which may be a pattern using shell wildcards.
-
-If the server principal matches the constraints of multiple lines
-in the .k5identity file, the principal from the first matching
-line is used. If no line matches, credentials will be selected
-some other way, such as the realm heuristic or the current primary
-cache.
-
-\end{description}
-
-
-\subsection{EXAMPLE}
-\label{user/user_config/k5identity:example}
-The following example .k5identity file selects the client principal
-\code{alice@KRBTEST.COM} if the server principal is within that realm,
-the principal \code{alice/root@EXAMPLE.COM} if the server host is within
-a servers subdomain, and the principal \code{alice/mail@EXAMPLE.COM} when
-accessing the IMAP service on \code{mail.example.com}:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-alice@KRBTEST.COM realm=KRBTEST.COM
-alice/root@EXAMPLE.COM host=*.servers.example.com
-alice/mail@EXAMPLE.COM host=mail.example.com service=imap
-\end{Verbatim}
-
-
-\subsection{SEE ALSO}
-\label{user/user_config/k5identity:see-also}
-kerberos(1), \emph{krb5.conf(5)}
-
-
-\chapter{User commands}
-\label{user/user_commands/index::doc}\label{user/user_commands/index:user-commands}\label{user/user_commands/index:id1}
-
-\section{kdestroy}
-\label{user/user_commands/kdestroy:kdestroy}\label{user/user_commands/kdestroy::doc}\label{user/user_commands/kdestroy:kdestroy-1}
-
-\subsection{SYNOPSIS}
-\label{user/user_commands/kdestroy:synopsis}
-\textbf{kdestroy}
-{[}\textbf{-A}{]}
-{[}\textbf{-q}{]}
-{[}\textbf{-c} \emph{cache\_name}{]}
-
-
-\subsection{DESCRIPTION}
-\label{user/user_commands/kdestroy:description}
-The kdestroy utility destroys the user's active Kerberos authorization
-tickets by overwriting and deleting the credentials cache that
-contains them. If the credentials cache is not specified, the default
-credentials cache is destroyed.
-
-
-\subsection{OPTIONS}
-\label{user/user_commands/kdestroy:options}\begin{description}
-\item[{\textbf{-A}}] \leavevmode
-Destroys all caches in the collection, if a cache collection is
-available.
-
-\item[{\textbf{-q}}] \leavevmode
-Run quietly. Normally kdestroy beeps if it fails to destroy the
-user's tickets. The \textbf{-q} flag suppresses this behavior.
-
-\item[{\textbf{-c} \emph{cache\_name}}] \leavevmode
-Use \emph{cache\_name} as the credentials (ticket) cache name and
-location; if this option is not used, the default cache name and
-location are used.
-
-The default credentials cache may vary between systems. If the
-\textbf{KRB5CCNAME} environment variable is set, its value is used to
-name the default ticket cache.
-
-\end{description}
-
-
-\subsection{NOTE}
-\label{user/user_commands/kdestroy:note}
-Most installations recommend that you place the kdestroy command in
-your .logout file, so that your tickets are destroyed automatically
-when you log out.
-
-
-\subsection{ENVIRONMENT}
-\label{user/user_commands/kdestroy:environment}
-kdestroy uses the following environment variable:
-\begin{description}
-\item[{\textbf{KRB5CCNAME}}] \leavevmode
-Location of the default Kerberos 5 credentials (ticket) cache, in
-the form \emph{type}:\emph{residual}. If no \emph{type} prefix is present, the
-\textbf{FILE} type is assumed. The type of the default cache may
-determine the availability of a cache collection; for instance, a
-default cache of type \textbf{DIR} causes caches within the directory
-to be present in the collection.
-
-\end{description}
-
-
-\subsection{FILES}
-\label{user/user_commands/kdestroy:files}\begin{description}
-\item[{\emph{DEFCCNAME}}] \leavevmode
-Default location of Kerberos 5 credentials cache
-
-\end{description}
-
-
-\subsection{SEE ALSO}
-\label{user/user_commands/kdestroy:see-also}
-{\hyperref[user/user_commands/kinit:kinit-1]{\emph{kinit}}}, {\hyperref[user/user_commands/klist:klist-1]{\emph{klist}}}
-
-
-\section{kinit}
-\label{user/user_commands/kinit:kinit-1}\label{user/user_commands/kinit:kinit}\label{user/user_commands/kinit::doc}
-
-\subsection{SYNOPSIS}
-\label{user/user_commands/kinit:synopsis}
-\textbf{kinit}
-{[}\textbf{-V}{]}
-{[}\textbf{-l} \emph{lifetime}{]}
-{[}\textbf{-s} \emph{start\_time}{]}
-{[}\textbf{-r} \emph{renewable\_life}{]}
-{[}\textbf{-p} \textbar{} -\textbf{P}{]}
-{[}\textbf{-f} \textbar{} -\textbf{F}{]}
-{[}\textbf{-a}{]}
-{[}\textbf{-A}{]}
-{[}\textbf{-C}{]}
-{[}\textbf{-E}{]}
-{[}\textbf{-v}{]}
-{[}\textbf{-R}{]}
-{[}\textbf{-k} {[}-\textbf{t} \emph{keytab\_file}{]}{]}
-{[}\textbf{-c} \emph{cache\_name}{]}
-{[}\textbf{-n}{]}
-{[}\textbf{-S} \emph{service\_name}{]}
-{[}\textbf{-I} \emph{input\_ccache}{]}
-{[}\textbf{-T} \emph{armor\_ccache}{]}
-{[}\textbf{-X} \emph{attribute}{[}=\emph{value}{]}{]}
-{[}\emph{principal}{]}
-
-
-\subsection{DESCRIPTION}
-\label{user/user_commands/kinit:description}
-kinit obtains and caches an initial ticket-granting ticket for
-\emph{principal}. If \emph{principal} is absent, kinit chooses an appropriate
-principal name based on existing credential cache contents or the
-local username of the user invoking kinit. Some options modify the
-choice of principal name.
-
-
-\subsection{OPTIONS}
-\label{user/user_commands/kinit:options}\begin{description}
-\item[{\textbf{-V}}] \leavevmode
-display verbose output.
-
-\item[{\textbf{-l} \emph{lifetime}}] \leavevmode
-(\emph{duration} string.) Requests a ticket with the lifetime
-\emph{lifetime}.
-
-For example, \code{kinit -l 5:30} or \code{kinit -l 5h30m}.
-
-If the \textbf{-l} option is not specified, the default ticket lifetime
-(configured by each site) is used. Specifying a ticket lifetime
-longer than the maximum ticket lifetime (configured by each site)
-will not override the configured maximum ticket lifetime.
-
-\item[{\textbf{-s} \emph{start\_time}}] \leavevmode
-(\emph{duration} string.) Requests a postdated ticket. Postdated
-tickets are issued with the \textbf{invalid} flag set, and need to be
-resubmitted to the KDC for validation before use.
-
-\emph{start\_time} specifies the duration of the delay before the ticket
-can become valid.
-
-\item[{\textbf{-r} \emph{renewable\_life}}] \leavevmode
-(\emph{duration} string.) Requests renewable tickets, with a total
-lifetime of \emph{renewable\_life}.
-
-\item[{\textbf{-f}}] \leavevmode
-requests forwardable tickets.
-
-\item[{\textbf{-F}}] \leavevmode
-requests non-forwardable tickets.
-
-\item[{\textbf{-p}}] \leavevmode
-requests proxiable tickets.
-
-\item[{\textbf{-P}}] \leavevmode
-requests non-proxiable tickets.
-
-\item[{\textbf{-a}}] \leavevmode
-requests tickets restricted to the host's local address{[}es{]}.
-
-\item[{\textbf{-A}}] \leavevmode
-requests tickets not restricted by address.
-
-\item[{\textbf{-C}}] \leavevmode
-requests canonicalization of the principal name, and allows the
-KDC to reply with a different client principal from the one
-requested.
-
-\item[{\textbf{-E}}] \leavevmode
-treats the principal name as an enterprise name (implies the
-\textbf{-C} option).
-
-\item[{\textbf{-v}}] \leavevmode
-requests that the ticket-granting ticket in the cache (with the
-\textbf{invalid} flag set) be passed to the KDC for validation. If the
-ticket is within its requested time range, the cache is replaced
-with the validated ticket.
-
-\item[{\textbf{-R}}] \leavevmode
-requests renewal of the ticket-granting ticket. Note that an
-expired ticket cannot be renewed, even if the ticket is still
-within its renewable life.
-
-Note that renewable tickets that have expired as reported by
-{\hyperref[user/user_commands/klist:klist-1]{\emph{klist}}} may sometimes be renewed using this option,
-because the KDC applies a grace period to account for client-KDC
-clock skew. See \emph{krb5.conf(5)} \textbf{clockskew} setting.
-
-\item[{\textbf{-k} {[}\textbf{-i} \textbar{} \textbf{-t} \emph{keytab\_file}{]}}] \leavevmode
-requests a ticket, obtained from a key in the local host's keytab.
-The location of the keytab may be specified with the \textbf{-t}
-\emph{keytab\_file} option, or with the \textbf{-i} option to specify the use
-of the default client keytab; otherwise the default keytab will be
-used. By default, a host ticket for the local host is requested,
-but any principal may be specified. On a KDC, the special keytab
-location \code{KDB:} can be used to indicate that kinit should open
-the KDC database and look up the key directly. This permits an
-administrator to obtain tickets as any principal that supports
-authentication based on the key.
-
-\item[{\textbf{-n}}] \leavevmode
-Requests anonymous processing. Two types of anonymous principals
-are supported.
-
-For fully anonymous Kerberos, configure pkinit on the KDC and
-configure \textbf{pkinit\_anchors} in the client's \emph{krb5.conf(5)}.
-Then use the \textbf{-n} option with a principal of the form \code{@REALM}
-(an empty principal name followed by the at-sign and a realm
-name). If permitted by the KDC, an anonymous ticket will be
-returned.
-
-A second form of anonymous tickets is supported; these
-realm-exposed tickets hide the identity of the client but not the
-client's realm. For this mode, use \code{kinit -n} with a normal
-principal name. If supported by the KDC, the principal (but not
-realm) will be replaced by the anonymous principal.
-
-As of release 1.8, the MIT Kerberos KDC only supports fully
-anonymous operation.
-
-\end{description}
-
-\textbf{-I} \emph{input\_ccache}
-\begin{quote}
-
-Specifies the name of a credentials cache that already contains a
-ticket. When obtaining that ticket, if information about how that
-ticket was obtained was also stored to the cache, that information
-will be used to affect how new credentials are obtained, including
-preselecting the same methods of authenticating to the KDC.
-\end{quote}
-\begin{description}
-\item[{\textbf{-T} \emph{armor\_ccache}}] \leavevmode
-Specifies the name of a credentials cache that already contains a
-ticket. If supported by the KDC, this cache will be used to armor
-the request, preventing offline dictionary attacks and allowing
-the use of additional preauthentication mechanisms. Armoring also
-makes sure that the response from the KDC is not modified in
-transit.
-
-\item[{\textbf{-c} \emph{cache\_name}}] \leavevmode
-use \emph{cache\_name} as the Kerberos 5 credentials (ticket) cache
-location. If this option is not used, the default cache location
-is used.
-
-The default cache location may vary between systems. If the
-\textbf{KRB5CCNAME} environment variable is set, its value is used to
-locate the default cache. If a principal name is specified and
-the type of the default cache supports a collection (such as the
-DIR type), an existing cache containing credentials for the
-principal is selected or a new one is created and becomes the new
-primary cache. Otherwise, any existing contents of the default
-cache are destroyed by kinit.
-
-\item[{\textbf{-S} \emph{service\_name}}] \leavevmode
-specify an alternate service name to use when getting initial
-tickets.
-
-\item[{\textbf{-X} \emph{attribute}{[}=\emph{value}{]}}] \leavevmode
-specify a pre-authentication \emph{attribute} and \emph{value} to be
-interpreted by pre-authentication modules. The acceptable
-attribute and value values vary from module to module. This
-option may be specified multiple times to specify multiple
-attributes. If no value is specified, it is assumed to be ``yes''.
-
-The following attributes are recognized by the PKINIT
-pre-authentication mechanism:
-\begin{description}
-\item[{\textbf{X509\_user\_identity}=\emph{value}}] \leavevmode
-specify where to find user's X509 identity information
-
-\item[{\textbf{X509\_anchors}=\emph{value}}] \leavevmode
-specify where to find trusted X509 anchor information
-
-\item[{\textbf{flag\_RSA\_PROTOCOL}{[}\textbf{=yes}{]}}] \leavevmode
-specify use of RSA, rather than the default Diffie-Hellman
-protocol
-
-\end{description}
-
-\end{description}
-
-
-\subsection{ENVIRONMENT}
-\label{user/user_commands/kinit:environment}
-kinit uses the following environment variables:
-\begin{description}
-\item[{\textbf{KRB5CCNAME}}] \leavevmode
-Location of the default Kerberos 5 credentials cache, in the form
-\emph{type}:\emph{residual}. If no \emph{type} prefix is present, the \textbf{FILE}
-type is assumed. The type of the default cache may determine the
-availability of a cache collection; for instance, a default cache
-of type \textbf{DIR} causes caches within the directory to be present
-in the collection.
-
-\end{description}
-
-
-\subsection{FILES}
-\label{user/user_commands/kinit:files}\begin{description}
-\item[{\emph{DEFCCNAME}}] \leavevmode
-default location of Kerberos 5 credentials cache
-
-\item[{\emph{DEFKTNAME}}] \leavevmode
-default location for the local host's keytab.
-
-\end{description}
-
-
-\subsection{SEE ALSO}
-\label{user/user_commands/kinit:see-also}
-{\hyperref[user/user_commands/klist:klist-1]{\emph{klist}}}, {\hyperref[user/user_commands/kdestroy:kdestroy-1]{\emph{kdestroy}}}, kerberos(1)
-
-
-\section{klist}
-\label{user/user_commands/klist:klist}\label{user/user_commands/klist::doc}\label{user/user_commands/klist:klist-1}
-
-\subsection{SYNOPSIS}
-\label{user/user_commands/klist:synopsis}
-\textbf{klist}
-{[}\textbf{-e}{]}
-{[}{[}\textbf{-c}{]} {[}\textbf{-l}{]} {[}\textbf{-A}{]} {[}\textbf{-f}{]} {[}\textbf{-s}{]} {[}\textbf{-a} {[}\textbf{-n}{]}{]}{]}
-{[}\textbf{-C}{]}
-{[}\textbf{-k} {[}\textbf{-t}{]} {[}\textbf{-K}{]}{]}
-{[}\textbf{-V}{]}
-{[}\emph{cache\_name}\textbar{}\emph{keytab\_name}{]}
-
-
-\subsection{DESCRIPTION}
-\label{user/user_commands/klist:description}
-klist lists the Kerberos principal and Kerberos tickets held in a
-credentials cache, or the keys held in a keytab file.
-
-
-\subsection{OPTIONS}
-\label{user/user_commands/klist:options}\begin{description}
-\item[{\textbf{-e}}] \leavevmode
-Displays the encryption types of the session key and the ticket
-for each credential in the credential cache, or each key in the
-keytab file.
-
-\item[{\textbf{-l}}] \leavevmode
-If a cache collection is available, displays a table summarizing
-the caches present in the collection.
-
-\item[{\textbf{-A}}] \leavevmode
-If a cache collection is available, displays the contents of all
-of the caches in the collection.
-
-\item[{\textbf{-c}}] \leavevmode
-List tickets held in a credentials cache. This is the default if
-neither \textbf{-c} nor \textbf{-k} is specified.
-
-\item[{\textbf{-f}}] \leavevmode
-Shows the flags present in the credentials, using the following
-abbreviations:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-F Forwardable
-f forwarded
-P Proxiable
-p proxy
-D postDateable
-d postdated
-R Renewable
-I Initial
-i invalid
-H Hardware authenticated
-A preAuthenticated
-T Transit policy checked
-O Okay as delegate
-a anonymous
-\end{Verbatim}
-
-\item[{\textbf{-s}}] \leavevmode
-Causes klist to run silently (produce no output). klist will exit
-with status 1 if the credentials cache cannot be read or is
-expired, and with status 0 otherwise.
-
-\item[{\textbf{-a}}] \leavevmode
-Display list of addresses in credentials.
-
-\item[{\textbf{-n}}] \leavevmode
-Show numeric addresses instead of reverse-resolving addresses.
-
-\item[{\textbf{-C}}] \leavevmode
-List configuration data that has been stored in the credentials
-cache when klist encounters it. By default, configuration data
-is not listed.
-
-\item[{\textbf{-k}}] \leavevmode
-List keys held in a keytab file.
-
-\item[{\textbf{-i}}] \leavevmode
-In combination with \textbf{-k}, defaults to using the default client
-keytab instead of the default acceptor keytab, if no name is
-given.
-
-\item[{\textbf{-t}}] \leavevmode
-Display the time entry timestamps for each keytab entry in the
-keytab file.
-
-\item[{\textbf{-K}}] \leavevmode
-Display the value of the encryption key in each keytab entry in
-the keytab file.
-
-\item[{\textbf{-V}}] \leavevmode
-Display the Kerberos version number and exit.
-
-\end{description}
-
-If \emph{cache\_name} or \emph{keytab\_name} is not specified, klist will display
-the credentials in the default credentials cache or keytab file as
-appropriate. If the \textbf{KRB5CCNAME} environment variable is set, its
-value is used to locate the default ticket cache.
-
-
-\subsection{ENVIRONMENT}
-\label{user/user_commands/klist:environment}
-klist uses the following environment variable:
-\begin{description}
-\item[{\textbf{KRB5CCNAME}}] \leavevmode
-Location of the default Kerberos 5 credentials (ticket) cache, in
-the form \emph{type}:\emph{residual}. If no \emph{type} prefix is present, the
-\textbf{FILE} type is assumed. The type of the default cache may
-determine the availability of a cache collection; for instance, a
-default cache of type \textbf{DIR} causes caches within the directory
-to be present in the collection.
-
-\end{description}
-
-
-\subsection{FILES}
-\label{user/user_commands/klist:files}\begin{description}
-\item[{\emph{DEFCCNAME}}] \leavevmode
-Default location of Kerberos 5 credentials cache
-
-\item[{\emph{DEFKTNAME}}] \leavevmode
-Default location for the local host's keytab file.
-
-\end{description}
-
-
-\subsection{SEE ALSO}
-\label{user/user_commands/klist:see-also}
-{\hyperref[user/user_commands/kinit:kinit-1]{\emph{kinit}}}, {\hyperref[user/user_commands/kdestroy:kdestroy-1]{\emph{kdestroy}}}
-
-
-\section{kpasswd}
-\label{user/user_commands/kpasswd:kpasswd}\label{user/user_commands/kpasswd::doc}\label{user/user_commands/kpasswd:kpasswd-1}
-
-\subsection{SYNOPSIS}
-\label{user/user_commands/kpasswd:synopsis}
-\textbf{kpasswd} {[}\emph{principal}{]}
-
-
-\subsection{DESCRIPTION}
-\label{user/user_commands/kpasswd:description}
-The kpasswd command is used to change a Kerberos principal's password.
-kpasswd first prompts for the current Kerberos password, then prompts
-the user twice for the new password, and the password is changed.
-
-If the principal is governed by a policy that specifies the length
-and/or number of character classes required in the new password, the
-new password must conform to the policy. (The five character classes
-are lower case, upper case, numbers, punctuation, and all other
-characters.)
-
-
-\subsection{OPTIONS}
-\label{user/user_commands/kpasswd:options}\begin{description}
-\item[{\emph{principal}}] \leavevmode
-Change the password for the Kerberos principal principal.
-Otherwise, kpasswd uses the principal name from an existing ccache
-if there is one; if not, the principal is derived from the
-identity of the user invoking the kpasswd command.
-
-\end{description}
-
-
-\subsection{SEE ALSO}
-\label{user/user_commands/kpasswd:see-also}
-\emph{kadmin(1)}, \emph{kadmind(8)}
-
-
-\section{krb5-config}
-\label{user/user_commands/krb5-config:krb5-config-1}\label{user/user_commands/krb5-config:krb5-config}\label{user/user_commands/krb5-config::doc}
-
-\subsection{SYNOPSIS}
-\label{user/user_commands/krb5-config:synopsis}
-\textbf{krb5-config}
-{[}\textbf{-}\textbf{-help} \textbar{} \textbf{-}\textbf{-all} \textbar{} \textbf{-}\textbf{-version} \textbar{} \textbf{-}\textbf{-vendor} \textbar{} \textbf{-}\textbf{-prefix} \textbar{} \textbf{-}\textbf{-exec-prefix} \textbar{} \textbf{-}\textbf{-defccname} \textbar{} \textbf{-}\textbf{-defktname} \textbar{} \textbf{-}\textbf{-defcktname} \textbar{} \textbf{-}\textbf{-cflags} \textbar{} \textbf{-}\textbf{-libs} {[}\emph{libraries}{]}{]}
-
-
-\subsection{DESCRIPTION}
-\label{user/user_commands/krb5-config:description}
-krb5-config tells the application programmer what flags to use to compile
-and link programs against the installed Kerberos libraries.
-
-
-\subsection{OPTIONS}
-\label{user/user_commands/krb5-config:options}\begin{description}
-\item[{\textbf{-}\textbf{-help}}] \leavevmode
-prints a usage message. This is the default behavior when no options
-are specified.
-
-\item[{\textbf{-}\textbf{-all}}] \leavevmode
-prints the version, vendor, prefix, and exec-prefix.
-
-\item[{\textbf{-}\textbf{-version}}] \leavevmode
-prints the version number of the Kerberos installation.
-
-\item[{\textbf{-}\textbf{-vendor}}] \leavevmode
-prints the name of the vendor of the Kerberos installation.
-
-\item[{\textbf{-}\textbf{-prefix}}] \leavevmode
-prints the prefix for which the Kerberos installation was built.
-
-\item[{\textbf{-}\textbf{-exec-prefix}}] \leavevmode
-prints the prefix for executables for which the Kerberos installation
-was built.
-
-\item[{\textbf{-}\textbf{-defccname}}] \leavevmode
-prints the built-in default credentials cache location.
-
-\item[{\textbf{-}\textbf{-defktname}}] \leavevmode
-prints the built-in default keytab location.
-
-\item[{\textbf{-}\textbf{-defcktname}}] \leavevmode
-prints the built-in default client (initiator) keytab location.
-
-\item[{\textbf{-}\textbf{-cflags}}] \leavevmode
-prints the compilation flags used to build the Kerberos installation.
-
-\item[{\textbf{-}\textbf{-libs} {[}\emph{library}{]}}] \leavevmode
-prints the compiler options needed to link against \emph{library}.
-Allowed values for \emph{library} are:
-
-\begin{tabulary}{\linewidth}{|L|L|}
-\hline
-
-krb5
- &
-Kerberos 5 applications (default)
-\\
-\hline
-gssapi
- &
-GSSAPI applications with Kerberos 5 bindings
-\\
-\hline
-kadm-client
- &
-Kadmin client
-\\
-\hline
-kadm-server
- &
-Kadmin server
-\\
-\hline
-kdb
- &
-Applications that access the Kerberos database
-\\
-\hline\end{tabulary}
-
-
-\end{description}
-
-
-\subsection{EXAMPLES}
-\label{user/user_commands/krb5-config:examples}
-krb5-config is particularly useful for compiling against a Kerberos
-installation that was installed in a non-standard location. For example,
-a Kerberos installation that is installed in \code{/opt/krb5/} but uses
-libraries in \code{/usr/local/lib/} for text localization would produce
-the following output:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-shell\PYGZpc{} krb5\PYGZhy{}config \PYGZhy{}\PYGZhy{}libs krb5
-\PYGZhy{}L/opt/krb5/lib \PYGZhy{}Wl,\PYGZhy{}rpath \PYGZhy{}Wl,/opt/krb5/lib \PYGZhy{}L/usr/local/lib \PYGZhy{}lkrb5 \PYGZhy{}lk5crypto \PYGZhy{}lcom\PYGZus{}err
-\end{Verbatim}
-
-
-\subsection{SEE ALSO}
-\label{user/user_commands/krb5-config:see-also}
-kerberos(1), cc(1)
-
-
-\section{ksu}
-\label{user/user_commands/ksu:ksu-1}\label{user/user_commands/ksu:ksu}\label{user/user_commands/ksu::doc}
-
-\subsection{SYNOPSIS}
-\label{user/user_commands/ksu:synopsis}
-\textbf{ksu}
-{[} \emph{target\_user} {]}
-{[} \textbf{-n} \emph{target\_principal\_name} {]}
-{[} \textbf{-c} \emph{source\_cache\_name} {]}
-{[} \textbf{-k} {]}
-{[} \textbf{-r} time {]}
-{[} \textbf{-pf} {]}
-{[} \textbf{-l} \emph{lifetime} {]}
-{[} \textbf{-z \textbar{} Z} {]}
-{[} \textbf{-q} {]}
-{[} \textbf{-e} \emph{command} {[} args ... {]} {]} {[} \textbf{-a} {[} args ... {]} {]}
-
-
-\subsection{REQUIREMENTS}
-\label{user/user_commands/ksu:requirements}
-Must have Kerberos version 5 installed to compile ksu. Must have a
-Kerberos version 5 server running to use ksu.
-
-
-\subsection{DESCRIPTION}
-\label{user/user_commands/ksu:description}
-ksu is a Kerberized version of the su program that has two missions:
-one is to securely change the real and effective user ID to that of
-the target user, and the other is to create a new security context.
-
-\begin{notice}{note}{Note:}
-For the sake of clarity, all references to and attributes of
-the user invoking the program will start with ``source''
-(e.g., ``source user'', ``source cache'', etc.).
-
-Likewise, all references to and attributes of the target
-account will start with ``target''.
-\end{notice}
-
-
-\subsection{AUTHENTICATION}
-\label{user/user_commands/ksu:authentication}
-To fulfill the first mission, ksu operates in two phases:
-authentication and authorization. Resolving the target principal name
-is the first step in authentication. The user can either specify his
-principal name with the \textbf{-n} option (e.g., \code{-n jqpublic@USC.EDU})
-or a default principal name will be assigned using a heuristic
-described in the OPTIONS section (see \textbf{-n} option). The target user
-name must be the first argument to ksu; if not specified root is the
-default. If \code{.} is specified then the target user will be the
-source user (e.g., \code{ksu .}). If the source user is root or the
-target user is the source user, no authentication or authorization
-takes place. Otherwise, ksu looks for an appropriate Kerberos ticket
-in the source cache.
-
-The ticket can either be for the end-server or a ticket granting
-ticket (TGT) for the target principal's realm. If the ticket for the
-end-server is already in the cache, it's decrypted and verified. If
-it's not in the cache but the TGT is, the TGT is used to obtain the
-ticket for the end-server. The end-server ticket is then verified.
-If neither ticket is in the cache, but ksu is compiled with the
-\textbf{GET\_TGT\_VIA\_PASSWD} define, the user will be prompted for a
-Kerberos password which will then be used to get a TGT. If the user
-is logged in remotely and does not have a secure channel, the password
-may be exposed. If neither ticket is in the cache and
-\textbf{GET\_TGT\_VIA\_PASSWD} is not defined, authentication fails.
-
-
-\subsection{AUTHORIZATION}
-\label{user/user_commands/ksu:authorization}
-This section describes authorization of the source user when ksu is
-invoked without the \textbf{-e} option. For a description of the \textbf{-e}
-option, see the OPTIONS section.
-
-Upon successful authentication, ksu checks whether the target
-principal is authorized to access the target account. In the target
-user's home directory, ksu attempts to access two authorization files:
-{\hyperref[user/user_config/k5login:k5login-5]{\emph{.k5login}}} and .k5users. In the .k5login file each line
-contains the name of a principal that is authorized to access the
-account.
-
-For example:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-jqpublic@USC.EDU
-jqpublic/secure@USC.EDU
-jqpublic/admin@USC.EDU
-\end{Verbatim}
-
-The format of .k5users is the same, except the principal name may be
-followed by a list of commands that the principal is authorized to
-execute (see the \textbf{-e} option in the OPTIONS section for details).
-
-Thus if the target principal name is found in the .k5login file the
-source user is authorized to access the target account. Otherwise ksu
-looks in the .k5users file. If the target principal name is found
-without any trailing commands or followed only by \code{*} then the
-source user is authorized. If either .k5login or .k5users exist but
-an appropriate entry for the target principal does not exist then
-access is denied. If neither file exists then the principal will be
-granted access to the account according to the aname-\textgreater{}lname mapping
-rules. Otherwise, authorization fails.
-
-
-\subsection{EXECUTION OF THE TARGET SHELL}
-\label{user/user_commands/ksu:execution-of-the-target-shell}
-Upon successful authentication and authorization, ksu proceeds in a
-similar fashion to su. The environment is unmodified with the
-exception of USER, HOME and SHELL variables. If the target user is
-not root, USER gets set to the target user name. Otherwise USER
-remains unchanged. Both HOME and SHELL are set to the target login's
-default values. In addition, the environment variable \textbf{KRB5CCNAME}
-gets set to the name of the target cache. The real and effective user
-ID are changed to that of the target user. The target user's shell is
-then invoked (the shell name is specified in the password file). Upon
-termination of the shell, ksu deletes the target cache (unless ksu is
-invoked with the \textbf{-k} option). This is implemented by first doing a
-fork and then an exec, instead of just exec, as done by su.
-
-
-\subsection{CREATING A NEW SECURITY CONTEXT}
-\label{user/user_commands/ksu:creating-a-new-security-context}
-ksu can be used to create a new security context for the target
-program (either the target shell, or command specified via the \textbf{-e}
-option). The target program inherits a set of credentials from the
-source user. By default, this set includes all of the credentials in
-the source cache plus any additional credentials obtained during
-authentication. The source user is able to limit the credentials in
-this set by using \textbf{-z} or \textbf{-Z} option. \textbf{-z} restricts the copy
-of tickets from the source cache to the target cache to only the
-tickets where client == the target principal name. The \textbf{-Z} option
-provides the target user with a fresh target cache (no creds in the
-cache). Note that for security reasons, when the source user is root
-and target user is non-root, \textbf{-z} option is the default mode of
-operation.
-
-While no authentication takes place if the source user is root or is
-the same as the target user, additional tickets can still be obtained
-for the target cache. If \textbf{-n} is specified and no credentials can
-be copied to the target cache, the source user is prompted for a
-Kerberos password (unless \textbf{-Z} specified or \textbf{GET\_TGT\_VIA\_PASSWD}
-is undefined). If successful, a TGT is obtained from the Kerberos
-server and stored in the target cache. Otherwise, if a password is
-not provided (user hit return) ksu continues in a normal mode of
-operation (the target cache will not contain the desired TGT). If the
-wrong password is typed in, ksu fails.
-
-\begin{notice}{note}{Note:}
-During authentication, only the tickets that could be
-obtained without providing a password are cached in in the
-source cache.
-\end{notice}
-
-
-\subsection{OPTIONS}
-\label{user/user_commands/ksu:options}\begin{description}
-\item[{\textbf{-n} \emph{target\_principal\_name}}] \leavevmode
-Specify a Kerberos target principal name. Used in authentication
-and authorization phases of ksu.
-
-If ksu is invoked without \textbf{-n}, a default principal name is
-assigned via the following heuristic:
-\begin{itemize}
-\item {}
-Case 1: source user is non-root.
-
-If the target user is the source user the default principal name
-is set to the default principal of the source cache. If the
-cache does not exist then the default principal name is set to
-\code{target\_user@local\_realm}. If the source and target users are
-different and neither \code{\textasciitilde{}target\_user/.k5users} nor
-\code{\textasciitilde{}target\_user/.k5login} exist then the default principal name
-is \code{target\_user\_login\_name@local\_realm}. Otherwise, starting
-with the first principal listed below, ksu checks if the
-principal is authorized to access the target account and whether
-there is a legitimate ticket for that principal in the source
-cache. If both conditions are met that principal becomes the
-default target principal, otherwise go to the next principal.
-\begin{enumerate}
-\item {}
-default principal of the source cache
-
-\item {}
-target\_user@local\_realm
-
-\item {}
-source\_user@local\_realm
-
-\end{enumerate}
-
-If a-c fails try any principal for which there is a ticket in
-the source cache and that is authorized to access the target
-account. If that fails select the first principal that is
-authorized to access the target account from the above list. If
-none are authorized and ksu is configured with
-\textbf{PRINC\_LOOK\_AHEAD} turned on, select the default principal as
-follows:
-
-For each candidate in the above list, select an authorized
-principal that has the same realm name and first part of the
-principal name equal to the prefix of the candidate. For
-example if candidate a) is \code{jqpublic@ISI.EDU} and
-\code{jqpublic/secure@ISI.EDU} is authorized to access the target
-account then the default principal is set to
-\code{jqpublic/secure@ISI.EDU}.
-
-\item {}
-Case 2: source user is root.
-
-If the target user is non-root then the default principal name
-is \code{target\_user@local\_realm}. Else, if the source cache
-exists the default principal name is set to the default
-principal of the source cache. If the source cache does not
-exist, default principal name is set to \code{root\textbackslash{}@local\_realm}.
-
-\end{itemize}
-
-\end{description}
-
-\textbf{-c} \emph{source\_cache\_name}
-\begin{quote}
-
-Specify source cache name (e.g., \code{-c FILE:/tmp/my\_cache}). If
-\textbf{-c} option is not used then the name is obtained from
-\textbf{KRB5CCNAME} environment variable. If \textbf{KRB5CCNAME} is not
-defined the source cache name is set to \code{krb5cc\_\textless{}source uid\textgreater{}}.
-The target cache name is automatically set to \code{krb5cc\_\textless{}target
-uid\textgreater{}.(gen\_sym())}, where gen\_sym generates a new number such that
-the resulting cache does not already exist. For example:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-krb5cc\PYGZus{}1984.2
-\end{Verbatim}
-\end{quote}
-\begin{description}
-\item[{\textbf{-k}}] \leavevmode
-Do not delete the target cache upon termination of the target
-shell or a command (\textbf{-e} command). Without \textbf{-k}, ksu deletes
-the target cache.
-
-\item[{\textbf{-z}}] \leavevmode
-Restrict the copy of tickets from the source cache to the target
-cache to only the tickets where client == the target principal
-name. Use the \textbf{-n} option if you want the tickets for other then
-the default principal. Note that the \textbf{-z} option is mutually
-exclusive with the \textbf{-Z} option.
-
-\item[{\textbf{-Z}}] \leavevmode
-Don't copy any tickets from the source cache to the target cache.
-Just create a fresh target cache, where the default principal name
-of the cache is initialized to the target principal name. Note
-that the \textbf{-Z} option is mutually exclusive with the \textbf{-z}
-option.
-
-\item[{\textbf{-q}}] \leavevmode
-Suppress the printing of status messages.
-
-\end{description}
-
-Ticket granting ticket options:
-\begin{description}
-\item[{\textbf{-l} \emph{lifetime} \textbf{-r} \emph{time} \textbf{-pf}}] \leavevmode
-The ticket granting ticket options only apply to the case where
-there are no appropriate tickets in the cache to authenticate the
-source user. In this case if ksu is configured to prompt users
-for a Kerberos password (\textbf{GET\_TGT\_VIA\_PASSWD} is defined), the
-ticket granting ticket options that are specified will be used
-when getting a ticket granting ticket from the Kerberos server.
-
-\item[{\textbf{-l} \emph{lifetime}}] \leavevmode
-(\emph{duration} string.) Specifies the lifetime to be requested
-for the ticket; if this option is not specified, the default ticket
-lifetime (12 hours) is used instead.
-
-\item[{\textbf{-r} \emph{time}}] \leavevmode
-(\emph{duration} string.) Specifies that the \textbf{renewable} option
-should be requested for the ticket, and specifies the desired
-total lifetime of the ticket.
-
-\item[{\textbf{-p}}] \leavevmode
-specifies that the \textbf{proxiable} option should be requested for
-the ticket.
-
-\item[{\textbf{-f}}] \leavevmode
-option specifies that the \textbf{forwardable} option should be
-requested for the ticket.
-
-\item[{\textbf{-e} \emph{command} {[}\emph{args} ...{]}}] \leavevmode
-ksu proceeds exactly the same as if it was invoked without the
-\textbf{-e} option, except instead of executing the target shell, ksu
-executes the specified command. Example of usage:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-ksu bob \PYGZhy{}e ls \PYGZhy{}lag
-\end{Verbatim}
-
-The authorization algorithm for \textbf{-e} is as follows:
-
-If the source user is root or source user == target user, no
-authorization takes place and the command is executed. If source
-user id != 0, and \code{\textasciitilde{}target\_user/.k5users} file does not exist,
-authorization fails. Otherwise, \code{\textasciitilde{}target\_user/.k5users} file
-must have an appropriate entry for target principal to get
-authorized.
-
-The .k5users file format:
-
-A single principal entry on each line that may be followed by a
-list of commands that the principal is authorized to execute. A
-principal name followed by a \code{*} means that the user is
-authorized to execute any command. Thus, in the following
-example:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-jqpublic@USC.EDU ls mail /local/kerberos/klist
-jqpublic/secure@USC.EDU *
-jqpublic/admin@USC.EDU
-\end{Verbatim}
-
-\code{jqpublic@USC.EDU} is only authorized to execute \code{ls},
-\code{mail} and \code{klist} commands. \code{jqpublic/secure@USC.EDU} is
-authorized to execute any command. \code{jqpublic/admin@USC.EDU} is
-not authorized to execute any command. Note, that
-\code{jqpublic/admin@USC.EDU} is authorized to execute the target
-shell (regular ksu, without the \textbf{-e} option) but
-\code{jqpublic@USC.EDU} is not.
-
-The commands listed after the principal name must be either a full
-path names or just the program name. In the second case,
-\textbf{CMD\_PATH} specifying the location of authorized programs must
-be defined at the compilation time of ksu. Which command gets
-executed?
-
-If the source user is root or the target user is the source user
-or the user is authorized to execute any command (\code{*} entry)
-then command can be either a full or a relative path leading to
-the target program. Otherwise, the user must specify either a
-full path or just the program name.
-
-\item[{\textbf{-a} \emph{args}}] \leavevmode
-Specify arguments to be passed to the target shell. Note that all
-flags and parameters following -a will be passed to the shell,
-thus all options intended for ksu must precede \textbf{-a}.
-
-The \textbf{-a} option can be used to simulate the \textbf{-e} option if
-used as follows:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-\PYGZhy{}a \PYGZhy{}c [command [arguments]].
-\end{Verbatim}
-
-\textbf{-c} is interpreted by the c-shell to execute the command.
-
-\end{description}
-
-
-\subsection{INSTALLATION INSTRUCTIONS}
-\label{user/user_commands/ksu:installation-instructions}
-ksu can be compiled with the following four flags:
-\begin{description}
-\item[{\textbf{GET\_TGT\_VIA\_PASSWD}}] \leavevmode
-In case no appropriate tickets are found in the source cache, the
-user will be prompted for a Kerberos password. The password is
-then used to get a ticket granting ticket from the Kerberos
-server. The danger of configuring ksu with this macro is if the
-source user is logged in remotely and does not have a secure
-channel, the password may get exposed.
-
-\item[{\textbf{PRINC\_LOOK\_AHEAD}}] \leavevmode
-During the resolution of the default principal name,
-\textbf{PRINC\_LOOK\_AHEAD} enables ksu to find principal names in
-the .k5users file as described in the OPTIONS section
-(see \textbf{-n} option).
-
-\item[{\textbf{CMD\_PATH}}] \leavevmode
-Specifies a list of directories containing programs that users are
-authorized to execute (via .k5users file).
-
-\item[{\textbf{HAVE\_GETUSERSHELL}}] \leavevmode
-If the source user is non-root, ksu insists that the target user's
-shell to be invoked is a ``legal shell''. \emph{getusershell(3)} is
-called to obtain the names of ``legal shells''. Note that the
-target user's shell is obtained from the passwd file.
-
-\end{description}
-
-Sample configuration:
-
-\begin{Verbatim}[commandchars=\\\{\}]
-KSU\PYGZus{}OPTS = \PYGZhy{}DGET\PYGZus{}TGT\PYGZus{}VIA\PYGZus{}PASSWD \PYGZhy{}DPRINC\PYGZus{}LOOK\PYGZus{}AHEAD \PYGZhy{}DCMD\PYGZus{}PATH=\PYGZsq{}\PYGZdq{}/bin /usr/ucb /local/bin\PYGZdq{}
-\end{Verbatim}
-
-ksu should be owned by root and have the set user id bit turned on.
-
-ksu attempts to get a ticket for the end server just as Kerberized
-telnet and rlogin. Thus, there must be an entry for the server in the
-Kerberos database (e.g., \code{host/nii.isi.edu@ISI.EDU}). The keytab
-file must be in an appropriate location.
-
-
-\subsection{SIDE EFFECTS}
-\label{user/user_commands/ksu:side-effects}
-ksu deletes all expired tickets from the source cache.
-
-
-\subsection{AUTHOR OF KSU}
-\label{user/user_commands/ksu:author-of-ksu}
-GENNADY (ARI) MEDVINSKY
-
-
-\section{kswitch}
-\label{user/user_commands/kswitch:kswitch-1}\label{user/user_commands/kswitch:kswitch}\label{user/user_commands/kswitch::doc}
-
-\subsection{SYNOPSIS}
-\label{user/user_commands/kswitch:synopsis}
-\textbf{kswitch}
-\{\textbf{-c} \emph{cachename}\textbar{}\textbf{-p} \emph{principal}\}
-
-
-\subsection{DESCRIPTION}
-\label{user/user_commands/kswitch:description}
-kswitch makes the specified credential cache the primary cache for the
-collection, if a cache collection is available.
-
-
-\subsection{OPTIONS}
-\label{user/user_commands/kswitch:options}\begin{description}
-\item[{\textbf{-c} \emph{cachename}}] \leavevmode
-Directly specifies the credential cache to be made primary.
-
-\item[{\textbf{-p} \emph{principal}}] \leavevmode
-Causes the cache collection to be searched for a cache containing
-credentials for \emph{principal}. If one is found, that collection is
-made primary.
-
-\end{description}
-
-
-\subsection{ENVIRONMENT}
-\label{user/user_commands/kswitch:environment}
-kswitch uses the following environment variables:
-\begin{description}
-\item[{\textbf{KRB5CCNAME}}] \leavevmode
-Location of the default Kerberos 5 credentials (ticket) cache, in
-the form \emph{type}:\emph{residual}. If no \emph{type} prefix is present, the
-\textbf{FILE} type is assumed. The type of the default cache may
-determine the availability of a cache collection; for instance, a
-default cache of type \textbf{DIR} causes caches within the directory
-to be present in the collection.
-
-\end{description}
-
-
-\subsection{FILES}
-\label{user/user_commands/kswitch:files}\begin{description}
-\item[{\emph{DEFCCNAME}}] \leavevmode
-Default location of Kerberos 5 credentials cache
-
-\end{description}
-
-
-\subsection{SEE ALSO}
-\label{user/user_commands/kswitch:see-also}
-{\hyperref[user/user_commands/kinit:kinit-1]{\emph{kinit}}}, {\hyperref[user/user_commands/kdestroy:kdestroy-1]{\emph{kdestroy}}}, {\hyperref[user/user_commands/klist:klist-1]{\emph{klist}}}), kerberos(1)
-
-
-\section{kvno}
-\label{user/user_commands/kvno:kvno-1}\label{user/user_commands/kvno::doc}\label{user/user_commands/kvno:kvno}
-
-\subsection{SYNOPSIS}
-\label{user/user_commands/kvno:synopsis}
-\textbf{kvno}
-{[}\textbf{-c} \emph{ccache}{]}
-{[}\textbf{-e} \emph{etype}{]}
-{[}\textbf{-q}{]}
-{[}\textbf{-h}{]}
-{[}\textbf{-P}{]}
-{[}\textbf{-S} \emph{sname}{]}
-{[}\textbf{-U} \emph{for\_user}{]}
-\emph{service1 service2} ...
-
-
-\subsection{DESCRIPTION}
-\label{user/user_commands/kvno:description}
-kvno acquires a service ticket for the specified Kerberos principals
-and prints out the key version numbers of each.
-
-
-\subsection{OPTIONS}
-\label{user/user_commands/kvno:options}\begin{description}
-\item[{\textbf{-c} \emph{ccache}}] \leavevmode
-Specifies the name of a credentials cache to use (if not the
-default)
-
-\item[{\textbf{-e} \emph{etype}}] \leavevmode
-Specifies the enctype which will be requested for the session key
-of all the services named on the command line. This is useful in
-certain backward compatibility situations.
-
-\item[{\textbf{-q}}] \leavevmode
-Suppress printing output when successful. If a service ticket
-cannot be obtained, an error message will still be printed and
-kvno will exit with nonzero status.
-
-\item[{\textbf{-h}}] \leavevmode
-Prints a usage statement and exits.
-
-\item[{\textbf{-P}}] \leavevmode
-Specifies that the \emph{service1 service2} ... arguments are to be
-treated as services for which credentials should be acquired using
-constrained delegation. This option is only valid when used in
-conjunction with protocol transition.
-
-\item[{\textbf{-S} \emph{sname}}] \leavevmode
-Specifies that the \emph{service1 service2} ... arguments are
-interpreted as hostnames, and the service principals are to be
-constructed from those hostnames and the service name \emph{sname}.
-The service hostnames will be canonicalized according to the usual
-rules for constructing service principals.
-
-\item[{\textbf{-U} \emph{for\_user}}] \leavevmode
-Specifies that protocol transition (S4U2Self) is to be used to
-acquire a ticket on behalf of \emph{for\_user}. If constrained
-delegation is not requested, the service name must match the
-credentials cache client principal.
-
-\end{description}
-
-
-\subsection{ENVIRONMENT}
-\label{user/user_commands/kvno:environment}
-kvno uses the following environment variable:
-\begin{description}
-\item[{\textbf{KRB5CCNAME}}] \leavevmode
-Location of the credentials (ticket) cache.
-
-\end{description}
-
-
-\subsection{FILES}
-\label{user/user_commands/kvno:files}\begin{description}
-\item[{\emph{DEFCCNAME}}] \leavevmode
-Default location of the credentials cache
-
-\end{description}
-
-
-\subsection{SEE ALSO}
-\label{user/user_commands/kvno:see-also}
-{\hyperref[user/user_commands/kinit:kinit-1]{\emph{kinit}}}, {\hyperref[user/user_commands/kdestroy:kdestroy-1]{\emph{kdestroy}}}
-
-
-\section{sclient}
-\label{user/user_commands/sclient:sclient}\label{user/user_commands/sclient::doc}\label{user/user_commands/sclient:sclient-1}
-
-\subsection{SYNOPSIS}
-\label{user/user_commands/sclient:synopsis}
-\textbf{sclient} \emph{remotehost}
-
-
-\subsection{DESCRIPTION}
-\label{user/user_commands/sclient:description}
-sclient is a sample application, primarily useful for testing
-purposes. It contacts a sample server \emph{sserver(8)} and
-authenticates to it using Kerberos version 5 tickets, then displays
-the server's response.
-
-
-\subsection{SEE ALSO}
-\label{user/user_commands/sclient:see-also}
-{\hyperref[user/user_commands/kinit:kinit-1]{\emph{kinit}}}, \emph{sserver(8)}
-
-
-
-\renewcommand{\indexname}{Index}
-\printindex
-\end{document}