xref: /freebsd/crypto/krb5/doc/pdf/user.tex (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1*7f2fe78bSCy Schubert%% Generated by Sphinx.
2*7f2fe78bSCy Schubert\def\sphinxdocclass{report}
3*7f2fe78bSCy Schubert\documentclass[letterpaper,10pt,english]{sphinxmanual}
4*7f2fe78bSCy Schubert\ifdefined\pdfpxdimen
5*7f2fe78bSCy Schubert   \let\sphinxpxdimen\pdfpxdimen\else\newdimen\sphinxpxdimen
6*7f2fe78bSCy Schubert\fi \sphinxpxdimen=.75bp\relax
7*7f2fe78bSCy Schubert\ifdefined\pdfimageresolution
8*7f2fe78bSCy Schubert    \pdfimageresolution= \numexpr \dimexpr1in\relax/\sphinxpxdimen\relax
9*7f2fe78bSCy Schubert\fi
10*7f2fe78bSCy Schubert%% let collapsible pdf bookmarks panel have high depth per default
11*7f2fe78bSCy Schubert\PassOptionsToPackage{bookmarksdepth=5}{hyperref}
12*7f2fe78bSCy Schubert
13*7f2fe78bSCy Schubert\PassOptionsToPackage{warn}{textcomp}
14*7f2fe78bSCy Schubert\usepackage[utf8]{inputenc}
15*7f2fe78bSCy Schubert\ifdefined\DeclareUnicodeCharacter
16*7f2fe78bSCy Schubert% support both utf8 and utf8x syntaxes
17*7f2fe78bSCy Schubert  \ifdefined\DeclareUnicodeCharacterAsOptional
18*7f2fe78bSCy Schubert    \def\sphinxDUC#1{\DeclareUnicodeCharacter{"#1}}
19*7f2fe78bSCy Schubert  \else
20*7f2fe78bSCy Schubert    \let\sphinxDUC\DeclareUnicodeCharacter
21*7f2fe78bSCy Schubert  \fi
22*7f2fe78bSCy Schubert  \sphinxDUC{00A0}{\nobreakspace}
23*7f2fe78bSCy Schubert  \sphinxDUC{2500}{\sphinxunichar{2500}}
24*7f2fe78bSCy Schubert  \sphinxDUC{2502}{\sphinxunichar{2502}}
25*7f2fe78bSCy Schubert  \sphinxDUC{2514}{\sphinxunichar{2514}}
26*7f2fe78bSCy Schubert  \sphinxDUC{251C}{\sphinxunichar{251C}}
27*7f2fe78bSCy Schubert  \sphinxDUC{2572}{\textbackslash}
28*7f2fe78bSCy Schubert\fi
29*7f2fe78bSCy Schubert\usepackage{cmap}
30*7f2fe78bSCy Schubert\usepackage[T1]{fontenc}
31*7f2fe78bSCy Schubert\usepackage{amsmath,amssymb,amstext}
32*7f2fe78bSCy Schubert\usepackage{babel}
33*7f2fe78bSCy Schubert
34*7f2fe78bSCy Schubert
35*7f2fe78bSCy Schubert
36*7f2fe78bSCy Schubert\usepackage{tgtermes}
37*7f2fe78bSCy Schubert\usepackage{tgheros}
38*7f2fe78bSCy Schubert\renewcommand{\ttdefault}{txtt}
39*7f2fe78bSCy Schubert
40*7f2fe78bSCy Schubert
41*7f2fe78bSCy Schubert
42*7f2fe78bSCy Schubert\usepackage[Bjarne]{fncychap}
43*7f2fe78bSCy Schubert\usepackage{sphinx}
44*7f2fe78bSCy Schubert
45*7f2fe78bSCy Schubert\fvset{fontsize=auto}
46*7f2fe78bSCy Schubert\usepackage{geometry}
47*7f2fe78bSCy Schubert
48*7f2fe78bSCy Schubert
49*7f2fe78bSCy Schubert% Include hyperref last.
50*7f2fe78bSCy Schubert\usepackage{hyperref}
51*7f2fe78bSCy Schubert% Fix anchor placement for figures with captions.
52*7f2fe78bSCy Schubert\usepackage{hypcap}% it must be loaded after hyperref.
53*7f2fe78bSCy Schubert% Set up styles of URL: it should be placed after hyperref.
54*7f2fe78bSCy Schubert\urlstyle{same}
55*7f2fe78bSCy Schubert
56*7f2fe78bSCy Schubert
57*7f2fe78bSCy Schubert\usepackage{sphinxmessages}
58*7f2fe78bSCy Schubert\setcounter{tocdepth}{1}
59*7f2fe78bSCy Schubert
60*7f2fe78bSCy Schubert
61*7f2fe78bSCy Schubert
62*7f2fe78bSCy Schubert\title{Kerberos User Guide}
63*7f2fe78bSCy Schubert\date{ }
64*7f2fe78bSCy Schubert\release{1.21.3}
65*7f2fe78bSCy Schubert\author{MIT}
66*7f2fe78bSCy Schubert\newcommand{\sphinxlogo}{\vbox{}}
67*7f2fe78bSCy Schubert\renewcommand{\releasename}{Release}
68*7f2fe78bSCy Schubert\makeindex
69*7f2fe78bSCy Schubert\begin{document}
70*7f2fe78bSCy Schubert
71*7f2fe78bSCy Schubert\pagestyle{empty}
72*7f2fe78bSCy Schubert\sphinxmaketitle
73*7f2fe78bSCy Schubert\pagestyle{plain}
74*7f2fe78bSCy Schubert\sphinxtableofcontents
75*7f2fe78bSCy Schubert\pagestyle{normal}
76*7f2fe78bSCy Schubert\phantomsection\label{\detokenize{user/index::doc}}
77*7f2fe78bSCy Schubert
78*7f2fe78bSCy Schubert
79*7f2fe78bSCy Schubert
80*7f2fe78bSCy Schubert\chapter{Password management}
81*7f2fe78bSCy Schubert\label{\detokenize{user/pwd_mgmt:password-management}}\label{\detokenize{user/pwd_mgmt::doc}}
82*7f2fe78bSCy Schubert\sphinxAtStartPar
83*7f2fe78bSCy SchubertYour password is the only way Kerberos has of verifying your identity.
84*7f2fe78bSCy SchubertIf someone finds out your password, that person can masquerade as
85*7f2fe78bSCy Schubertyou—send email that comes from you, read, edit, or delete your files,
86*7f2fe78bSCy Schubertor log into other hosts as you—and no one will be able to tell the
87*7f2fe78bSCy Schubertdifference.  For this reason, it is important that you choose a good
88*7f2fe78bSCy Schubertpassword, and keep it secret.  If you need to give access to your
89*7f2fe78bSCy Schubertaccount to someone else, you can do so through Kerberos (see
90*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/pwd_mgmt:grant-access}]{\sphinxcrossref{\DUrole{std,std-ref}{Granting access to your account}}}}).  You should never tell your password to anyone,
91*7f2fe78bSCy Schubertincluding your system administrator, for any reason.  You should
92*7f2fe78bSCy Schubertchange your password frequently, particularly any time you think
93*7f2fe78bSCy Schubertsomeone may have found out what it is.
94*7f2fe78bSCy Schubert
95*7f2fe78bSCy Schubert
96*7f2fe78bSCy Schubert\section{Changing your password}
97*7f2fe78bSCy Schubert\label{\detokenize{user/pwd_mgmt:changing-your-password}}
98*7f2fe78bSCy Schubert\sphinxAtStartPar
99*7f2fe78bSCy SchubertTo change your Kerberos password, use the {\hyperref[\detokenize{user/user_commands/kpasswd:kpasswd-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kpasswd}}}} command.
100*7f2fe78bSCy SchubertIt will ask you for your old password (to prevent someone else from
101*7f2fe78bSCy Schubertwalking up to your computer when you’re not there and changing your
102*7f2fe78bSCy Schubertpassword), and then prompt you for the new one twice.  (The reason you
103*7f2fe78bSCy Schuberthave to type it twice is to make sure you have typed it correctly.)
104*7f2fe78bSCy SchubertFor example, user \sphinxcode{\sphinxupquote{david}} would do the following:
105*7f2fe78bSCy Schubert
106*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
107*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{kpasswd}
108*7f2fe78bSCy Schubert\PYG{n}{Password} \PYG{k}{for} \PYG{n}{david}\PYG{p}{:}    \PYG{o}{\PYGZlt{}}\PYG{o}{\PYGZhy{}} \PYG{n}{Type} \PYG{n}{your} \PYG{n}{old} \PYG{n}{password}\PYG{o}{.}
109*7f2fe78bSCy Schubert\PYG{n}{Enter} \PYG{n}{new} \PYG{n}{password}\PYG{p}{:}    \PYG{o}{\PYGZlt{}}\PYG{o}{\PYGZhy{}} \PYG{n}{Type} \PYG{n}{your} \PYG{n}{new} \PYG{n}{password}\PYG{o}{.}
110*7f2fe78bSCy Schubert\PYG{n}{Enter} \PYG{n}{it} \PYG{n}{again}\PYG{p}{:}  \PYG{o}{\PYGZlt{}}\PYG{o}{\PYGZhy{}} \PYG{n}{Type} \PYG{n}{the} \PYG{n}{new} \PYG{n}{password} \PYG{n}{again}\PYG{o}{.}
111*7f2fe78bSCy Schubert\PYG{n}{Password} \PYG{n}{changed}\PYG{o}{.}
112*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
113*7f2fe78bSCy Schubert\end{sphinxVerbatim}
114*7f2fe78bSCy Schubert
115*7f2fe78bSCy Schubert\sphinxAtStartPar
116*7f2fe78bSCy SchubertIf \sphinxcode{\sphinxupquote{david}} typed the incorrect old password, he would get the
117*7f2fe78bSCy Schubertfollowing message:
118*7f2fe78bSCy Schubert
119*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
120*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{kpasswd}
121*7f2fe78bSCy Schubert\PYG{n}{Password} \PYG{k}{for} \PYG{n}{david}\PYG{p}{:}  \PYG{o}{\PYGZlt{}}\PYG{o}{\PYGZhy{}} \PYG{n}{Type} \PYG{n}{the} \PYG{n}{incorrect} \PYG{n}{old} \PYG{n}{password}\PYG{o}{.}
122*7f2fe78bSCy Schubert\PYG{n}{kpasswd}\PYG{p}{:} \PYG{n}{Password} \PYG{n}{incorrect} \PYG{k}{while} \PYG{n}{getting} \PYG{n}{initial} \PYG{n}{ticket}
123*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
124*7f2fe78bSCy Schubert\end{sphinxVerbatim}
125*7f2fe78bSCy Schubert
126*7f2fe78bSCy Schubert\sphinxAtStartPar
127*7f2fe78bSCy SchubertIf you make a mistake and don’t type the new password the same way
128*7f2fe78bSCy Schuberttwice, kpasswd will ask you to try again:
129*7f2fe78bSCy Schubert
130*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
131*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{kpasswd}
132*7f2fe78bSCy Schubert\PYG{n}{Password} \PYG{k}{for} \PYG{n}{david}\PYG{p}{:}  \PYG{o}{\PYGZlt{}}\PYG{o}{\PYGZhy{}} \PYG{n}{Type} \PYG{n}{the} \PYG{n}{old} \PYG{n}{password}\PYG{o}{.}
133*7f2fe78bSCy Schubert\PYG{n}{Enter} \PYG{n}{new} \PYG{n}{password}\PYG{p}{:}  \PYG{o}{\PYGZlt{}}\PYG{o}{\PYGZhy{}} \PYG{n}{Type} \PYG{n}{the} \PYG{n}{new} \PYG{n}{password}\PYG{o}{.}
134*7f2fe78bSCy Schubert\PYG{n}{Enter} \PYG{n}{it} \PYG{n}{again}\PYG{p}{:} \PYG{o}{\PYGZlt{}}\PYG{o}{\PYGZhy{}} \PYG{n}{Type} \PYG{n}{a} \PYG{n}{different} \PYG{n}{new} \PYG{n}{password}\PYG{o}{.}
135*7f2fe78bSCy Schubert\PYG{n}{kpasswd}\PYG{p}{:} \PYG{n}{Password} \PYG{n}{mismatch} \PYG{k}{while} \PYG{n}{reading} \PYG{n}{password}
136*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
137*7f2fe78bSCy Schubert\end{sphinxVerbatim}
138*7f2fe78bSCy Schubert
139*7f2fe78bSCy Schubert\sphinxAtStartPar
140*7f2fe78bSCy SchubertOnce you change your password, it takes some time for the change to
141*7f2fe78bSCy Schubertpropagate through the system.  Depending on how your system is set up,
142*7f2fe78bSCy Schubertthis might be anywhere from a few minutes to an hour or more.  If you
143*7f2fe78bSCy Schubertneed to get new Kerberos tickets shortly after changing your password,
144*7f2fe78bSCy Schuberttry the new password.  If the new password doesn’t work, try again
145*7f2fe78bSCy Schubertusing the old one.
146*7f2fe78bSCy Schubert
147*7f2fe78bSCy Schubert
148*7f2fe78bSCy Schubert\section{Granting access to your account}
149*7f2fe78bSCy Schubert\label{\detokenize{user/pwd_mgmt:granting-access-to-your-account}}\label{\detokenize{user/pwd_mgmt:grant-access}}
150*7f2fe78bSCy Schubert\sphinxAtStartPar
151*7f2fe78bSCy SchubertIf you need to give someone access to log into your account, you can
152*7f2fe78bSCy Schubertdo so through Kerberos, without telling the person your password.
153*7f2fe78bSCy SchubertSimply create a file called {\hyperref[\detokenize{user/user_config/k5login:k5login-5}]{\sphinxcrossref{\DUrole{std,std-ref}{.k5login}}}} in your home directory.
154*7f2fe78bSCy SchubertThis file should contain the Kerberos principal of each person to whom
155*7f2fe78bSCy Schubertyou wish to give access.  Each principal must be on a separate line.
156*7f2fe78bSCy SchubertHere is a sample .k5login file:
157*7f2fe78bSCy Schubert
158*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
159*7f2fe78bSCy Schubert\PYG{n}{jennifer}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}
160*7f2fe78bSCy Schubert\PYG{n}{david}\PYG{n+nd}{@EXAMPLE}\PYG{o}{.}\PYG{n}{COM}
161*7f2fe78bSCy Schubert\end{sphinxVerbatim}
162*7f2fe78bSCy Schubert
163*7f2fe78bSCy Schubert\sphinxAtStartPar
164*7f2fe78bSCy SchubertThis file would allow the users \sphinxcode{\sphinxupquote{jennifer}} and \sphinxcode{\sphinxupquote{david}} to use your
165*7f2fe78bSCy Schubertuser ID, provided that they had Kerberos tickets in their respective
166*7f2fe78bSCy Schubertrealms.  If you will be logging into other hosts across a network, you
167*7f2fe78bSCy Schubertwill want to include your own Kerberos principal in your .k5login file
168*7f2fe78bSCy Schuberton each of these hosts.
169*7f2fe78bSCy Schubert
170*7f2fe78bSCy Schubert\sphinxAtStartPar
171*7f2fe78bSCy SchubertUsing a .k5login file is much safer than giving out your password,
172*7f2fe78bSCy Schubertbecause:
173*7f2fe78bSCy Schubert\begin{itemize}
174*7f2fe78bSCy Schubert\item {}
175*7f2fe78bSCy Schubert\sphinxAtStartPar
176*7f2fe78bSCy SchubertYou can take access away any time simply by removing the principal
177*7f2fe78bSCy Schubertfrom your .k5login file.
178*7f2fe78bSCy Schubert
179*7f2fe78bSCy Schubert\item {}
180*7f2fe78bSCy Schubert\sphinxAtStartPar
181*7f2fe78bSCy SchubertAlthough the user has full access to your account on one particular
182*7f2fe78bSCy Schuberthost (or set of hosts if your .k5login file is shared, e.g., over
183*7f2fe78bSCy SchubertNFS), that user does not inherit your network privileges.
184*7f2fe78bSCy Schubert
185*7f2fe78bSCy Schubert\item {}
186*7f2fe78bSCy Schubert\sphinxAtStartPar
187*7f2fe78bSCy SchubertKerberos keeps a log of who obtains tickets, so a system
188*7f2fe78bSCy Schubertadministrator could find out, if necessary, who was capable of using
189*7f2fe78bSCy Schubertyour user ID at a particular time.
190*7f2fe78bSCy Schubert
191*7f2fe78bSCy Schubert\end{itemize}
192*7f2fe78bSCy Schubert
193*7f2fe78bSCy Schubert\sphinxAtStartPar
194*7f2fe78bSCy SchubertOne common application is to have a .k5login file in root’s home
195*7f2fe78bSCy Schubertdirectory, giving root access to that machine to the Kerberos
196*7f2fe78bSCy Schubertprincipals listed.  This allows system administrators to allow users
197*7f2fe78bSCy Schubertto become root locally, or to log in remotely as root, without their
198*7f2fe78bSCy Schuberthaving to give out the root password, and without anyone having to
199*7f2fe78bSCy Schuberttype the root password over the network.
200*7f2fe78bSCy Schubert
201*7f2fe78bSCy Schubert
202*7f2fe78bSCy Schubert\section{Password quality verification}
203*7f2fe78bSCy Schubert\label{\detokenize{user/pwd_mgmt:password-quality-verification}}
204*7f2fe78bSCy Schubert\sphinxAtStartPar
205*7f2fe78bSCy SchubertTODO
206*7f2fe78bSCy Schubert
207*7f2fe78bSCy Schubert
208*7f2fe78bSCy Schubert\chapter{Ticket management}
209*7f2fe78bSCy Schubert\label{\detokenize{user/tkt_mgmt:ticket-management}}\label{\detokenize{user/tkt_mgmt::doc}}
210*7f2fe78bSCy Schubert\sphinxAtStartPar
211*7f2fe78bSCy SchubertOn many systems, Kerberos is built into the login program, and you get
212*7f2fe78bSCy Schuberttickets automatically when you log in.  Other programs, such as ssh,
213*7f2fe78bSCy Schubertcan forward copies of your tickets to a remote host.  Most of these
214*7f2fe78bSCy Schubertprograms also automatically destroy your tickets when they exit.
215*7f2fe78bSCy SchubertHowever, MIT recommends that you explicitly destroy your Kerberos
216*7f2fe78bSCy Schuberttickets when you are through with them, just to be sure.  One way to
217*7f2fe78bSCy Schuberthelp ensure that this happens is to add the {\hyperref[\detokenize{user/user_commands/kdestroy:kdestroy-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kdestroy}}}} command
218*7f2fe78bSCy Schubertto your .logout file.  Additionally, if you are going to be away from
219*7f2fe78bSCy Schubertyour machine and are concerned about an intruder using your
220*7f2fe78bSCy Schubertpermissions, it is safest to either destroy all copies of your
221*7f2fe78bSCy Schuberttickets, or use a screensaver that locks the screen.
222*7f2fe78bSCy Schubert
223*7f2fe78bSCy Schubert
224*7f2fe78bSCy Schubert\section{Kerberos ticket properties}
225*7f2fe78bSCy Schubert\label{\detokenize{user/tkt_mgmt:kerberos-ticket-properties}}
226*7f2fe78bSCy Schubert\sphinxAtStartPar
227*7f2fe78bSCy SchubertThere are various properties that Kerberos tickets can have:
228*7f2fe78bSCy Schubert
229*7f2fe78bSCy Schubert\sphinxAtStartPar
230*7f2fe78bSCy SchubertIf a ticket is \sphinxstylestrong{forwardable}, then the KDC can issue a new ticket
231*7f2fe78bSCy Schubert(with a different network address, if necessary) based on the
232*7f2fe78bSCy Schubertforwardable ticket.  This allows for authentication forwarding without
233*7f2fe78bSCy Schubertrequiring a password to be typed in again.  For example, if a user
234*7f2fe78bSCy Schubertwith a forwardable TGT logs into a remote system, the KDC could issue
235*7f2fe78bSCy Schuberta new TGT for that user with the network address of the remote system,
236*7f2fe78bSCy Schubertallowing authentication on that host to work as though the user were
237*7f2fe78bSCy Schubertlogged in locally.
238*7f2fe78bSCy Schubert
239*7f2fe78bSCy Schubert\sphinxAtStartPar
240*7f2fe78bSCy SchubertWhen the KDC creates a new ticket based on a forwardable ticket, it
241*7f2fe78bSCy Schubertsets the \sphinxstylestrong{forwarded} flag on that new ticket.  Any tickets that are
242*7f2fe78bSCy Schubertcreated based on a ticket with the forwarded flag set will also have
243*7f2fe78bSCy Schuberttheir forwarded flags set.
244*7f2fe78bSCy Schubert
245*7f2fe78bSCy Schubert\sphinxAtStartPar
246*7f2fe78bSCy SchubertA \sphinxstylestrong{proxiable} ticket is similar to a forwardable ticket in that it
247*7f2fe78bSCy Schubertallows a service to take on the identity of the client.  Unlike a
248*7f2fe78bSCy Schubertforwardable ticket, however, a proxiable ticket is only issued for
249*7f2fe78bSCy Schubertspecific services.  In other words, a ticket\sphinxhyphen{}granting ticket cannot be
250*7f2fe78bSCy Schubertissued based on a ticket that is proxiable but not forwardable.
251*7f2fe78bSCy Schubert
252*7f2fe78bSCy Schubert\sphinxAtStartPar
253*7f2fe78bSCy SchubertA \sphinxstylestrong{proxy} ticket is one that was issued based on a proxiable ticket.
254*7f2fe78bSCy Schubert
255*7f2fe78bSCy Schubert\sphinxAtStartPar
256*7f2fe78bSCy SchubertA \sphinxstylestrong{postdated} ticket is issued with the invalid flag set.  After the
257*7f2fe78bSCy Schubertstarting time listed on the ticket, it can be presented to the KDC to
258*7f2fe78bSCy Schubertobtain valid tickets.
259*7f2fe78bSCy Schubert
260*7f2fe78bSCy Schubert\sphinxAtStartPar
261*7f2fe78bSCy SchubertTicket\sphinxhyphen{}granting tickets with the \sphinxstylestrong{postdateable} flag set can be used
262*7f2fe78bSCy Schubertto obtain postdated service tickets.
263*7f2fe78bSCy Schubert
264*7f2fe78bSCy Schubert\sphinxAtStartPar
265*7f2fe78bSCy Schubert\sphinxstylestrong{Renewable} tickets can be used to obtain new session keys without
266*7f2fe78bSCy Schubertthe user entering their password again.  A renewable ticket has two
267*7f2fe78bSCy Schubertexpiration times.  The first is the time at which this particular
268*7f2fe78bSCy Schubertticket expires.  The second is the latest possible expiration time for
269*7f2fe78bSCy Schubertany ticket issued based on this renewable ticket.
270*7f2fe78bSCy Schubert
271*7f2fe78bSCy Schubert\sphinxAtStartPar
272*7f2fe78bSCy SchubertA ticket with the \sphinxstylestrong{initial flag} set was issued based on the
273*7f2fe78bSCy Schubertauthentication protocol, and not on a ticket\sphinxhyphen{}granting ticket.
274*7f2fe78bSCy SchubertApplication servers that wish to ensure that the user’s key has been
275*7f2fe78bSCy Schubertrecently presented for verification could specify that this flag must
276*7f2fe78bSCy Schubertbe set to accept the ticket.
277*7f2fe78bSCy Schubert
278*7f2fe78bSCy Schubert\sphinxAtStartPar
279*7f2fe78bSCy SchubertAn \sphinxstylestrong{invalid} ticket must be rejected by application servers.
280*7f2fe78bSCy SchubertPostdated tickets are usually issued with this flag set, and must be
281*7f2fe78bSCy Schubertvalidated by the KDC before they can be used.
282*7f2fe78bSCy Schubert
283*7f2fe78bSCy Schubert\sphinxAtStartPar
284*7f2fe78bSCy SchubertA \sphinxstylestrong{preauthenticated} ticket is one that was only issued after the
285*7f2fe78bSCy Schubertclient requesting the ticket had authenticated itself to the KDC.
286*7f2fe78bSCy Schubert
287*7f2fe78bSCy Schubert\sphinxAtStartPar
288*7f2fe78bSCy SchubertThe \sphinxstylestrong{hardware authentication} flag is set on a ticket which required
289*7f2fe78bSCy Schubertthe use of hardware for authentication.  The hardware is expected to
290*7f2fe78bSCy Schubertbe possessed only by the client which requested the tickets.
291*7f2fe78bSCy Schubert
292*7f2fe78bSCy Schubert\sphinxAtStartPar
293*7f2fe78bSCy SchubertIf a ticket has the \sphinxstylestrong{transit policy} checked flag set, then the KDC
294*7f2fe78bSCy Schubertthat issued this ticket implements the transited\sphinxhyphen{}realm check policy
295*7f2fe78bSCy Schubertand checked the transited\sphinxhyphen{}realms list on the ticket.  The
296*7f2fe78bSCy Schuberttransited\sphinxhyphen{}realms list contains a list of all intermediate realms
297*7f2fe78bSCy Schubertbetween the realm of the KDC that issued the first ticket and that of
298*7f2fe78bSCy Schubertthe one that issued the current ticket.  If this flag is not set, then
299*7f2fe78bSCy Schubertthe application server must check the transited realms itself or else
300*7f2fe78bSCy Schubertreject the ticket.
301*7f2fe78bSCy Schubert
302*7f2fe78bSCy Schubert\sphinxAtStartPar
303*7f2fe78bSCy SchubertThe \sphinxstylestrong{okay as delegate} flag indicates that the server specified in
304*7f2fe78bSCy Schubertthe ticket is suitable as a delegate as determined by the policy of
305*7f2fe78bSCy Schubertthat realm.  Some client applications may use this flag to decide
306*7f2fe78bSCy Schubertwhether to forward tickets to a remote host, although many
307*7f2fe78bSCy Schubertapplications do not honor it.
308*7f2fe78bSCy Schubert
309*7f2fe78bSCy Schubert\sphinxAtStartPar
310*7f2fe78bSCy SchubertAn \sphinxstylestrong{anonymous} ticket is one in which the named principal is a
311*7f2fe78bSCy Schubertgeneric principal for that realm; it does not actually specify the
312*7f2fe78bSCy Schubertindividual that will be using the ticket.  This ticket is meant only
313*7f2fe78bSCy Schubertto securely distribute a session key.
314*7f2fe78bSCy Schubert
315*7f2fe78bSCy Schubert
316*7f2fe78bSCy Schubert\section{Obtaining tickets with kinit}
317*7f2fe78bSCy Schubert\label{\detokenize{user/tkt_mgmt:obtaining-tickets-with-kinit}}\label{\detokenize{user/tkt_mgmt:obtain-tkt}}
318*7f2fe78bSCy Schubert\sphinxAtStartPar
319*7f2fe78bSCy SchubertIf your site has integrated Kerberos V5 with the login system, you
320*7f2fe78bSCy Schubertwill get Kerberos tickets automatically when you log in.  Otherwise,
321*7f2fe78bSCy Schubertyou may need to explicitly obtain your Kerberos tickets, using the
322*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_commands/kinit:kinit-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kinit}}}} program.  Similarly, if your Kerberos tickets expire,
323*7f2fe78bSCy Schubertuse the kinit program to obtain new ones.
324*7f2fe78bSCy Schubert
325*7f2fe78bSCy Schubert\sphinxAtStartPar
326*7f2fe78bSCy SchubertTo use the kinit program, simply type \sphinxcode{\sphinxupquote{kinit}} and then type your
327*7f2fe78bSCy Schubertpassword at the prompt. For example, Jennifer (whose username is
328*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{jennifer}}) works for Bleep, Inc. (a fictitious company with the
329*7f2fe78bSCy Schubertdomain name mit.edu and the Kerberos realm ATHENA.MIT.EDU).  She would
330*7f2fe78bSCy Schuberttype:
331*7f2fe78bSCy Schubert
332*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
333*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{kinit}
334*7f2fe78bSCy Schubert\PYG{n}{Password} \PYG{k}{for} \PYG{n}{jennifer}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}\PYG{p}{:} \PYG{o}{\PYGZlt{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}} \PYG{p}{[}\PYG{n}{Type} \PYG{n}{jennifer}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{s password here.]}
335*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
336*7f2fe78bSCy Schubert\end{sphinxVerbatim}
337*7f2fe78bSCy Schubert
338*7f2fe78bSCy Schubert\sphinxAtStartPar
339*7f2fe78bSCy SchubertIf you type your password incorrectly, kinit will give you the
340*7f2fe78bSCy Schubertfollowing error message:
341*7f2fe78bSCy Schubert
342*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
343*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{kinit}
344*7f2fe78bSCy Schubert\PYG{n}{Password} \PYG{k}{for} \PYG{n}{jennifer}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}\PYG{p}{:} \PYG{o}{\PYGZlt{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}} \PYG{p}{[}\PYG{n}{Type} \PYG{n}{the} \PYG{n}{wrong} \PYG{n}{password} \PYG{n}{here}\PYG{o}{.}\PYG{p}{]}
345*7f2fe78bSCy Schubert\PYG{n}{kinit}\PYG{p}{:} \PYG{n}{Password} \PYG{n}{incorrect}
346*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
347*7f2fe78bSCy Schubert\end{sphinxVerbatim}
348*7f2fe78bSCy Schubert
349*7f2fe78bSCy Schubert\sphinxAtStartPar
350*7f2fe78bSCy Schubertand you won’t get Kerberos tickets.
351*7f2fe78bSCy Schubert
352*7f2fe78bSCy Schubert\sphinxAtStartPar
353*7f2fe78bSCy SchubertBy default, kinit assumes you want tickets for your own username in
354*7f2fe78bSCy Schubertyour default realm.  Suppose Jennifer’s friend David is visiting, and
355*7f2fe78bSCy Schuberthe wants to borrow a window to check his mail.  David needs to get
356*7f2fe78bSCy Schuberttickets for himself in his own realm, EXAMPLE.COM.  He would type:
357*7f2fe78bSCy Schubert
358*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
359*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{kinit} \PYG{n}{david}\PYG{n+nd}{@EXAMPLE}\PYG{o}{.}\PYG{n}{COM}
360*7f2fe78bSCy Schubert\PYG{n}{Password} \PYG{k}{for} \PYG{n}{david}\PYG{n+nd}{@EXAMPLE}\PYG{o}{.}\PYG{n}{COM}\PYG{p}{:} \PYG{o}{\PYGZlt{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}} \PYG{p}{[}\PYG{n}{Type} \PYG{n}{david}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{s password here.]}
361*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
362*7f2fe78bSCy Schubert\end{sphinxVerbatim}
363*7f2fe78bSCy Schubert
364*7f2fe78bSCy Schubert\sphinxAtStartPar
365*7f2fe78bSCy SchubertDavid would then have tickets which he could use to log onto his own
366*7f2fe78bSCy Schubertmachine.  Note that he typed his password locally on Jennifer’s
367*7f2fe78bSCy Schubertmachine, but it never went over the network.  Kerberos on the local
368*7f2fe78bSCy Schuberthost performed the authentication to the KDC in the other realm.
369*7f2fe78bSCy Schubert
370*7f2fe78bSCy Schubert\sphinxAtStartPar
371*7f2fe78bSCy SchubertIf you want to be able to forward your tickets to another host, you
372*7f2fe78bSCy Schubertneed to request forwardable tickets.  You do this by specifying the
373*7f2fe78bSCy Schubert\sphinxstylestrong{\sphinxhyphen{}f} option:
374*7f2fe78bSCy Schubert
375*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
376*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{kinit} \PYG{o}{\PYGZhy{}}\PYG{n}{f}
377*7f2fe78bSCy Schubert\PYG{n}{Password} \PYG{k}{for} \PYG{n}{jennifer}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}\PYG{p}{:} \PYG{o}{\PYGZlt{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}} \PYG{p}{[}\PYG{n}{Type} \PYG{n}{your} \PYG{n}{password} \PYG{n}{here}\PYG{o}{.}\PYG{p}{]}
378*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
379*7f2fe78bSCy Schubert\end{sphinxVerbatim}
380*7f2fe78bSCy Schubert
381*7f2fe78bSCy Schubert\sphinxAtStartPar
382*7f2fe78bSCy SchubertNote that kinit does not tell you that it obtained forwardable
383*7f2fe78bSCy Schuberttickets; you can verify this using the {\hyperref[\detokenize{user/user_commands/klist:klist-1}]{\sphinxcrossref{\DUrole{std,std-ref}{klist}}}} command (see
384*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/tkt_mgmt:view-tkt}]{\sphinxcrossref{\DUrole{std,std-ref}{Viewing tickets with klist}}}}).
385*7f2fe78bSCy Schubert
386*7f2fe78bSCy Schubert\sphinxAtStartPar
387*7f2fe78bSCy SchubertNormally, your tickets are good for your system’s default ticket
388*7f2fe78bSCy Schubertlifetime, which is ten hours on many systems.  You can specify a
389*7f2fe78bSCy Schubertdifferent ticket lifetime with the \sphinxstylestrong{\sphinxhyphen{}l} option.  Add the letter
390*7f2fe78bSCy Schubert\sphinxstylestrong{s} to the value for seconds, \sphinxstylestrong{m} for minutes, \sphinxstylestrong{h} for hours, or
391*7f2fe78bSCy Schubert\sphinxstylestrong{d} for days.  For example, to obtain forwardable tickets for
392*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{david@EXAMPLE.COM}} that would be good for three hours, you would
393*7f2fe78bSCy Schuberttype:
394*7f2fe78bSCy Schubert
395*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
396*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{kinit} \PYG{o}{\PYGZhy{}}\PYG{n}{f} \PYG{o}{\PYGZhy{}}\PYG{n}{l} \PYG{l+m+mi}{3}\PYG{n}{h} \PYG{n}{david}\PYG{n+nd}{@EXAMPLE}\PYG{o}{.}\PYG{n}{COM}
397*7f2fe78bSCy Schubert\PYG{n}{Password} \PYG{k}{for} \PYG{n}{david}\PYG{n+nd}{@EXAMPLE}\PYG{o}{.}\PYG{n}{COM}\PYG{p}{:} \PYG{o}{\PYGZlt{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}} \PYG{p}{[}\PYG{n}{Type} \PYG{n}{david}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{s password here.]}
398*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
399*7f2fe78bSCy Schubert\end{sphinxVerbatim}
400*7f2fe78bSCy Schubert
401*7f2fe78bSCy Schubert\begin{sphinxadmonition}{note}{Note:}
402*7f2fe78bSCy Schubert\sphinxAtStartPar
403*7f2fe78bSCy SchubertYou cannot mix units; specifying a lifetime of 3h30m would
404*7f2fe78bSCy Schubertresult in an error.  Note also that most systems specify a
405*7f2fe78bSCy Schubertmaximum ticket lifetime.  If you request a longer ticket
406*7f2fe78bSCy Schubertlifetime, it will be automatically truncated to the maximum
407*7f2fe78bSCy Schubertlifetime.
408*7f2fe78bSCy Schubert\end{sphinxadmonition}
409*7f2fe78bSCy Schubert
410*7f2fe78bSCy Schubert
411*7f2fe78bSCy Schubert\section{Viewing tickets with klist}
412*7f2fe78bSCy Schubert\label{\detokenize{user/tkt_mgmt:viewing-tickets-with-klist}}\label{\detokenize{user/tkt_mgmt:view-tkt}}
413*7f2fe78bSCy Schubert\sphinxAtStartPar
414*7f2fe78bSCy SchubertThe {\hyperref[\detokenize{user/user_commands/klist:klist-1}]{\sphinxcrossref{\DUrole{std,std-ref}{klist}}}} command shows your tickets.  When you first obtain
415*7f2fe78bSCy Schuberttickets, you will have only the ticket\sphinxhyphen{}granting ticket.  The listing
416*7f2fe78bSCy Schubertwould look like this:
417*7f2fe78bSCy Schubert
418*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
419*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{klist}
420*7f2fe78bSCy Schubert\PYG{n}{Ticket} \PYG{n}{cache}\PYG{p}{:} \PYG{o}{/}\PYG{n}{tmp}\PYG{o}{/}\PYG{n}{krb5cc\PYGZus{}ttypa}
421*7f2fe78bSCy Schubert\PYG{n}{Default} \PYG{n}{principal}\PYG{p}{:} \PYG{n}{jennifer}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}
422*7f2fe78bSCy Schubert
423*7f2fe78bSCy Schubert\PYG{n}{Valid} \PYG{n}{starting}     \PYG{n}{Expires}            \PYG{n}{Service} \PYG{n}{principal}
424*7f2fe78bSCy Schubert\PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{07}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{19}\PYG{p}{:}\PYG{l+m+mi}{49}\PYG{p}{:}\PYG{l+m+mi}{21}  \PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{08}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{05}\PYG{p}{:}\PYG{l+m+mi}{49}\PYG{p}{:}\PYG{l+m+mi}{19}  \PYG{n}{krbtgt}\PYG{o}{/}\PYG{n}{ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}
425*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
426*7f2fe78bSCy Schubert\end{sphinxVerbatim}
427*7f2fe78bSCy Schubert
428*7f2fe78bSCy Schubert\sphinxAtStartPar
429*7f2fe78bSCy SchubertThe ticket cache is the location of your ticket file. In the above
430*7f2fe78bSCy Schubertexample, this file is named \sphinxcode{\sphinxupquote{/tmp/krb5cc\_ttypa}}. The default
431*7f2fe78bSCy Schubertprincipal is your Kerberos principal.
432*7f2fe78bSCy Schubert
433*7f2fe78bSCy Schubert\sphinxAtStartPar
434*7f2fe78bSCy SchubertThe “valid starting” and “expires” fields describe the period of time
435*7f2fe78bSCy Schubertduring which the ticket is valid.  The “service principal” describes
436*7f2fe78bSCy Schuberteach ticket.  The ticket\sphinxhyphen{}granting ticket has a first component
437*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{krbtgt}}, and a second component which is the realm name.
438*7f2fe78bSCy Schubert
439*7f2fe78bSCy Schubert\sphinxAtStartPar
440*7f2fe78bSCy SchubertNow, if \sphinxcode{\sphinxupquote{jennifer}} connected to the machine \sphinxcode{\sphinxupquote{daffodil.mit.edu}},
441*7f2fe78bSCy Schubertand then typed “klist” again, she would have gotten the following
442*7f2fe78bSCy Schubertresult:
443*7f2fe78bSCy Schubert
444*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
445*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{klist}
446*7f2fe78bSCy Schubert\PYG{n}{Ticket} \PYG{n}{cache}\PYG{p}{:} \PYG{o}{/}\PYG{n}{tmp}\PYG{o}{/}\PYG{n}{krb5cc\PYGZus{}ttypa}
447*7f2fe78bSCy Schubert\PYG{n}{Default} \PYG{n}{principal}\PYG{p}{:} \PYG{n}{jennifer}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}
448*7f2fe78bSCy Schubert
449*7f2fe78bSCy Schubert\PYG{n}{Valid} \PYG{n}{starting}     \PYG{n}{Expires}            \PYG{n}{Service} \PYG{n}{principal}
450*7f2fe78bSCy Schubert\PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{07}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{19}\PYG{p}{:}\PYG{l+m+mi}{49}\PYG{p}{:}\PYG{l+m+mi}{21}  \PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{08}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{05}\PYG{p}{:}\PYG{l+m+mi}{49}\PYG{p}{:}\PYG{l+m+mi}{19}  \PYG{n}{krbtgt}\PYG{o}{/}\PYG{n}{ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}
451*7f2fe78bSCy Schubert\PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{07}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{20}\PYG{p}{:}\PYG{l+m+mi}{22}\PYG{p}{:}\PYG{l+m+mi}{30}  \PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{08}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{05}\PYG{p}{:}\PYG{l+m+mi}{49}\PYG{p}{:}\PYG{l+m+mi}{19}  \PYG{n}{host}\PYG{o}{/}\PYG{n}{daffodil}\PYG{o}{.}\PYG{n}{mit}\PYG{o}{.}\PYG{n}{edu}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}
452*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
453*7f2fe78bSCy Schubert\end{sphinxVerbatim}
454*7f2fe78bSCy Schubert
455*7f2fe78bSCy Schubert\sphinxAtStartPar
456*7f2fe78bSCy SchubertHere’s what happened: when \sphinxcode{\sphinxupquote{jennifer}} used ssh to connect to the
457*7f2fe78bSCy Schuberthost \sphinxcode{\sphinxupquote{daffodil.mit.edu}}, the ssh program presented her
458*7f2fe78bSCy Schubertticket\sphinxhyphen{}granting ticket to the KDC and requested a host ticket for the
459*7f2fe78bSCy Schuberthost \sphinxcode{\sphinxupquote{daffodil.mit.edu}}.  The KDC sent the host ticket, which ssh
460*7f2fe78bSCy Schubertthen presented to the host \sphinxcode{\sphinxupquote{daffodil.mit.edu}}, and she was allowed
461*7f2fe78bSCy Schubertto log in without typing her password.
462*7f2fe78bSCy Schubert
463*7f2fe78bSCy Schubert\sphinxAtStartPar
464*7f2fe78bSCy SchubertSuppose your Kerberos tickets allow you to log into a host in another
465*7f2fe78bSCy Schubertdomain, such as \sphinxcode{\sphinxupquote{trillium.example.com}}, which is also in another
466*7f2fe78bSCy SchubertKerberos realm, \sphinxcode{\sphinxupquote{EXAMPLE.COM}}.  If you ssh to this host, you will
467*7f2fe78bSCy Schubertreceive a ticket\sphinxhyphen{}granting ticket for the realm \sphinxcode{\sphinxupquote{EXAMPLE.COM}}, plus
468*7f2fe78bSCy Schubertthe new host ticket for \sphinxcode{\sphinxupquote{trillium.example.com}}.  klist will now
469*7f2fe78bSCy Schubertshow:
470*7f2fe78bSCy Schubert
471*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
472*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{klist}
473*7f2fe78bSCy Schubert\PYG{n}{Ticket} \PYG{n}{cache}\PYG{p}{:} \PYG{o}{/}\PYG{n}{tmp}\PYG{o}{/}\PYG{n}{krb5cc\PYGZus{}ttypa}
474*7f2fe78bSCy Schubert\PYG{n}{Default} \PYG{n}{principal}\PYG{p}{:} \PYG{n}{jennifer}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}
475*7f2fe78bSCy Schubert
476*7f2fe78bSCy Schubert\PYG{n}{Valid} \PYG{n}{starting}     \PYG{n}{Expires}            \PYG{n}{Service} \PYG{n}{principal}
477*7f2fe78bSCy Schubert\PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{07}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{19}\PYG{p}{:}\PYG{l+m+mi}{49}\PYG{p}{:}\PYG{l+m+mi}{21}  \PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{08}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{05}\PYG{p}{:}\PYG{l+m+mi}{49}\PYG{p}{:}\PYG{l+m+mi}{19}  \PYG{n}{krbtgt}\PYG{o}{/}\PYG{n}{ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}
478*7f2fe78bSCy Schubert\PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{07}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{20}\PYG{p}{:}\PYG{l+m+mi}{22}\PYG{p}{:}\PYG{l+m+mi}{30}  \PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{08}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{05}\PYG{p}{:}\PYG{l+m+mi}{49}\PYG{p}{:}\PYG{l+m+mi}{19}  \PYG{n}{host}\PYG{o}{/}\PYG{n}{daffodil}\PYG{o}{.}\PYG{n}{mit}\PYG{o}{.}\PYG{n}{edu}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}
479*7f2fe78bSCy Schubert\PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{07}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{20}\PYG{p}{:}\PYG{l+m+mi}{24}\PYG{p}{:}\PYG{l+m+mi}{18}  \PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{08}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{05}\PYG{p}{:}\PYG{l+m+mi}{49}\PYG{p}{:}\PYG{l+m+mi}{19}  \PYG{n}{krbtgt}\PYG{o}{/}\PYG{n}{EXAMPLE}\PYG{o}{.}\PYG{n}{COM}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}
480*7f2fe78bSCy Schubert\PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{07}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{20}\PYG{p}{:}\PYG{l+m+mi}{24}\PYG{p}{:}\PYG{l+m+mi}{18}  \PYG{l+m+mi}{06}\PYG{o}{/}\PYG{l+m+mi}{08}\PYG{o}{/}\PYG{l+m+mi}{04} \PYG{l+m+mi}{05}\PYG{p}{:}\PYG{l+m+mi}{49}\PYG{p}{:}\PYG{l+m+mi}{19}  \PYG{n}{host}\PYG{o}{/}\PYG{n}{trillium}\PYG{o}{.}\PYG{n}{example}\PYG{o}{.}\PYG{n}{com}\PYG{n+nd}{@EXAMPLE}\PYG{o}{.}\PYG{n}{COM}
481*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
482*7f2fe78bSCy Schubert\end{sphinxVerbatim}
483*7f2fe78bSCy Schubert
484*7f2fe78bSCy Schubert\sphinxAtStartPar
485*7f2fe78bSCy SchubertDepending on your host’s and realm’s configuration, you may also see a
486*7f2fe78bSCy Schubertticket with the service principal \sphinxcode{\sphinxupquote{host/trillium.example.com@}}.  If
487*7f2fe78bSCy Schubertso, this means that your host did not know what realm
488*7f2fe78bSCy Schuberttrillium.example.com is in, so it asked the \sphinxcode{\sphinxupquote{ATHENA.MIT.EDU}} KDC for
489*7f2fe78bSCy Schuberta referral.  The next time you connect to \sphinxcode{\sphinxupquote{trillium.example.com}},
490*7f2fe78bSCy Schubertthe odd\sphinxhyphen{}looking entry will be used to avoid needing to ask for a
491*7f2fe78bSCy Schubertreferral again.
492*7f2fe78bSCy Schubert
493*7f2fe78bSCy Schubert\sphinxAtStartPar
494*7f2fe78bSCy SchubertYou can use the \sphinxstylestrong{\sphinxhyphen{}f} option to view the flags that apply to your
495*7f2fe78bSCy Schuberttickets.  The flags are:
496*7f2fe78bSCy Schubert
497*7f2fe78bSCy Schubert
498*7f2fe78bSCy Schubert\begin{savenotes}\sphinxattablestart
499*7f2fe78bSCy Schubert\centering
500*7f2fe78bSCy Schubert\begin{tabulary}{\linewidth}[t]{|T|T|}
501*7f2fe78bSCy Schubert\hline
502*7f2fe78bSCy Schubert
503*7f2fe78bSCy Schubert\sphinxAtStartPar
504*7f2fe78bSCy SchubertF
505*7f2fe78bSCy Schubert&
506*7f2fe78bSCy Schubert\sphinxAtStartPar
507*7f2fe78bSCy SchubertForwardable
508*7f2fe78bSCy Schubert\\
509*7f2fe78bSCy Schubert\hline
510*7f2fe78bSCy Schubert\sphinxAtStartPar
511*7f2fe78bSCy Schubertf
512*7f2fe78bSCy Schubert&
513*7f2fe78bSCy Schubert\sphinxAtStartPar
514*7f2fe78bSCy Schubertforwarded
515*7f2fe78bSCy Schubert\\
516*7f2fe78bSCy Schubert\hline
517*7f2fe78bSCy Schubert\sphinxAtStartPar
518*7f2fe78bSCy SchubertP
519*7f2fe78bSCy Schubert&
520*7f2fe78bSCy Schubert\sphinxAtStartPar
521*7f2fe78bSCy SchubertProxiable
522*7f2fe78bSCy Schubert\\
523*7f2fe78bSCy Schubert\hline
524*7f2fe78bSCy Schubert\sphinxAtStartPar
525*7f2fe78bSCy Schubertp
526*7f2fe78bSCy Schubert&
527*7f2fe78bSCy Schubert\sphinxAtStartPar
528*7f2fe78bSCy Schubertproxy
529*7f2fe78bSCy Schubert\\
530*7f2fe78bSCy Schubert\hline
531*7f2fe78bSCy Schubert\sphinxAtStartPar
532*7f2fe78bSCy SchubertD
533*7f2fe78bSCy Schubert&
534*7f2fe78bSCy Schubert\sphinxAtStartPar
535*7f2fe78bSCy SchubertpostDateable
536*7f2fe78bSCy Schubert\\
537*7f2fe78bSCy Schubert\hline
538*7f2fe78bSCy Schubert\sphinxAtStartPar
539*7f2fe78bSCy Schubertd
540*7f2fe78bSCy Schubert&
541*7f2fe78bSCy Schubert\sphinxAtStartPar
542*7f2fe78bSCy Schubertpostdated
543*7f2fe78bSCy Schubert\\
544*7f2fe78bSCy Schubert\hline
545*7f2fe78bSCy Schubert\sphinxAtStartPar
546*7f2fe78bSCy SchubertR
547*7f2fe78bSCy Schubert&
548*7f2fe78bSCy Schubert\sphinxAtStartPar
549*7f2fe78bSCy SchubertRenewable
550*7f2fe78bSCy Schubert\\
551*7f2fe78bSCy Schubert\hline
552*7f2fe78bSCy Schubert\sphinxAtStartPar
553*7f2fe78bSCy SchubertI
554*7f2fe78bSCy Schubert&
555*7f2fe78bSCy Schubert\sphinxAtStartPar
556*7f2fe78bSCy SchubertInitial
557*7f2fe78bSCy Schubert\\
558*7f2fe78bSCy Schubert\hline
559*7f2fe78bSCy Schubert\sphinxAtStartPar
560*7f2fe78bSCy Schuberti
561*7f2fe78bSCy Schubert&
562*7f2fe78bSCy Schubert\sphinxAtStartPar
563*7f2fe78bSCy Schubertinvalid
564*7f2fe78bSCy Schubert\\
565*7f2fe78bSCy Schubert\hline
566*7f2fe78bSCy Schubert\sphinxAtStartPar
567*7f2fe78bSCy SchubertH
568*7f2fe78bSCy Schubert&
569*7f2fe78bSCy Schubert\sphinxAtStartPar
570*7f2fe78bSCy SchubertHardware authenticated
571*7f2fe78bSCy Schubert\\
572*7f2fe78bSCy Schubert\hline
573*7f2fe78bSCy Schubert\sphinxAtStartPar
574*7f2fe78bSCy SchubertA
575*7f2fe78bSCy Schubert&
576*7f2fe78bSCy Schubert\sphinxAtStartPar
577*7f2fe78bSCy SchubertpreAuthenticated
578*7f2fe78bSCy Schubert\\
579*7f2fe78bSCy Schubert\hline
580*7f2fe78bSCy Schubert\sphinxAtStartPar
581*7f2fe78bSCy SchubertT
582*7f2fe78bSCy Schubert&
583*7f2fe78bSCy Schubert\sphinxAtStartPar
584*7f2fe78bSCy SchubertTransit policy checked
585*7f2fe78bSCy Schubert\\
586*7f2fe78bSCy Schubert\hline
587*7f2fe78bSCy Schubert\sphinxAtStartPar
588*7f2fe78bSCy SchubertO
589*7f2fe78bSCy Schubert&
590*7f2fe78bSCy Schubert\sphinxAtStartPar
591*7f2fe78bSCy SchubertOkay as delegate
592*7f2fe78bSCy Schubert\\
593*7f2fe78bSCy Schubert\hline
594*7f2fe78bSCy Schubert\sphinxAtStartPar
595*7f2fe78bSCy Schuberta
596*7f2fe78bSCy Schubert&
597*7f2fe78bSCy Schubert\sphinxAtStartPar
598*7f2fe78bSCy Schubertanonymous
599*7f2fe78bSCy Schubert\\
600*7f2fe78bSCy Schubert\hline
601*7f2fe78bSCy Schubert\end{tabulary}
602*7f2fe78bSCy Schubert\par
603*7f2fe78bSCy Schubert\sphinxattableend\end{savenotes}
604*7f2fe78bSCy Schubert
605*7f2fe78bSCy Schubert\sphinxAtStartPar
606*7f2fe78bSCy SchubertHere is a sample listing.  In this example, the user \sphinxstyleemphasis{jennifer}
607*7f2fe78bSCy Schubertobtained her initial tickets (\sphinxstylestrong{I}), which are forwardable (\sphinxstylestrong{F})
608*7f2fe78bSCy Schubertand postdated (\sphinxstylestrong{d}) but not yet validated (\sphinxstylestrong{i}):
609*7f2fe78bSCy Schubert
610*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
611*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{klist} \PYG{o}{\PYGZhy{}}\PYG{n}{f}
612*7f2fe78bSCy Schubert\PYG{n}{Ticket} \PYG{n}{cache}\PYG{p}{:} \PYG{o}{/}\PYG{n}{tmp}\PYG{o}{/}\PYG{n}{krb5cc\PYGZus{}320}
613*7f2fe78bSCy Schubert\PYG{n}{Default} \PYG{n}{principal}\PYG{p}{:} \PYG{n}{jennifer}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}
614*7f2fe78bSCy Schubert
615*7f2fe78bSCy Schubert\PYG{n}{Valid} \PYG{n}{starting}      \PYG{n}{Expires}             \PYG{n}{Service} \PYG{n}{principal}
616*7f2fe78bSCy Schubert\PYG{l+m+mi}{31}\PYG{o}{/}\PYG{l+m+mi}{07}\PYG{o}{/}\PYG{l+m+mi}{05} \PYG{l+m+mi}{19}\PYG{p}{:}\PYG{l+m+mi}{06}\PYG{p}{:}\PYG{l+m+mi}{25}  \PYG{l+m+mi}{31}\PYG{o}{/}\PYG{l+m+mi}{07}\PYG{o}{/}\PYG{l+m+mi}{05} \PYG{l+m+mi}{19}\PYG{p}{:}\PYG{l+m+mi}{16}\PYG{p}{:}\PYG{l+m+mi}{25}  \PYG{n}{krbtgt}\PYG{o}{/}\PYG{n}{ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}\PYG{n+nd}{@ATHENA}\PYG{o}{.}\PYG{n}{MIT}\PYG{o}{.}\PYG{n}{EDU}
617*7f2fe78bSCy Schubert        \PYG{n}{Flags}\PYG{p}{:} \PYG{n}{FdiI}
618*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
619*7f2fe78bSCy Schubert\end{sphinxVerbatim}
620*7f2fe78bSCy Schubert
621*7f2fe78bSCy Schubert\sphinxAtStartPar
622*7f2fe78bSCy SchubertIn the following example, the user \sphinxstyleemphasis{david}’s tickets were forwarded
623*7f2fe78bSCy Schubert(\sphinxstylestrong{f}) to this host from another host.  The tickets are reforwardable
624*7f2fe78bSCy Schubert(\sphinxstylestrong{F}):
625*7f2fe78bSCy Schubert
626*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
627*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{klist} \PYG{o}{\PYGZhy{}}\PYG{n}{f}
628*7f2fe78bSCy Schubert\PYG{n}{Ticket} \PYG{n}{cache}\PYG{p}{:} \PYG{o}{/}\PYG{n}{tmp}\PYG{o}{/}\PYG{n}{krb5cc\PYGZus{}p11795}
629*7f2fe78bSCy Schubert\PYG{n}{Default} \PYG{n}{principal}\PYG{p}{:} \PYG{n}{david}\PYG{n+nd}{@EXAMPLE}\PYG{o}{.}\PYG{n}{COM}
630*7f2fe78bSCy Schubert
631*7f2fe78bSCy Schubert\PYG{n}{Valid} \PYG{n}{starting}     \PYG{n}{Expires}            \PYG{n}{Service} \PYG{n}{principal}
632*7f2fe78bSCy Schubert\PYG{l+m+mi}{07}\PYG{o}{/}\PYG{l+m+mi}{31}\PYG{o}{/}\PYG{l+m+mi}{05} \PYG{l+m+mi}{11}\PYG{p}{:}\PYG{l+m+mi}{52}\PYG{p}{:}\PYG{l+m+mi}{29}  \PYG{l+m+mi}{07}\PYG{o}{/}\PYG{l+m+mi}{31}\PYG{o}{/}\PYG{l+m+mi}{05} \PYG{l+m+mi}{21}\PYG{p}{:}\PYG{l+m+mi}{11}\PYG{p}{:}\PYG{l+m+mi}{23}  \PYG{n}{krbtgt}\PYG{o}{/}\PYG{n}{EXAMPLE}\PYG{o}{.}\PYG{n}{COM}\PYG{n+nd}{@EXAMPLE}\PYG{o}{.}\PYG{n}{COM}
633*7f2fe78bSCy Schubert        \PYG{n}{Flags}\PYG{p}{:} \PYG{n}{Ff}
634*7f2fe78bSCy Schubert\PYG{l+m+mi}{07}\PYG{o}{/}\PYG{l+m+mi}{31}\PYG{o}{/}\PYG{l+m+mi}{05} \PYG{l+m+mi}{12}\PYG{p}{:}\PYG{l+m+mi}{03}\PYG{p}{:}\PYG{l+m+mi}{48}  \PYG{l+m+mi}{07}\PYG{o}{/}\PYG{l+m+mi}{31}\PYG{o}{/}\PYG{l+m+mi}{05} \PYG{l+m+mi}{21}\PYG{p}{:}\PYG{l+m+mi}{11}\PYG{p}{:}\PYG{l+m+mi}{23}  \PYG{n}{host}\PYG{o}{/}\PYG{n}{trillium}\PYG{o}{.}\PYG{n}{example}\PYG{o}{.}\PYG{n}{com}\PYG{n+nd}{@EXAMPLE}\PYG{o}{.}\PYG{n}{COM}
635*7f2fe78bSCy Schubert        \PYG{n}{Flags}\PYG{p}{:} \PYG{n}{Ff}
636*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
637*7f2fe78bSCy Schubert\end{sphinxVerbatim}
638*7f2fe78bSCy Schubert
639*7f2fe78bSCy Schubert
640*7f2fe78bSCy Schubert\section{Destroying tickets with kdestroy}
641*7f2fe78bSCy Schubert\label{\detokenize{user/tkt_mgmt:destroying-tickets-with-kdestroy}}
642*7f2fe78bSCy Schubert\sphinxAtStartPar
643*7f2fe78bSCy SchubertYour Kerberos tickets are proof that you are indeed yourself, and
644*7f2fe78bSCy Schuberttickets could be stolen if someone gains access to a computer where
645*7f2fe78bSCy Schubertthey are stored.  If this happens, the person who has them can
646*7f2fe78bSCy Schubertmasquerade as you until they expire.  For this reason, you should
647*7f2fe78bSCy Schubertdestroy your Kerberos tickets when you are away from your computer.
648*7f2fe78bSCy Schubert
649*7f2fe78bSCy Schubert\sphinxAtStartPar
650*7f2fe78bSCy SchubertDestroying your tickets is easy.  Simply type kdestroy:
651*7f2fe78bSCy Schubert
652*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
653*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{kdestroy}
654*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
655*7f2fe78bSCy Schubert\end{sphinxVerbatim}
656*7f2fe78bSCy Schubert
657*7f2fe78bSCy Schubert\sphinxAtStartPar
658*7f2fe78bSCy SchubertIf {\hyperref[\detokenize{user/user_commands/kdestroy:kdestroy-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kdestroy}}}} fails to destroy your tickets, it will beep and
659*7f2fe78bSCy Schubertgive an error message.  For example, if kdestroy can’t find any
660*7f2fe78bSCy Schuberttickets to destroy, it will give the following message:
661*7f2fe78bSCy Schubert
662*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
663*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{kdestroy}
664*7f2fe78bSCy Schubert\PYG{n}{kdestroy}\PYG{p}{:} \PYG{n}{No} \PYG{n}{credentials} \PYG{n}{cache} \PYG{n}{file} \PYG{n}{found} \PYG{k}{while} \PYG{n}{destroying} \PYG{n}{cache}
665*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}}
666*7f2fe78bSCy Schubert\end{sphinxVerbatim}
667*7f2fe78bSCy Schubert
668*7f2fe78bSCy Schubert
669*7f2fe78bSCy Schubert\chapter{User config files}
670*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/index:user-config-files}}\label{\detokenize{user/user_config/index::doc}}
671*7f2fe78bSCy Schubert\sphinxAtStartPar
672*7f2fe78bSCy SchubertThe following files in your home directory can be used to control the
673*7f2fe78bSCy Schubertbehavior of Kerberos as it applies to your account (unless they have
674*7f2fe78bSCy Schubertbeen disabled by your host’s configuration):
675*7f2fe78bSCy Schubert
676*7f2fe78bSCy Schubert
677*7f2fe78bSCy Schubert\section{kerberos}
678*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/kerberos:kerberos}}\label{\detokenize{user/user_config/kerberos:kerberos-7}}\label{\detokenize{user/user_config/kerberos::doc}}
679*7f2fe78bSCy Schubert
680*7f2fe78bSCy Schubert\subsection{DESCRIPTION}
681*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/kerberos:description}}
682*7f2fe78bSCy Schubert\sphinxAtStartPar
683*7f2fe78bSCy SchubertThe Kerberos system authenticates individual users in a network
684*7f2fe78bSCy Schubertenvironment.  After authenticating yourself to Kerberos, you can use
685*7f2fe78bSCy SchubertKerberos\sphinxhyphen{}enabled programs without having to present passwords or
686*7f2fe78bSCy Schubertcertificates to those programs.
687*7f2fe78bSCy Schubert
688*7f2fe78bSCy Schubert\sphinxAtStartPar
689*7f2fe78bSCy SchubertIf you receive the following response from {\hyperref[\detokenize{user/user_commands/kinit:kinit-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kinit}}}}:
690*7f2fe78bSCy Schubert
691*7f2fe78bSCy Schubert\sphinxAtStartPar
692*7f2fe78bSCy Schubertkinit: Client not found in Kerberos database while getting initial
693*7f2fe78bSCy Schubertcredentials
694*7f2fe78bSCy Schubert
695*7f2fe78bSCy Schubert\sphinxAtStartPar
696*7f2fe78bSCy Schubertyou haven’t been registered as a Kerberos user.  See your system
697*7f2fe78bSCy Schubertadministrator.
698*7f2fe78bSCy Schubert
699*7f2fe78bSCy Schubert\sphinxAtStartPar
700*7f2fe78bSCy SchubertA Kerberos name usually contains three parts.  The first is the
701*7f2fe78bSCy Schubert\sphinxstylestrong{primary}, which is usually a user’s or service’s name.  The second
702*7f2fe78bSCy Schubertis the \sphinxstylestrong{instance}, which in the case of a user is usually null.
703*7f2fe78bSCy SchubertSome users may have privileged instances, however, such as \sphinxcode{\sphinxupquote{root}} or
704*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{admin}}.  In the case of a service, the instance is the fully
705*7f2fe78bSCy Schubertqualified name of the machine on which it runs; i.e. there can be an
706*7f2fe78bSCy Schubertssh service running on the machine ABC (\sphinxhref{mailto:ssh/ABC@REALM}{ssh/ABC@REALM}), which is
707*7f2fe78bSCy Schubertdifferent from the ssh service running on the machine XYZ
708*7f2fe78bSCy Schubert(\sphinxhref{mailto:ssh/XYZ@REALM}{ssh/XYZ@REALM}).  The third part of a Kerberos name is the \sphinxstylestrong{realm}.
709*7f2fe78bSCy SchubertThe realm corresponds to the Kerberos service providing authentication
710*7f2fe78bSCy Schubertfor the principal.  Realms are conventionally all\sphinxhyphen{}uppercase, and often
711*7f2fe78bSCy Schubertmatch the end of hostnames in the realm (for instance, host01.example.com
712*7f2fe78bSCy Schubertmight be in realm EXAMPLE.COM).
713*7f2fe78bSCy Schubert
714*7f2fe78bSCy Schubert\sphinxAtStartPar
715*7f2fe78bSCy SchubertWhen writing a Kerberos name, the principal name is separated from the
716*7f2fe78bSCy Schubertinstance (if not null) by a slash, and the realm (if not the local
717*7f2fe78bSCy Schubertrealm) follows, preceded by an “@” sign.  The following are examples
718*7f2fe78bSCy Schubertof valid Kerberos names:
719*7f2fe78bSCy Schubert
720*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
721*7f2fe78bSCy Schubert\PYG{n}{david}
722*7f2fe78bSCy Schubert\PYG{n}{jennifer}\PYG{o}{/}\PYG{n}{admin}
723*7f2fe78bSCy Schubert\PYG{n}{joeuser}\PYG{n+nd}{@BLEEP}\PYG{o}{.}\PYG{n}{COM}
724*7f2fe78bSCy Schubert\PYG{n}{cbrown}\PYG{o}{/}\PYG{n}{root}\PYG{n+nd}{@FUBAR}\PYG{o}{.}\PYG{n}{ORG}
725*7f2fe78bSCy Schubert\end{sphinxVerbatim}
726*7f2fe78bSCy Schubert
727*7f2fe78bSCy Schubert\sphinxAtStartPar
728*7f2fe78bSCy SchubertWhen you authenticate yourself with Kerberos you get an initial
729*7f2fe78bSCy SchubertKerberos \sphinxstylestrong{ticket}.  (A Kerberos ticket is an encrypted protocol
730*7f2fe78bSCy Schubertmessage that provides authentication.)  Kerberos uses this ticket for
731*7f2fe78bSCy Schubertnetwork utilities such as ssh.  The ticket transactions are done
732*7f2fe78bSCy Schuberttransparently, so you don’t have to worry about their management.
733*7f2fe78bSCy Schubert
734*7f2fe78bSCy Schubert\sphinxAtStartPar
735*7f2fe78bSCy SchubertNote, however, that tickets expire.  Administrators may configure more
736*7f2fe78bSCy Schubertprivileged tickets, such as those with service or instance of \sphinxcode{\sphinxupquote{root}}
737*7f2fe78bSCy Schubertor \sphinxcode{\sphinxupquote{admin}}, to expire in a few minutes, while tickets that carry
738*7f2fe78bSCy Schubertmore ordinary privileges may be good for several hours or a day.  If
739*7f2fe78bSCy Schubertyour login session extends beyond the time limit, you will have to
740*7f2fe78bSCy Schubertre\sphinxhyphen{}authenticate yourself to Kerberos to get new tickets using the
741*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_commands/kinit:kinit-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kinit}}}} command.
742*7f2fe78bSCy Schubert
743*7f2fe78bSCy Schubert\sphinxAtStartPar
744*7f2fe78bSCy SchubertSome tickets are \sphinxstylestrong{renewable} beyond their initial lifetime.  This
745*7f2fe78bSCy Schubertmeans that \sphinxcode{\sphinxupquote{kinit \sphinxhyphen{}R}} can extend their lifetime without requiring
746*7f2fe78bSCy Schubertyou to re\sphinxhyphen{}authenticate.
747*7f2fe78bSCy Schubert
748*7f2fe78bSCy Schubert\sphinxAtStartPar
749*7f2fe78bSCy SchubertIf you wish to delete your local tickets, use the {\hyperref[\detokenize{user/user_commands/kdestroy:kdestroy-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kdestroy}}}}
750*7f2fe78bSCy Schubertcommand.
751*7f2fe78bSCy Schubert
752*7f2fe78bSCy Schubert\sphinxAtStartPar
753*7f2fe78bSCy SchubertKerberos tickets can be forwarded.  In order to forward tickets, you
754*7f2fe78bSCy Schubertmust request \sphinxstylestrong{forwardable} tickets when you kinit.  Once you have
755*7f2fe78bSCy Schubertforwardable tickets, most Kerberos programs have a command line option
756*7f2fe78bSCy Schubertto forward them to the remote host.  This can be useful for, e.g.,
757*7f2fe78bSCy Schubertrunning kinit on your local machine and then sshing into another to do
758*7f2fe78bSCy Schubertwork.  Note that this should not be done on untrusted machines since
759*7f2fe78bSCy Schubertthey will then have your tickets.
760*7f2fe78bSCy Schubert
761*7f2fe78bSCy Schubert
762*7f2fe78bSCy Schubert\subsection{ENVIRONMENT VARIABLES}
763*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/kerberos:environment-variables}}
764*7f2fe78bSCy Schubert\sphinxAtStartPar
765*7f2fe78bSCy SchubertSeveral environment variables affect the operation of Kerberos\sphinxhyphen{}enabled
766*7f2fe78bSCy Schubertprograms.  These include:
767*7f2fe78bSCy Schubert\begin{description}
768*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{KRB5CCNAME}}] \leavevmode
769*7f2fe78bSCy Schubert\sphinxAtStartPar
770*7f2fe78bSCy SchubertDefault name for the credentials cache file, in the form
771*7f2fe78bSCy Schubert\sphinxstyleemphasis{TYPE}:\sphinxstyleemphasis{residual}.  The type of the default cache may determine
772*7f2fe78bSCy Schubertthe availability of a cache collection.  \sphinxcode{\sphinxupquote{FILE}} is not a
773*7f2fe78bSCy Schubertcollection type; \sphinxcode{\sphinxupquote{KEYRING}}, \sphinxcode{\sphinxupquote{DIR}}, and \sphinxcode{\sphinxupquote{KCM}} are.
774*7f2fe78bSCy Schubert
775*7f2fe78bSCy Schubert\sphinxAtStartPar
776*7f2fe78bSCy SchubertIf not set, the value of \sphinxstylestrong{default\_ccache\_name} from
777*7f2fe78bSCy Schubertconfiguration files (see \sphinxstylestrong{KRB5\_CONFIG}) will be used.  If that
778*7f2fe78bSCy Schubertis also not set, the default \sphinxstyleemphasis{type} is \sphinxcode{\sphinxupquote{FILE}}, and the
779*7f2fe78bSCy Schubert\sphinxstyleemphasis{residual} is the path /tmp/krb5cc\_*uid*, where \sphinxstyleemphasis{uid} is the
780*7f2fe78bSCy Schubertdecimal user ID of the user.
781*7f2fe78bSCy Schubert
782*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{KRB5\_KTNAME}}] \leavevmode
783*7f2fe78bSCy Schubert\sphinxAtStartPar
784*7f2fe78bSCy SchubertSpecifies the location of the default keytab file, in the form
785*7f2fe78bSCy Schubert\sphinxstyleemphasis{TYPE}:\sphinxstyleemphasis{residual}.  If no \sphinxstyleemphasis{type} is present, the \sphinxstylestrong{FILE} type is
786*7f2fe78bSCy Schubertassumed and \sphinxstyleemphasis{residual} is the pathname of the keytab file.  If
787*7f2fe78bSCy Schubertunset, \DUrole{xref,std,std-ref}{DEFKTNAME} will be used.
788*7f2fe78bSCy Schubert
789*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{KRB5\_CONFIG}}] \leavevmode
790*7f2fe78bSCy Schubert\sphinxAtStartPar
791*7f2fe78bSCy SchubertSpecifies the location of the Kerberos configuration file.  The
792*7f2fe78bSCy Schubertdefault is \DUrole{xref,std,std-ref}{SYSCONFDIR}\sphinxcode{\sphinxupquote{/krb5.conf}}.  Multiple filenames can
793*7f2fe78bSCy Schubertbe specified, separated by a colon; all files which are present
794*7f2fe78bSCy Schubertwill be read.
795*7f2fe78bSCy Schubert
796*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{KRB5\_KDC\_PROFILE}}] \leavevmode
797*7f2fe78bSCy Schubert\sphinxAtStartPar
798*7f2fe78bSCy SchubertSpecifies the location of the KDC configuration file, which
799*7f2fe78bSCy Schubertcontains additional configuration directives for the Key
800*7f2fe78bSCy SchubertDistribution Center daemon and associated programs.  The default
801*7f2fe78bSCy Schubertis \DUrole{xref,std,std-ref}{LOCALSTATEDIR}\sphinxcode{\sphinxupquote{/krb5kdc}}\sphinxcode{\sphinxupquote{/kdc.conf}}.
802*7f2fe78bSCy Schubert
803*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{KRB5RCACHENAME}}] \leavevmode
804*7f2fe78bSCy Schubert\sphinxAtStartPar
805*7f2fe78bSCy Schubert(New in release 1.18) Specifies the location of the default replay
806*7f2fe78bSCy Schubertcache, in the form \sphinxstyleemphasis{type}:\sphinxstyleemphasis{residual}.  The \sphinxcode{\sphinxupquote{file2}} type with a
807*7f2fe78bSCy Schubertpathname residual specifies a replay cache file in the version\sphinxhyphen{}2
808*7f2fe78bSCy Schubertformat in the specified location.  The \sphinxcode{\sphinxupquote{none}} type (residual is
809*7f2fe78bSCy Schubertignored) disables the replay cache.  The \sphinxcode{\sphinxupquote{dfl}} type (residual is
810*7f2fe78bSCy Schubertignored) indicates the default, which uses a file2 replay cache in
811*7f2fe78bSCy Schuberta temporary directory.  The default is \sphinxcode{\sphinxupquote{dfl:}}.
812*7f2fe78bSCy Schubert
813*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{KRB5RCACHETYPE}}] \leavevmode
814*7f2fe78bSCy Schubert\sphinxAtStartPar
815*7f2fe78bSCy SchubertSpecifies the type of the default replay cache, if
816*7f2fe78bSCy Schubert\sphinxstylestrong{KRB5RCACHENAME} is unspecified.  No residual can be specified,
817*7f2fe78bSCy Schubertso \sphinxcode{\sphinxupquote{none}} and \sphinxcode{\sphinxupquote{dfl}} are the only useful types.
818*7f2fe78bSCy Schubert
819*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{KRB5RCACHEDIR}}] \leavevmode
820*7f2fe78bSCy Schubert\sphinxAtStartPar
821*7f2fe78bSCy SchubertSpecifies the directory used by the \sphinxcode{\sphinxupquote{dfl}} replay cache type.
822*7f2fe78bSCy SchubertThe default is the value of the \sphinxstylestrong{TMPDIR} environment variable,
823*7f2fe78bSCy Schubertor \sphinxcode{\sphinxupquote{/var/tmp}} if \sphinxstylestrong{TMPDIR} is not set.
824*7f2fe78bSCy Schubert
825*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{KRB5\_TRACE}}] \leavevmode
826*7f2fe78bSCy Schubert\sphinxAtStartPar
827*7f2fe78bSCy SchubertSpecifies a filename to write trace log output to.  Trace logs can
828*7f2fe78bSCy Schuberthelp illuminate decisions made internally by the Kerberos
829*7f2fe78bSCy Schubertlibraries.  For example, \sphinxcode{\sphinxupquote{env KRB5\_TRACE=/dev/stderr kinit}}
830*7f2fe78bSCy Schubertwould send tracing information for {\hyperref[\detokenize{user/user_commands/kinit:kinit-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kinit}}}} to
831*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{/dev/stderr}}.  The default is not to write trace log output
832*7f2fe78bSCy Schubertanywhere.
833*7f2fe78bSCy Schubert
834*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{KRB5\_CLIENT\_KTNAME}}] \leavevmode
835*7f2fe78bSCy Schubert\sphinxAtStartPar
836*7f2fe78bSCy SchubertDefault client keytab file name.  If unset, \DUrole{xref,std,std-ref}{DEFCKTNAME} will be
837*7f2fe78bSCy Schubertused).
838*7f2fe78bSCy Schubert
839*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{KPROP\_PORT}}] \leavevmode
840*7f2fe78bSCy Schubert\sphinxAtStartPar
841*7f2fe78bSCy Schubert\DUrole{xref,std,std-ref}{kprop(8)} port to use.  Defaults to 754.
842*7f2fe78bSCy Schubert
843*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{GSS\_MECH\_CONFIG}}] \leavevmode
844*7f2fe78bSCy Schubert\sphinxAtStartPar
845*7f2fe78bSCy SchubertSpecifies a filename containing GSSAPI mechanism module
846*7f2fe78bSCy Schubertconfiguration.  The default is to read \DUrole{xref,std,std-ref}{SYSCONFDIR}\sphinxcode{\sphinxupquote{/gss/mech}}
847*7f2fe78bSCy Schubertand files with a \sphinxcode{\sphinxupquote{.conf}} suffix within the directory
848*7f2fe78bSCy Schubert\DUrole{xref,std,std-ref}{SYSCONFDIR}\sphinxcode{\sphinxupquote{/gss/mech.d}}.
849*7f2fe78bSCy Schubert
850*7f2fe78bSCy Schubert\end{description}
851*7f2fe78bSCy Schubert
852*7f2fe78bSCy Schubert\sphinxAtStartPar
853*7f2fe78bSCy SchubertMost environment variables are disabled for certain programs, such as
854*7f2fe78bSCy Schubertlogin system programs and setuid programs, which are designed to be
855*7f2fe78bSCy Schubertsecure when run within an untrusted process environment.
856*7f2fe78bSCy Schubert
857*7f2fe78bSCy Schubert
858*7f2fe78bSCy Schubert\subsection{SEE ALSO}
859*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/kerberos:see-also}}
860*7f2fe78bSCy Schubert\sphinxAtStartPar
861*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_commands/kdestroy:kdestroy-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kdestroy}}}}, {\hyperref[\detokenize{user/user_commands/kinit:kinit-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kinit}}}}, {\hyperref[\detokenize{user/user_commands/klist:klist-1}]{\sphinxcrossref{\DUrole{std,std-ref}{klist}}}},
862*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_commands/kswitch:kswitch-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kswitch}}}}, {\hyperref[\detokenize{user/user_commands/kpasswd:kpasswd-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kpasswd}}}}, {\hyperref[\detokenize{user/user_commands/ksu:ksu-1}]{\sphinxcrossref{\DUrole{std,std-ref}{ksu}}}},
863*7f2fe78bSCy Schubert\DUrole{xref,std,std-ref}{krb5.conf(5)}, \DUrole{xref,std,std-ref}{kdc.conf(5)}, \DUrole{xref,std,std-ref}{kadmin(1)},
864*7f2fe78bSCy Schubert\DUrole{xref,std,std-ref}{kadmind(8)}, \DUrole{xref,std,std-ref}{kdb5\_util(8)}, \DUrole{xref,std,std-ref}{krb5kdc(8)}
865*7f2fe78bSCy Schubert
866*7f2fe78bSCy Schubert
867*7f2fe78bSCy Schubert\subsection{BUGS}
868*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/kerberos:bugs}}
869*7f2fe78bSCy Schubert
870*7f2fe78bSCy Schubert\subsection{AUTHORS}
871*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/kerberos:authors}}
872*7f2fe78bSCy Schubert\begin{DUlineblock}{0em}
873*7f2fe78bSCy Schubert\item[] Steve Miller, MIT Project Athena/Digital Equipment Corporation
874*7f2fe78bSCy Schubert\item[] Clifford Neuman, MIT Project Athena
875*7f2fe78bSCy Schubert\item[] Greg Hudson, MIT Kerberos Consortium
876*7f2fe78bSCy Schubert\item[] Robbie Harwood, Red Hat, Inc.
877*7f2fe78bSCy Schubert\end{DUlineblock}
878*7f2fe78bSCy Schubert
879*7f2fe78bSCy Schubert
880*7f2fe78bSCy Schubert\subsection{HISTORY}
881*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/kerberos:history}}
882*7f2fe78bSCy Schubert\sphinxAtStartPar
883*7f2fe78bSCy SchubertThe MIT Kerberos 5 implementation was developed at MIT, with
884*7f2fe78bSCy Schubertcontributions from many outside parties.  It is currently maintained
885*7f2fe78bSCy Schubertby the MIT Kerberos Consortium.
886*7f2fe78bSCy Schubert
887*7f2fe78bSCy Schubert
888*7f2fe78bSCy Schubert\subsection{RESTRICTIONS}
889*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/kerberos:restrictions}}
890*7f2fe78bSCy Schubert\sphinxAtStartPar
891*7f2fe78bSCy SchubertCopyright 1985, 1986, 1989\sphinxhyphen{}1996, 2002, 2011, 2018 Masachusetts
892*7f2fe78bSCy SchubertInstitute of Technology
893*7f2fe78bSCy Schubert
894*7f2fe78bSCy Schubert
895*7f2fe78bSCy Schubert\section{.k5login}
896*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/k5login:k5login}}\label{\detokenize{user/user_config/k5login:k5login-5}}\label{\detokenize{user/user_config/k5login::doc}}
897*7f2fe78bSCy Schubert
898*7f2fe78bSCy Schubert\subsection{DESCRIPTION}
899*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/k5login:description}}
900*7f2fe78bSCy Schubert\sphinxAtStartPar
901*7f2fe78bSCy SchubertThe .k5login file, which resides in a user’s home directory, contains
902*7f2fe78bSCy Schuberta list of the Kerberos principals.  Anyone with valid tickets for a
903*7f2fe78bSCy Schubertprincipal in the file is allowed host access with the UID of the user
904*7f2fe78bSCy Schubertin whose home directory the file resides.  One common use is to place
905*7f2fe78bSCy Schuberta .k5login file in root’s home directory, thereby granting system
906*7f2fe78bSCy Schubertadministrators remote root access to the host via Kerberos.
907*7f2fe78bSCy Schubert
908*7f2fe78bSCy Schubert
909*7f2fe78bSCy Schubert\subsection{EXAMPLES}
910*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/k5login:examples}}
911*7f2fe78bSCy Schubert\sphinxAtStartPar
912*7f2fe78bSCy SchubertSuppose the user \sphinxcode{\sphinxupquote{alice}} had a .k5login file in her home directory
913*7f2fe78bSCy Schubertcontaining just the following line:
914*7f2fe78bSCy Schubert
915*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
916*7f2fe78bSCy Schubert\PYG{n}{bob}\PYG{n+nd}{@FOOBAR}\PYG{o}{.}\PYG{n}{ORG}
917*7f2fe78bSCy Schubert\end{sphinxVerbatim}
918*7f2fe78bSCy Schubert
919*7f2fe78bSCy Schubert\sphinxAtStartPar
920*7f2fe78bSCy SchubertThis would allow \sphinxcode{\sphinxupquote{bob}} to use Kerberos network applications, such as
921*7f2fe78bSCy Schubertssh(1), to access \sphinxcode{\sphinxupquote{alice}}’s account, using \sphinxcode{\sphinxupquote{bob}}’s Kerberos
922*7f2fe78bSCy Schuberttickets.  In a default configuration (with \sphinxstylestrong{k5login\_authoritative} set
923*7f2fe78bSCy Schubertto true in \DUrole{xref,std,std-ref}{krb5.conf(5)}), this .k5login file would not let
924*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{alice}} use those network applications to access her account, since
925*7f2fe78bSCy Schubertshe is not listed!  With no .k5login file, or with \sphinxstylestrong{k5login\_authoritative}
926*7f2fe78bSCy Schubertset to false, a default rule would permit the principal \sphinxcode{\sphinxupquote{alice}} in the
927*7f2fe78bSCy Schubertmachine’s default realm to access the \sphinxcode{\sphinxupquote{alice}} account.
928*7f2fe78bSCy Schubert
929*7f2fe78bSCy Schubert\sphinxAtStartPar
930*7f2fe78bSCy SchubertLet us further suppose that \sphinxcode{\sphinxupquote{alice}} is a system administrator.
931*7f2fe78bSCy SchubertAlice and the other system administrators would have their principals
932*7f2fe78bSCy Schubertin root’s .k5login file on each host:
933*7f2fe78bSCy Schubert
934*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
935*7f2fe78bSCy Schubert\PYG{n}{alice}\PYG{n+nd}{@BLEEP}\PYG{o}{.}\PYG{n}{COM}
936*7f2fe78bSCy Schubert
937*7f2fe78bSCy Schubert\PYG{n}{joeadmin}\PYG{o}{/}\PYG{n}{root}\PYG{n+nd}{@BLEEP}\PYG{o}{.}\PYG{n}{COM}
938*7f2fe78bSCy Schubert\end{sphinxVerbatim}
939*7f2fe78bSCy Schubert
940*7f2fe78bSCy Schubert\sphinxAtStartPar
941*7f2fe78bSCy SchubertThis would allow either system administrator to log in to these hosts
942*7f2fe78bSCy Schubertusing their Kerberos tickets instead of having to type the root
943*7f2fe78bSCy Schubertpassword.  Note that because \sphinxcode{\sphinxupquote{bob}} retains the Kerberos tickets for
944*7f2fe78bSCy Schuberthis own principal, \sphinxcode{\sphinxupquote{bob@FOOBAR.ORG}}, he would not have any of the
945*7f2fe78bSCy Schubertprivileges that require \sphinxcode{\sphinxupquote{alice}}’s tickets, such as root access to
946*7f2fe78bSCy Schubertany of the site’s hosts, or the ability to change \sphinxcode{\sphinxupquote{alice}}’s
947*7f2fe78bSCy Schubertpassword.
948*7f2fe78bSCy Schubert
949*7f2fe78bSCy Schubert
950*7f2fe78bSCy Schubert\subsection{SEE ALSO}
951*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/k5login:see-also}}
952*7f2fe78bSCy Schubert\sphinxAtStartPar
953*7f2fe78bSCy Schubertkerberos(1)
954*7f2fe78bSCy Schubert
955*7f2fe78bSCy Schubert
956*7f2fe78bSCy Schubert\section{.k5identity}
957*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/k5identity:k5identity}}\label{\detokenize{user/user_config/k5identity:k5identity-5}}\label{\detokenize{user/user_config/k5identity::doc}}
958*7f2fe78bSCy Schubert
959*7f2fe78bSCy Schubert\subsection{DESCRIPTION}
960*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/k5identity:description}}
961*7f2fe78bSCy Schubert\sphinxAtStartPar
962*7f2fe78bSCy SchubertThe .k5identity file, which resides in a user’s home directory,
963*7f2fe78bSCy Schubertcontains a list of rules for selecting a client principals based on
964*7f2fe78bSCy Schubertthe server being accessed.  These rules are used to choose a
965*7f2fe78bSCy Schubertcredential cache within the cache collection when possible.
966*7f2fe78bSCy Schubert
967*7f2fe78bSCy Schubert\sphinxAtStartPar
968*7f2fe78bSCy SchubertBlank lines and lines beginning with \sphinxcode{\sphinxupquote{\#}} are ignored.  Each line has
969*7f2fe78bSCy Schubertthe form:
970*7f2fe78bSCy Schubert\begin{quote}
971*7f2fe78bSCy Schubert
972*7f2fe78bSCy Schubert\sphinxAtStartPar
973*7f2fe78bSCy Schubert\sphinxstyleemphasis{principal} \sphinxstyleemphasis{field}=\sphinxstyleemphasis{value} …
974*7f2fe78bSCy Schubert\end{quote}
975*7f2fe78bSCy Schubert
976*7f2fe78bSCy Schubert\sphinxAtStartPar
977*7f2fe78bSCy SchubertIf the server principal meets all of the field constraints, then
978*7f2fe78bSCy Schubertprincipal is chosen as the client principal.  The following fields are
979*7f2fe78bSCy Schubertrecognized:
980*7f2fe78bSCy Schubert\begin{description}
981*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{realm}}] \leavevmode
982*7f2fe78bSCy Schubert\sphinxAtStartPar
983*7f2fe78bSCy SchubertIf the realm of the server principal is known, it is matched
984*7f2fe78bSCy Schubertagainst \sphinxstyleemphasis{value}, which may be a pattern using shell wildcards.
985*7f2fe78bSCy SchubertFor host\sphinxhyphen{}based server principals, the realm will generally only be
986*7f2fe78bSCy Schubertknown if there is a \DUrole{xref,std,std-ref}{domain\_realm} section in
987*7f2fe78bSCy Schubert\DUrole{xref,std,std-ref}{krb5.conf(5)} with a mapping for the hostname.
988*7f2fe78bSCy Schubert
989*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{service}}] \leavevmode
990*7f2fe78bSCy Schubert\sphinxAtStartPar
991*7f2fe78bSCy SchubertIf the server principal is a host\sphinxhyphen{}based principal, its service
992*7f2fe78bSCy Schubertcomponent is matched against \sphinxstyleemphasis{value}, which may be a pattern using
993*7f2fe78bSCy Schubertshell wildcards.
994*7f2fe78bSCy Schubert
995*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{host}}] \leavevmode
996*7f2fe78bSCy Schubert\sphinxAtStartPar
997*7f2fe78bSCy SchubertIf the server principal is a host\sphinxhyphen{}based principal, its hostname
998*7f2fe78bSCy Schubertcomponent is converted to lower case and matched against \sphinxstyleemphasis{value},
999*7f2fe78bSCy Schubertwhich may be a pattern using shell wildcards.
1000*7f2fe78bSCy Schubert
1001*7f2fe78bSCy Schubert\sphinxAtStartPar
1002*7f2fe78bSCy SchubertIf the server principal matches the constraints of multiple lines
1003*7f2fe78bSCy Schubertin the .k5identity file, the principal from the first matching
1004*7f2fe78bSCy Schubertline is used.  If no line matches, credentials will be selected
1005*7f2fe78bSCy Schubertsome other way, such as the realm heuristic or the current primary
1006*7f2fe78bSCy Schubertcache.
1007*7f2fe78bSCy Schubert
1008*7f2fe78bSCy Schubert\end{description}
1009*7f2fe78bSCy Schubert
1010*7f2fe78bSCy Schubert
1011*7f2fe78bSCy Schubert\subsection{EXAMPLE}
1012*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/k5identity:example}}
1013*7f2fe78bSCy Schubert\sphinxAtStartPar
1014*7f2fe78bSCy SchubertThe following example .k5identity file selects the client principal
1015*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{alice@KRBTEST.COM}} if the server principal is within that realm,
1016*7f2fe78bSCy Schubertthe principal \sphinxcode{\sphinxupquote{alice/root@EXAMPLE.COM}} if the server host is within
1017*7f2fe78bSCy Schuberta servers subdomain, and the principal \sphinxcode{\sphinxupquote{alice/mail@EXAMPLE.COM}} when
1018*7f2fe78bSCy Schubertaccessing the IMAP service on \sphinxcode{\sphinxupquote{mail.example.com}}:
1019*7f2fe78bSCy Schubert
1020*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
1021*7f2fe78bSCy Schubert\PYG{n}{alice}\PYG{n+nd}{@KRBTEST}\PYG{o}{.}\PYG{n}{COM}       \PYG{n}{realm}\PYG{o}{=}\PYG{n}{KRBTEST}\PYG{o}{.}\PYG{n}{COM}
1022*7f2fe78bSCy Schubert\PYG{n}{alice}\PYG{o}{/}\PYG{n}{root}\PYG{n+nd}{@EXAMPLE}\PYG{o}{.}\PYG{n}{COM}  \PYG{n}{host}\PYG{o}{=}\PYG{o}{*}\PYG{o}{.}\PYG{n}{servers}\PYG{o}{.}\PYG{n}{example}\PYG{o}{.}\PYG{n}{com}
1023*7f2fe78bSCy Schubert\PYG{n}{alice}\PYG{o}{/}\PYG{n}{mail}\PYG{n+nd}{@EXAMPLE}\PYG{o}{.}\PYG{n}{COM}  \PYG{n}{host}\PYG{o}{=}\PYG{n}{mail}\PYG{o}{.}\PYG{n}{example}\PYG{o}{.}\PYG{n}{com} \PYG{n}{service}\PYG{o}{=}\PYG{n}{imap}
1024*7f2fe78bSCy Schubert\end{sphinxVerbatim}
1025*7f2fe78bSCy Schubert
1026*7f2fe78bSCy Schubert
1027*7f2fe78bSCy Schubert\subsection{SEE ALSO}
1028*7f2fe78bSCy Schubert\label{\detokenize{user/user_config/k5identity:see-also}}
1029*7f2fe78bSCy Schubert\sphinxAtStartPar
1030*7f2fe78bSCy Schubertkerberos(1), \DUrole{xref,std,std-ref}{krb5.conf(5)}
1031*7f2fe78bSCy Schubert
1032*7f2fe78bSCy Schubert
1033*7f2fe78bSCy Schubert\chapter{User commands}
1034*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/index:user-commands}}\label{\detokenize{user/user_commands/index:id1}}\label{\detokenize{user/user_commands/index::doc}}
1035*7f2fe78bSCy Schubert
1036*7f2fe78bSCy Schubert\section{kdestroy}
1037*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kdestroy:kdestroy}}\label{\detokenize{user/user_commands/kdestroy:kdestroy-1}}\label{\detokenize{user/user_commands/kdestroy::doc}}
1038*7f2fe78bSCy Schubert
1039*7f2fe78bSCy Schubert\subsection{SYNOPSIS}
1040*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kdestroy:synopsis}}
1041*7f2fe78bSCy Schubert\sphinxAtStartPar
1042*7f2fe78bSCy Schubert\sphinxstylestrong{kdestroy}
1043*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}A}{]}
1044*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}q}{]}
1045*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}c} \sphinxstyleemphasis{cache\_name}{]}
1046*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}p} \sphinxstyleemphasis{princ\_name}{]}
1047*7f2fe78bSCy Schubert
1048*7f2fe78bSCy Schubert
1049*7f2fe78bSCy Schubert\subsection{DESCRIPTION}
1050*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kdestroy:description}}
1051*7f2fe78bSCy Schubert\sphinxAtStartPar
1052*7f2fe78bSCy SchubertThe kdestroy utility destroys the user’s active Kerberos authorization
1053*7f2fe78bSCy Schuberttickets by overwriting and deleting the credentials cache that
1054*7f2fe78bSCy Schubertcontains them.  If the credentials cache is not specified, the default
1055*7f2fe78bSCy Schubertcredentials cache is destroyed.
1056*7f2fe78bSCy Schubert
1057*7f2fe78bSCy Schubert
1058*7f2fe78bSCy Schubert\subsection{OPTIONS}
1059*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kdestroy:options}}\begin{description}
1060*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}A}}] \leavevmode
1061*7f2fe78bSCy Schubert\sphinxAtStartPar
1062*7f2fe78bSCy SchubertDestroys all caches in the collection, if a cache collection is
1063*7f2fe78bSCy Schubertavailable.  May be used with the \sphinxstylestrong{\sphinxhyphen{}c} option to specify the
1064*7f2fe78bSCy Schubertcollection to be destroyed.
1065*7f2fe78bSCy Schubert
1066*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}q}}] \leavevmode
1067*7f2fe78bSCy Schubert\sphinxAtStartPar
1068*7f2fe78bSCy SchubertRun quietly.  Normally kdestroy beeps if it fails to destroy the
1069*7f2fe78bSCy Schubertuser’s tickets.  The \sphinxstylestrong{\sphinxhyphen{}q} flag suppresses this behavior.
1070*7f2fe78bSCy Schubert
1071*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}c} \sphinxstyleemphasis{cache\_name}}] \leavevmode
1072*7f2fe78bSCy Schubert\sphinxAtStartPar
1073*7f2fe78bSCy SchubertUse \sphinxstyleemphasis{cache\_name} as the credentials (ticket) cache name and
1074*7f2fe78bSCy Schubertlocation; if this option is not used, the default cache name and
1075*7f2fe78bSCy Schubertlocation are used.
1076*7f2fe78bSCy Schubert
1077*7f2fe78bSCy Schubert\sphinxAtStartPar
1078*7f2fe78bSCy SchubertThe default credentials cache may vary between systems.  If the
1079*7f2fe78bSCy Schubert\sphinxstylestrong{KRB5CCNAME} environment variable is set, its value is used to
1080*7f2fe78bSCy Schubertname the default ticket cache.
1081*7f2fe78bSCy Schubert
1082*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}p} \sphinxstyleemphasis{princ\_name}}] \leavevmode
1083*7f2fe78bSCy Schubert\sphinxAtStartPar
1084*7f2fe78bSCy SchubertIf a cache collection is available, destroy the cache for
1085*7f2fe78bSCy Schubert\sphinxstyleemphasis{princ\_name} instead of the primary cache.  May be used with the
1086*7f2fe78bSCy Schubert\sphinxstylestrong{\sphinxhyphen{}c} option to specify the collection to be searched.
1087*7f2fe78bSCy Schubert
1088*7f2fe78bSCy Schubert\end{description}
1089*7f2fe78bSCy Schubert
1090*7f2fe78bSCy Schubert
1091*7f2fe78bSCy Schubert\subsection{NOTE}
1092*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kdestroy:note}}
1093*7f2fe78bSCy Schubert\sphinxAtStartPar
1094*7f2fe78bSCy SchubertMost installations recommend that you place the kdestroy command in
1095*7f2fe78bSCy Schubertyour .logout file, so that your tickets are destroyed automatically
1096*7f2fe78bSCy Schubertwhen you log out.
1097*7f2fe78bSCy Schubert
1098*7f2fe78bSCy Schubert
1099*7f2fe78bSCy Schubert\subsection{ENVIRONMENT}
1100*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kdestroy:environment}}
1101*7f2fe78bSCy Schubert\sphinxAtStartPar
1102*7f2fe78bSCy SchubertSee {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}} for a description of Kerberos environment
1103*7f2fe78bSCy Schubertvariables.
1104*7f2fe78bSCy Schubert
1105*7f2fe78bSCy Schubert
1106*7f2fe78bSCy Schubert\subsection{FILES}
1107*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kdestroy:files}}\begin{description}
1108*7f2fe78bSCy Schubert\item[{\DUrole{xref,std,std-ref}{DEFCCNAME}}] \leavevmode
1109*7f2fe78bSCy Schubert\sphinxAtStartPar
1110*7f2fe78bSCy SchubertDefault location of Kerberos 5 credentials cache
1111*7f2fe78bSCy Schubert
1112*7f2fe78bSCy Schubert\end{description}
1113*7f2fe78bSCy Schubert
1114*7f2fe78bSCy Schubert
1115*7f2fe78bSCy Schubert\subsection{SEE ALSO}
1116*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kdestroy:see-also}}
1117*7f2fe78bSCy Schubert\sphinxAtStartPar
1118*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_commands/kinit:kinit-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kinit}}}}, {\hyperref[\detokenize{user/user_commands/klist:klist-1}]{\sphinxcrossref{\DUrole{std,std-ref}{klist}}}}, {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}}
1119*7f2fe78bSCy Schubert
1120*7f2fe78bSCy Schubert
1121*7f2fe78bSCy Schubert\section{kinit}
1122*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kinit:kinit}}\label{\detokenize{user/user_commands/kinit:kinit-1}}\label{\detokenize{user/user_commands/kinit::doc}}
1123*7f2fe78bSCy Schubert
1124*7f2fe78bSCy Schubert\subsection{SYNOPSIS}
1125*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kinit:synopsis}}
1126*7f2fe78bSCy Schubert\sphinxAtStartPar
1127*7f2fe78bSCy Schubert\sphinxstylestrong{kinit}
1128*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}V}{]}
1129*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}l} \sphinxstyleemphasis{lifetime}{]}
1130*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}s} \sphinxstyleemphasis{start\_time}{]}
1131*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}r} \sphinxstyleemphasis{renewable\_life}{]}
1132*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}p} | \sphinxhyphen{}\sphinxstylestrong{P}{]}
1133*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}f} | \sphinxhyphen{}\sphinxstylestrong{F}{]}
1134*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}a}{]}
1135*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}A}{]}
1136*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}C}{]}
1137*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}E}{]}
1138*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}v}{]}
1139*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}R}{]}
1140*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}k} {[}\sphinxstylestrong{\sphinxhyphen{}i} | \sphinxhyphen{}\sphinxstylestrong{t} \sphinxstyleemphasis{keytab\_file}{]}{]}
1141*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}c} \sphinxstyleemphasis{cache\_name}{]}
1142*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}n}{]}
1143*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}S} \sphinxstyleemphasis{service\_name}{]}
1144*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}I} \sphinxstyleemphasis{input\_ccache}{]}
1145*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}T} \sphinxstyleemphasis{armor\_ccache}{]}
1146*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}X} \sphinxstyleemphasis{attribute}{[}=\sphinxstyleemphasis{value}{]}{]}
1147*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\textendash{}request\sphinxhyphen{}pac} | \sphinxstylestrong{\textendash{}no\sphinxhyphen{}request\sphinxhyphen{}pac}{]}
1148*7f2fe78bSCy Schubert{[}\sphinxstyleemphasis{principal}{]}
1149*7f2fe78bSCy Schubert
1150*7f2fe78bSCy Schubert
1151*7f2fe78bSCy Schubert\subsection{DESCRIPTION}
1152*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kinit:description}}
1153*7f2fe78bSCy Schubert\sphinxAtStartPar
1154*7f2fe78bSCy Schubertkinit obtains and caches an initial ticket\sphinxhyphen{}granting ticket for
1155*7f2fe78bSCy Schubert\sphinxstyleemphasis{principal}.  If \sphinxstyleemphasis{principal} is absent, kinit chooses an appropriate
1156*7f2fe78bSCy Schubertprincipal name based on existing credential cache contents or the
1157*7f2fe78bSCy Schubertlocal username of the user invoking kinit.  Some options modify the
1158*7f2fe78bSCy Schubertchoice of principal name.
1159*7f2fe78bSCy Schubert
1160*7f2fe78bSCy Schubert
1161*7f2fe78bSCy Schubert\subsection{OPTIONS}
1162*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kinit:options}}\begin{description}
1163*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}V}}] \leavevmode
1164*7f2fe78bSCy Schubert\sphinxAtStartPar
1165*7f2fe78bSCy Schubertdisplay verbose output.
1166*7f2fe78bSCy Schubert
1167*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}l} \sphinxstyleemphasis{lifetime}}] \leavevmode
1168*7f2fe78bSCy Schubert\sphinxAtStartPar
1169*7f2fe78bSCy Schubert(\DUrole{xref,std,std-ref}{duration} string.)  Requests a ticket with the lifetime
1170*7f2fe78bSCy Schubert\sphinxstyleemphasis{lifetime}.
1171*7f2fe78bSCy Schubert
1172*7f2fe78bSCy Schubert\sphinxAtStartPar
1173*7f2fe78bSCy SchubertFor example, \sphinxcode{\sphinxupquote{kinit \sphinxhyphen{}l 5:30}} or \sphinxcode{\sphinxupquote{kinit \sphinxhyphen{}l 5h30m}}.
1174*7f2fe78bSCy Schubert
1175*7f2fe78bSCy Schubert\sphinxAtStartPar
1176*7f2fe78bSCy SchubertIf the \sphinxstylestrong{\sphinxhyphen{}l} option is not specified, the default ticket lifetime
1177*7f2fe78bSCy Schubert(configured by each site) is used.  Specifying a ticket lifetime
1178*7f2fe78bSCy Schubertlonger than the maximum ticket lifetime (configured by each site)
1179*7f2fe78bSCy Schubertwill not override the configured maximum ticket lifetime.
1180*7f2fe78bSCy Schubert
1181*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}s} \sphinxstyleemphasis{start\_time}}] \leavevmode
1182*7f2fe78bSCy Schubert\sphinxAtStartPar
1183*7f2fe78bSCy Schubert(\DUrole{xref,std,std-ref}{duration} string.)  Requests a postdated ticket.  Postdated
1184*7f2fe78bSCy Schuberttickets are issued with the \sphinxstylestrong{invalid} flag set, and need to be
1185*7f2fe78bSCy Schubertresubmitted to the KDC for validation before use.
1186*7f2fe78bSCy Schubert
1187*7f2fe78bSCy Schubert\sphinxAtStartPar
1188*7f2fe78bSCy Schubert\sphinxstyleemphasis{start\_time} specifies the duration of the delay before the ticket
1189*7f2fe78bSCy Schubertcan become valid.
1190*7f2fe78bSCy Schubert
1191*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}r} \sphinxstyleemphasis{renewable\_life}}] \leavevmode
1192*7f2fe78bSCy Schubert\sphinxAtStartPar
1193*7f2fe78bSCy Schubert(\DUrole{xref,std,std-ref}{duration} string.)  Requests renewable tickets, with a total
1194*7f2fe78bSCy Schubertlifetime of \sphinxstyleemphasis{renewable\_life}.
1195*7f2fe78bSCy Schubert
1196*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}f}}] \leavevmode
1197*7f2fe78bSCy Schubert\sphinxAtStartPar
1198*7f2fe78bSCy Schubertrequests forwardable tickets.
1199*7f2fe78bSCy Schubert
1200*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}F}}] \leavevmode
1201*7f2fe78bSCy Schubert\sphinxAtStartPar
1202*7f2fe78bSCy Schubertrequests non\sphinxhyphen{}forwardable tickets.
1203*7f2fe78bSCy Schubert
1204*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}p}}] \leavevmode
1205*7f2fe78bSCy Schubert\sphinxAtStartPar
1206*7f2fe78bSCy Schubertrequests proxiable tickets.
1207*7f2fe78bSCy Schubert
1208*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}P}}] \leavevmode
1209*7f2fe78bSCy Schubert\sphinxAtStartPar
1210*7f2fe78bSCy Schubertrequests non\sphinxhyphen{}proxiable tickets.
1211*7f2fe78bSCy Schubert
1212*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}a}}] \leavevmode
1213*7f2fe78bSCy Schubert\sphinxAtStartPar
1214*7f2fe78bSCy Schubertrequests tickets restricted to the host’s local address{[}es{]}.
1215*7f2fe78bSCy Schubert
1216*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}A}}] \leavevmode
1217*7f2fe78bSCy Schubert\sphinxAtStartPar
1218*7f2fe78bSCy Schubertrequests tickets not restricted by address.
1219*7f2fe78bSCy Schubert
1220*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}C}}] \leavevmode
1221*7f2fe78bSCy Schubert\sphinxAtStartPar
1222*7f2fe78bSCy Schubertrequests canonicalization of the principal name, and allows the
1223*7f2fe78bSCy SchubertKDC to reply with a different client principal from the one
1224*7f2fe78bSCy Schubertrequested.
1225*7f2fe78bSCy Schubert
1226*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}E}}] \leavevmode
1227*7f2fe78bSCy Schubert\sphinxAtStartPar
1228*7f2fe78bSCy Schuberttreats the principal name as an enterprise name.
1229*7f2fe78bSCy Schubert
1230*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}v}}] \leavevmode
1231*7f2fe78bSCy Schubert\sphinxAtStartPar
1232*7f2fe78bSCy Schubertrequests that the ticket\sphinxhyphen{}granting ticket in the cache (with the
1233*7f2fe78bSCy Schubert\sphinxstylestrong{invalid} flag set) be passed to the KDC for validation.  If the
1234*7f2fe78bSCy Schubertticket is within its requested time range, the cache is replaced
1235*7f2fe78bSCy Schubertwith the validated ticket.
1236*7f2fe78bSCy Schubert
1237*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}R}}] \leavevmode
1238*7f2fe78bSCy Schubert\sphinxAtStartPar
1239*7f2fe78bSCy Schubertrequests renewal of the ticket\sphinxhyphen{}granting ticket.  Note that an
1240*7f2fe78bSCy Schubertexpired ticket cannot be renewed, even if the ticket is still
1241*7f2fe78bSCy Schubertwithin its renewable life.
1242*7f2fe78bSCy Schubert
1243*7f2fe78bSCy Schubert\sphinxAtStartPar
1244*7f2fe78bSCy SchubertNote that renewable tickets that have expired as reported by
1245*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_commands/klist:klist-1}]{\sphinxcrossref{\DUrole{std,std-ref}{klist}}}} may sometimes be renewed using this option,
1246*7f2fe78bSCy Schubertbecause the KDC applies a grace period to account for client\sphinxhyphen{}KDC
1247*7f2fe78bSCy Schubertclock skew.  See \DUrole{xref,std,std-ref}{krb5.conf(5)} \sphinxstylestrong{clockskew} setting.
1248*7f2fe78bSCy Schubert
1249*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}k} {[}\sphinxstylestrong{\sphinxhyphen{}i} | \sphinxstylestrong{\sphinxhyphen{}t} \sphinxstyleemphasis{keytab\_file}{]}}] \leavevmode
1250*7f2fe78bSCy Schubert\sphinxAtStartPar
1251*7f2fe78bSCy Schubertrequests a ticket, obtained from a key in the local host’s keytab.
1252*7f2fe78bSCy SchubertThe location of the keytab may be specified with the \sphinxstylestrong{\sphinxhyphen{}t}
1253*7f2fe78bSCy Schubert\sphinxstyleemphasis{keytab\_file} option, or with the \sphinxstylestrong{\sphinxhyphen{}i} option to specify the use
1254*7f2fe78bSCy Schubertof the default client keytab; otherwise the default keytab will be
1255*7f2fe78bSCy Schubertused.  By default, a host ticket for the local host is requested,
1256*7f2fe78bSCy Schubertbut any principal may be specified.  On a KDC, the special keytab
1257*7f2fe78bSCy Schubertlocation \sphinxcode{\sphinxupquote{KDB:}} can be used to indicate that kinit should open
1258*7f2fe78bSCy Schubertthe KDC database and look up the key directly.  This permits an
1259*7f2fe78bSCy Schubertadministrator to obtain tickets as any principal that supports
1260*7f2fe78bSCy Schubertauthentication based on the key.
1261*7f2fe78bSCy Schubert
1262*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}n}}] \leavevmode
1263*7f2fe78bSCy Schubert\sphinxAtStartPar
1264*7f2fe78bSCy SchubertRequests anonymous processing.  Two types of anonymous principals
1265*7f2fe78bSCy Schubertare supported.
1266*7f2fe78bSCy Schubert
1267*7f2fe78bSCy Schubert\sphinxAtStartPar
1268*7f2fe78bSCy SchubertFor fully anonymous Kerberos, configure pkinit on the KDC and
1269*7f2fe78bSCy Schubertconfigure \sphinxstylestrong{pkinit\_anchors} in the client’s \DUrole{xref,std,std-ref}{krb5.conf(5)}.
1270*7f2fe78bSCy SchubertThen use the \sphinxstylestrong{\sphinxhyphen{}n} option with a principal of the form \sphinxcode{\sphinxupquote{@REALM}}
1271*7f2fe78bSCy Schubert(an empty principal name followed by the at\sphinxhyphen{}sign and a realm
1272*7f2fe78bSCy Schubertname).  If permitted by the KDC, an anonymous ticket will be
1273*7f2fe78bSCy Schubertreturned.
1274*7f2fe78bSCy Schubert
1275*7f2fe78bSCy Schubert\sphinxAtStartPar
1276*7f2fe78bSCy SchubertA second form of anonymous tickets is supported; these
1277*7f2fe78bSCy Schubertrealm\sphinxhyphen{}exposed tickets hide the identity of the client but not the
1278*7f2fe78bSCy Schubertclient’s realm.  For this mode, use \sphinxcode{\sphinxupquote{kinit \sphinxhyphen{}n}} with a normal
1279*7f2fe78bSCy Schubertprincipal name.  If supported by the KDC, the principal (but not
1280*7f2fe78bSCy Schubertrealm) will be replaced by the anonymous principal.
1281*7f2fe78bSCy Schubert
1282*7f2fe78bSCy Schubert\sphinxAtStartPar
1283*7f2fe78bSCy SchubertAs of release 1.8, the MIT Kerberos KDC only supports fully
1284*7f2fe78bSCy Schubertanonymous operation.
1285*7f2fe78bSCy Schubert
1286*7f2fe78bSCy Schubert\end{description}
1287*7f2fe78bSCy Schubert
1288*7f2fe78bSCy Schubert\sphinxAtStartPar
1289*7f2fe78bSCy Schubert\sphinxstylestrong{\sphinxhyphen{}I} \sphinxstyleemphasis{input\_ccache}
1290*7f2fe78bSCy Schubert\begin{quote}
1291*7f2fe78bSCy Schubert
1292*7f2fe78bSCy Schubert\sphinxAtStartPar
1293*7f2fe78bSCy SchubertSpecifies the name of a credentials cache that already contains a
1294*7f2fe78bSCy Schubertticket.  When obtaining that ticket, if information about how that
1295*7f2fe78bSCy Schubertticket was obtained was also stored to the cache, that information
1296*7f2fe78bSCy Schubertwill be used to affect how new credentials are obtained, including
1297*7f2fe78bSCy Schubertpreselecting the same methods of authenticating to the KDC.
1298*7f2fe78bSCy Schubert\end{quote}
1299*7f2fe78bSCy Schubert\begin{description}
1300*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}T} \sphinxstyleemphasis{armor\_ccache}}] \leavevmode
1301*7f2fe78bSCy Schubert\sphinxAtStartPar
1302*7f2fe78bSCy SchubertSpecifies the name of a credentials cache that already contains a
1303*7f2fe78bSCy Schubertticket.  If supported by the KDC, this cache will be used to armor
1304*7f2fe78bSCy Schubertthe request, preventing offline dictionary attacks and allowing
1305*7f2fe78bSCy Schubertthe use of additional preauthentication mechanisms.  Armoring also
1306*7f2fe78bSCy Schubertmakes sure that the response from the KDC is not modified in
1307*7f2fe78bSCy Schuberttransit.
1308*7f2fe78bSCy Schubert
1309*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}c} \sphinxstyleemphasis{cache\_name}}] \leavevmode
1310*7f2fe78bSCy Schubert\sphinxAtStartPar
1311*7f2fe78bSCy Schubertuse \sphinxstyleemphasis{cache\_name} as the Kerberos 5 credentials (ticket) cache
1312*7f2fe78bSCy Schubertlocation.  If this option is not used, the default cache location
1313*7f2fe78bSCy Schubertis used.
1314*7f2fe78bSCy Schubert
1315*7f2fe78bSCy Schubert\sphinxAtStartPar
1316*7f2fe78bSCy SchubertThe default cache location may vary between systems.  If the
1317*7f2fe78bSCy Schubert\sphinxstylestrong{KRB5CCNAME} environment variable is set, its value is used to
1318*7f2fe78bSCy Schubertlocate the default cache.  If a principal name is specified and
1319*7f2fe78bSCy Schubertthe type of the default cache supports a collection (such as the
1320*7f2fe78bSCy SchubertDIR type), an existing cache containing credentials for the
1321*7f2fe78bSCy Schubertprincipal is selected or a new one is created and becomes the new
1322*7f2fe78bSCy Schubertprimary cache.  Otherwise, any existing contents of the default
1323*7f2fe78bSCy Schubertcache are destroyed by kinit.
1324*7f2fe78bSCy Schubert
1325*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}S} \sphinxstyleemphasis{service\_name}}] \leavevmode
1326*7f2fe78bSCy Schubert\sphinxAtStartPar
1327*7f2fe78bSCy Schubertspecify an alternate service name to use when getting initial
1328*7f2fe78bSCy Schuberttickets.
1329*7f2fe78bSCy Schubert
1330*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}X} \sphinxstyleemphasis{attribute}{[}=\sphinxstyleemphasis{value}{]}}] \leavevmode
1331*7f2fe78bSCy Schubert\sphinxAtStartPar
1332*7f2fe78bSCy Schubertspecify a pre\sphinxhyphen{}authentication \sphinxstyleemphasis{attribute} and \sphinxstyleemphasis{value} to be
1333*7f2fe78bSCy Schubertinterpreted by pre\sphinxhyphen{}authentication modules.  The acceptable
1334*7f2fe78bSCy Schubertattribute and value values vary from module to module.  This
1335*7f2fe78bSCy Schubertoption may be specified multiple times to specify multiple
1336*7f2fe78bSCy Schubertattributes.  If no value is specified, it is assumed to be “yes”.
1337*7f2fe78bSCy Schubert
1338*7f2fe78bSCy Schubert\sphinxAtStartPar
1339*7f2fe78bSCy SchubertThe following attributes are recognized by the PKINIT
1340*7f2fe78bSCy Schubertpre\sphinxhyphen{}authentication mechanism:
1341*7f2fe78bSCy Schubert\begin{description}
1342*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{X509\_user\_identity}=\sphinxstyleemphasis{value}}] \leavevmode
1343*7f2fe78bSCy Schubert\sphinxAtStartPar
1344*7f2fe78bSCy Schubertspecify where to find user’s X509 identity information
1345*7f2fe78bSCy Schubert
1346*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{X509\_anchors}=\sphinxstyleemphasis{value}}] \leavevmode
1347*7f2fe78bSCy Schubert\sphinxAtStartPar
1348*7f2fe78bSCy Schubertspecify where to find trusted X509 anchor information
1349*7f2fe78bSCy Schubert
1350*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{flag\_RSA\_PROTOCOL}{[}\sphinxstylestrong{=yes}{]}}] \leavevmode
1351*7f2fe78bSCy Schubert\sphinxAtStartPar
1352*7f2fe78bSCy Schubertspecify use of RSA, rather than the default Diffie\sphinxhyphen{}Hellman
1353*7f2fe78bSCy Schubertprotocol
1354*7f2fe78bSCy Schubert
1355*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{disable\_freshness}{[}\sphinxstylestrong{=yes}{]}}] \leavevmode
1356*7f2fe78bSCy Schubert\sphinxAtStartPar
1357*7f2fe78bSCy Schubertdisable sending freshness tokens (for testing purposes only)
1358*7f2fe78bSCy Schubert
1359*7f2fe78bSCy Schubert\end{description}
1360*7f2fe78bSCy Schubert
1361*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\textendash{}request\sphinxhyphen{}pac} | \sphinxstylestrong{\textendash{}no\sphinxhyphen{}request\sphinxhyphen{}pac}}] \leavevmode
1362*7f2fe78bSCy Schubert\sphinxAtStartPar
1363*7f2fe78bSCy Schubertmutually exclusive.  If \sphinxstylestrong{\textendash{}request\sphinxhyphen{}pac} is set, ask the KDC to
1364*7f2fe78bSCy Schubertinclude a PAC in authdata; if \sphinxstylestrong{\textendash{}no\sphinxhyphen{}request\sphinxhyphen{}pac} is set, ask the
1365*7f2fe78bSCy SchubertKDC not to include a PAC; if neither are set,  the KDC will follow
1366*7f2fe78bSCy Schubertits default, which is typically is to include a PAC if doing so is
1367*7f2fe78bSCy Schubertsupported.
1368*7f2fe78bSCy Schubert
1369*7f2fe78bSCy Schubert\end{description}
1370*7f2fe78bSCy Schubert
1371*7f2fe78bSCy Schubert
1372*7f2fe78bSCy Schubert\subsection{ENVIRONMENT}
1373*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kinit:environment}}
1374*7f2fe78bSCy Schubert\sphinxAtStartPar
1375*7f2fe78bSCy SchubertSee {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}} for a description of Kerberos environment
1376*7f2fe78bSCy Schubertvariables.
1377*7f2fe78bSCy Schubert
1378*7f2fe78bSCy Schubert
1379*7f2fe78bSCy Schubert\subsection{FILES}
1380*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kinit:files}}\begin{description}
1381*7f2fe78bSCy Schubert\item[{\DUrole{xref,std,std-ref}{DEFCCNAME}}] \leavevmode
1382*7f2fe78bSCy Schubert\sphinxAtStartPar
1383*7f2fe78bSCy Schubertdefault location of Kerberos 5 credentials cache
1384*7f2fe78bSCy Schubert
1385*7f2fe78bSCy Schubert\item[{\DUrole{xref,std,std-ref}{DEFKTNAME}}] \leavevmode
1386*7f2fe78bSCy Schubert\sphinxAtStartPar
1387*7f2fe78bSCy Schubertdefault location for the local host’s keytab.
1388*7f2fe78bSCy Schubert
1389*7f2fe78bSCy Schubert\end{description}
1390*7f2fe78bSCy Schubert
1391*7f2fe78bSCy Schubert
1392*7f2fe78bSCy Schubert\subsection{SEE ALSO}
1393*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kinit:see-also}}
1394*7f2fe78bSCy Schubert\sphinxAtStartPar
1395*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_commands/klist:klist-1}]{\sphinxcrossref{\DUrole{std,std-ref}{klist}}}}, {\hyperref[\detokenize{user/user_commands/kdestroy:kdestroy-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kdestroy}}}}, {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}}
1396*7f2fe78bSCy Schubert
1397*7f2fe78bSCy Schubert
1398*7f2fe78bSCy Schubert\section{klist}
1399*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/klist:klist}}\label{\detokenize{user/user_commands/klist:klist-1}}\label{\detokenize{user/user_commands/klist::doc}}
1400*7f2fe78bSCy Schubert
1401*7f2fe78bSCy Schubert\subsection{SYNOPSIS}
1402*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/klist:synopsis}}
1403*7f2fe78bSCy Schubert\sphinxAtStartPar
1404*7f2fe78bSCy Schubert\sphinxstylestrong{klist}
1405*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}e}{]}
1406*7f2fe78bSCy Schubert{[}{[}\sphinxstylestrong{\sphinxhyphen{}c}{]} {[}\sphinxstylestrong{\sphinxhyphen{}l}{]} {[}\sphinxstylestrong{\sphinxhyphen{}A}{]} {[}\sphinxstylestrong{\sphinxhyphen{}f}{]} {[}\sphinxstylestrong{\sphinxhyphen{}s}{]} {[}\sphinxstylestrong{\sphinxhyphen{}a} {[}\sphinxstylestrong{\sphinxhyphen{}n}{]}{]}{]}
1407*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}C}{]}
1408*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}k} {[}\sphinxstylestrong{\sphinxhyphen{}i}{]} {[}\sphinxstylestrong{\sphinxhyphen{}t}{]} {[}\sphinxstylestrong{\sphinxhyphen{}K}{]}{]}
1409*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}V}{]}
1410*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}d}{]}
1411*7f2fe78bSCy Schubert{[}\sphinxstyleemphasis{cache\_name}|\sphinxstyleemphasis{keytab\_name}{]}
1412*7f2fe78bSCy Schubert
1413*7f2fe78bSCy Schubert
1414*7f2fe78bSCy Schubert\subsection{DESCRIPTION}
1415*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/klist:description}}
1416*7f2fe78bSCy Schubert\sphinxAtStartPar
1417*7f2fe78bSCy Schubertklist lists the Kerberos principal and Kerberos tickets held in a
1418*7f2fe78bSCy Schubertcredentials cache, or the keys held in a keytab file.
1419*7f2fe78bSCy Schubert
1420*7f2fe78bSCy Schubert
1421*7f2fe78bSCy Schubert\subsection{OPTIONS}
1422*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/klist:options}}\begin{description}
1423*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}e}}] \leavevmode
1424*7f2fe78bSCy Schubert\sphinxAtStartPar
1425*7f2fe78bSCy SchubertDisplays the encryption types of the session key and the ticket
1426*7f2fe78bSCy Schubertfor each credential in the credential cache, or each key in the
1427*7f2fe78bSCy Schubertkeytab file.
1428*7f2fe78bSCy Schubert
1429*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}l}}] \leavevmode
1430*7f2fe78bSCy Schubert\sphinxAtStartPar
1431*7f2fe78bSCy SchubertIf a cache collection is available, displays a table summarizing
1432*7f2fe78bSCy Schubertthe caches present in the collection.
1433*7f2fe78bSCy Schubert
1434*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}A}}] \leavevmode
1435*7f2fe78bSCy Schubert\sphinxAtStartPar
1436*7f2fe78bSCy SchubertIf a cache collection is available, displays the contents of all
1437*7f2fe78bSCy Schubertof the caches in the collection.
1438*7f2fe78bSCy Schubert
1439*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}c}}] \leavevmode
1440*7f2fe78bSCy Schubert\sphinxAtStartPar
1441*7f2fe78bSCy SchubertList tickets held in a credentials cache. This is the default if
1442*7f2fe78bSCy Schubertneither \sphinxstylestrong{\sphinxhyphen{}c} nor \sphinxstylestrong{\sphinxhyphen{}k} is specified.
1443*7f2fe78bSCy Schubert
1444*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}f}}] \leavevmode
1445*7f2fe78bSCy Schubert\sphinxAtStartPar
1446*7f2fe78bSCy SchubertShows the flags present in the credentials, using the following
1447*7f2fe78bSCy Schubertabbreviations:
1448*7f2fe78bSCy Schubert
1449*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
1450*7f2fe78bSCy Schubert\PYG{n}{F}    \PYG{n}{Forwardable}
1451*7f2fe78bSCy Schubert\PYG{n}{f}    \PYG{n}{forwarded}
1452*7f2fe78bSCy Schubert\PYG{n}{P}    \PYG{n}{Proxiable}
1453*7f2fe78bSCy Schubert\PYG{n}{p}    \PYG{n}{proxy}
1454*7f2fe78bSCy Schubert\PYG{n}{D}    \PYG{n}{postDateable}
1455*7f2fe78bSCy Schubert\PYG{n}{d}    \PYG{n}{postdated}
1456*7f2fe78bSCy Schubert\PYG{n}{R}    \PYG{n}{Renewable}
1457*7f2fe78bSCy Schubert\PYG{n}{I}    \PYG{n}{Initial}
1458*7f2fe78bSCy Schubert\PYG{n}{i}    \PYG{n}{invalid}
1459*7f2fe78bSCy Schubert\PYG{n}{H}    \PYG{n}{Hardware} \PYG{n}{authenticated}
1460*7f2fe78bSCy Schubert\PYG{n}{A}    \PYG{n}{preAuthenticated}
1461*7f2fe78bSCy Schubert\PYG{n}{T}    \PYG{n}{Transit} \PYG{n}{policy} \PYG{n}{checked}
1462*7f2fe78bSCy Schubert\PYG{n}{O}    \PYG{n}{Okay} \PYG{k}{as} \PYG{n}{delegate}
1463*7f2fe78bSCy Schubert\PYG{n}{a}    \PYG{n}{anonymous}
1464*7f2fe78bSCy Schubert\end{sphinxVerbatim}
1465*7f2fe78bSCy Schubert
1466*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}s}}] \leavevmode
1467*7f2fe78bSCy Schubert\sphinxAtStartPar
1468*7f2fe78bSCy SchubertCauses klist to run silently (produce no output).  klist will exit
1469*7f2fe78bSCy Schubertwith status 1 if the credentials cache cannot be read or is
1470*7f2fe78bSCy Schubertexpired, and with status 0 otherwise.
1471*7f2fe78bSCy Schubert
1472*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}a}}] \leavevmode
1473*7f2fe78bSCy Schubert\sphinxAtStartPar
1474*7f2fe78bSCy SchubertDisplay list of addresses in credentials.
1475*7f2fe78bSCy Schubert
1476*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}n}}] \leavevmode
1477*7f2fe78bSCy Schubert\sphinxAtStartPar
1478*7f2fe78bSCy SchubertShow numeric addresses instead of reverse\sphinxhyphen{}resolving addresses.
1479*7f2fe78bSCy Schubert
1480*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}C}}] \leavevmode
1481*7f2fe78bSCy Schubert\sphinxAtStartPar
1482*7f2fe78bSCy SchubertList configuration data that has been stored in the credentials
1483*7f2fe78bSCy Schubertcache when klist encounters it.  By default, configuration data
1484*7f2fe78bSCy Schubertis not listed.
1485*7f2fe78bSCy Schubert
1486*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}k}}] \leavevmode
1487*7f2fe78bSCy Schubert\sphinxAtStartPar
1488*7f2fe78bSCy SchubertList keys held in a keytab file.
1489*7f2fe78bSCy Schubert
1490*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}i}}] \leavevmode
1491*7f2fe78bSCy Schubert\sphinxAtStartPar
1492*7f2fe78bSCy SchubertIn combination with \sphinxstylestrong{\sphinxhyphen{}k}, defaults to using the default client
1493*7f2fe78bSCy Schubertkeytab instead of the default acceptor keytab, if no name is
1494*7f2fe78bSCy Schubertgiven.
1495*7f2fe78bSCy Schubert
1496*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}t}}] \leavevmode
1497*7f2fe78bSCy Schubert\sphinxAtStartPar
1498*7f2fe78bSCy SchubertDisplay the time entry timestamps for each keytab entry in the
1499*7f2fe78bSCy Schubertkeytab file.
1500*7f2fe78bSCy Schubert
1501*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}K}}] \leavevmode
1502*7f2fe78bSCy Schubert\sphinxAtStartPar
1503*7f2fe78bSCy SchubertDisplay the value of the encryption key in each keytab entry in
1504*7f2fe78bSCy Schubertthe keytab file.
1505*7f2fe78bSCy Schubert
1506*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}d}}] \leavevmode
1507*7f2fe78bSCy Schubert\sphinxAtStartPar
1508*7f2fe78bSCy SchubertDisplay the authdata types (if any) for each entry.
1509*7f2fe78bSCy Schubert
1510*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}V}}] \leavevmode
1511*7f2fe78bSCy Schubert\sphinxAtStartPar
1512*7f2fe78bSCy SchubertDisplay the Kerberos version number and exit.
1513*7f2fe78bSCy Schubert
1514*7f2fe78bSCy Schubert\end{description}
1515*7f2fe78bSCy Schubert
1516*7f2fe78bSCy Schubert\sphinxAtStartPar
1517*7f2fe78bSCy SchubertIf \sphinxstyleemphasis{cache\_name} or \sphinxstyleemphasis{keytab\_name} is not specified, klist will display
1518*7f2fe78bSCy Schubertthe credentials in the default credentials cache or keytab file as
1519*7f2fe78bSCy Schubertappropriate.  If the \sphinxstylestrong{KRB5CCNAME} environment variable is set, its
1520*7f2fe78bSCy Schubertvalue is used to locate the default ticket cache.
1521*7f2fe78bSCy Schubert
1522*7f2fe78bSCy Schubert
1523*7f2fe78bSCy Schubert\subsection{ENVIRONMENT}
1524*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/klist:environment}}
1525*7f2fe78bSCy Schubert\sphinxAtStartPar
1526*7f2fe78bSCy SchubertSee {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}} for a description of Kerberos environment
1527*7f2fe78bSCy Schubertvariables.
1528*7f2fe78bSCy Schubert
1529*7f2fe78bSCy Schubert
1530*7f2fe78bSCy Schubert\subsection{FILES}
1531*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/klist:files}}\begin{description}
1532*7f2fe78bSCy Schubert\item[{\DUrole{xref,std,std-ref}{DEFCCNAME}}] \leavevmode
1533*7f2fe78bSCy Schubert\sphinxAtStartPar
1534*7f2fe78bSCy SchubertDefault location of Kerberos 5 credentials cache
1535*7f2fe78bSCy Schubert
1536*7f2fe78bSCy Schubert\item[{\DUrole{xref,std,std-ref}{DEFKTNAME}}] \leavevmode
1537*7f2fe78bSCy Schubert\sphinxAtStartPar
1538*7f2fe78bSCy SchubertDefault location for the local host’s keytab file.
1539*7f2fe78bSCy Schubert
1540*7f2fe78bSCy Schubert\end{description}
1541*7f2fe78bSCy Schubert
1542*7f2fe78bSCy Schubert
1543*7f2fe78bSCy Schubert\subsection{SEE ALSO}
1544*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/klist:see-also}}
1545*7f2fe78bSCy Schubert\sphinxAtStartPar
1546*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_commands/kinit:kinit-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kinit}}}}, {\hyperref[\detokenize{user/user_commands/kdestroy:kdestroy-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kdestroy}}}}, {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}}
1547*7f2fe78bSCy Schubert
1548*7f2fe78bSCy Schubert
1549*7f2fe78bSCy Schubert\section{kpasswd}
1550*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kpasswd:kpasswd}}\label{\detokenize{user/user_commands/kpasswd:kpasswd-1}}\label{\detokenize{user/user_commands/kpasswd::doc}}
1551*7f2fe78bSCy Schubert
1552*7f2fe78bSCy Schubert\subsection{SYNOPSIS}
1553*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kpasswd:synopsis}}
1554*7f2fe78bSCy Schubert\sphinxAtStartPar
1555*7f2fe78bSCy Schubert\sphinxstylestrong{kpasswd} {[}\sphinxstyleemphasis{principal}{]}
1556*7f2fe78bSCy Schubert
1557*7f2fe78bSCy Schubert
1558*7f2fe78bSCy Schubert\subsection{DESCRIPTION}
1559*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kpasswd:description}}
1560*7f2fe78bSCy Schubert\sphinxAtStartPar
1561*7f2fe78bSCy SchubertThe kpasswd command is used to change a Kerberos principal’s password.
1562*7f2fe78bSCy Schubertkpasswd first prompts for the current Kerberos password, then prompts
1563*7f2fe78bSCy Schubertthe user twice for the new password, and the password is changed.
1564*7f2fe78bSCy Schubert
1565*7f2fe78bSCy Schubert\sphinxAtStartPar
1566*7f2fe78bSCy SchubertIf the principal is governed by a policy that specifies the length
1567*7f2fe78bSCy Schubertand/or number of character classes required in the new password, the
1568*7f2fe78bSCy Schubertnew password must conform to the policy.  (The five character classes
1569*7f2fe78bSCy Schubertare lower case, upper case, numbers, punctuation, and all other
1570*7f2fe78bSCy Schubertcharacters.)
1571*7f2fe78bSCy Schubert
1572*7f2fe78bSCy Schubert
1573*7f2fe78bSCy Schubert\subsection{OPTIONS}
1574*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kpasswd:options}}\begin{description}
1575*7f2fe78bSCy Schubert\item[{\sphinxstyleemphasis{principal}}] \leavevmode
1576*7f2fe78bSCy Schubert\sphinxAtStartPar
1577*7f2fe78bSCy SchubertChange the password for the Kerberos principal principal.
1578*7f2fe78bSCy SchubertOtherwise, kpasswd uses the principal name from an existing ccache
1579*7f2fe78bSCy Schubertif there is one; if not, the principal is derived from the
1580*7f2fe78bSCy Schubertidentity of the user invoking the kpasswd command.
1581*7f2fe78bSCy Schubert
1582*7f2fe78bSCy Schubert\end{description}
1583*7f2fe78bSCy Schubert
1584*7f2fe78bSCy Schubert
1585*7f2fe78bSCy Schubert\subsection{ENVIRONMENT}
1586*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kpasswd:environment}}
1587*7f2fe78bSCy Schubert\sphinxAtStartPar
1588*7f2fe78bSCy SchubertSee {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}} for a description of Kerberos environment
1589*7f2fe78bSCy Schubertvariables.
1590*7f2fe78bSCy Schubert
1591*7f2fe78bSCy Schubert
1592*7f2fe78bSCy Schubert\subsection{SEE ALSO}
1593*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kpasswd:see-also}}
1594*7f2fe78bSCy Schubert\sphinxAtStartPar
1595*7f2fe78bSCy Schubert\DUrole{xref,std,std-ref}{kadmin(1)}, \DUrole{xref,std,std-ref}{kadmind(8)}, {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}}
1596*7f2fe78bSCy Schubert
1597*7f2fe78bSCy Schubert
1598*7f2fe78bSCy Schubert\section{krb5\sphinxhyphen{}config}
1599*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/krb5-config:krb5-config}}\label{\detokenize{user/user_commands/krb5-config:krb5-config-1}}\label{\detokenize{user/user_commands/krb5-config::doc}}
1600*7f2fe78bSCy Schubert
1601*7f2fe78bSCy Schubert\subsection{SYNOPSIS}
1602*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/krb5-config:synopsis}}
1603*7f2fe78bSCy Schubert\sphinxAtStartPar
1604*7f2fe78bSCy Schubert\sphinxstylestrong{krb5\sphinxhyphen{}config}
1605*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}help} | \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}all} | \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}version} | \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}vendor} | \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}prefix} | \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}exec\sphinxhyphen{}prefix} | \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}defccname} | \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}defktname} | \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}defcktname} | \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}cflags} | \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}libs} {[}\sphinxstyleemphasis{libraries}{]}{]}
1606*7f2fe78bSCy Schubert
1607*7f2fe78bSCy Schubert
1608*7f2fe78bSCy Schubert\subsection{DESCRIPTION}
1609*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/krb5-config:description}}
1610*7f2fe78bSCy Schubert\sphinxAtStartPar
1611*7f2fe78bSCy Schubertkrb5\sphinxhyphen{}config tells the application programmer what flags to use to compile
1612*7f2fe78bSCy Schubertand link programs against the installed Kerberos libraries.
1613*7f2fe78bSCy Schubert
1614*7f2fe78bSCy Schubert
1615*7f2fe78bSCy Schubert\subsection{OPTIONS}
1616*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/krb5-config:options}}\begin{description}
1617*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}help}}] \leavevmode
1618*7f2fe78bSCy Schubert\sphinxAtStartPar
1619*7f2fe78bSCy Schubertprints a usage message.  This is the default behavior when no options
1620*7f2fe78bSCy Schubertare specified.
1621*7f2fe78bSCy Schubert
1622*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}all}}] \leavevmode
1623*7f2fe78bSCy Schubert\sphinxAtStartPar
1624*7f2fe78bSCy Schubertprints the version, vendor, prefix, and exec\sphinxhyphen{}prefix.
1625*7f2fe78bSCy Schubert
1626*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}version}}] \leavevmode
1627*7f2fe78bSCy Schubert\sphinxAtStartPar
1628*7f2fe78bSCy Schubertprints the version number of the Kerberos installation.
1629*7f2fe78bSCy Schubert
1630*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}vendor}}] \leavevmode
1631*7f2fe78bSCy Schubert\sphinxAtStartPar
1632*7f2fe78bSCy Schubertprints the name of the vendor of the Kerberos installation.
1633*7f2fe78bSCy Schubert
1634*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}prefix}}] \leavevmode
1635*7f2fe78bSCy Schubert\sphinxAtStartPar
1636*7f2fe78bSCy Schubertprints the prefix for which the Kerberos installation was built.
1637*7f2fe78bSCy Schubert
1638*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}exec\sphinxhyphen{}prefix}}] \leavevmode
1639*7f2fe78bSCy Schubert\sphinxAtStartPar
1640*7f2fe78bSCy Schubertprints the prefix for executables for which the Kerberos installation
1641*7f2fe78bSCy Schubertwas built.
1642*7f2fe78bSCy Schubert
1643*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}defccname}}] \leavevmode
1644*7f2fe78bSCy Schubert\sphinxAtStartPar
1645*7f2fe78bSCy Schubertprints the built\sphinxhyphen{}in default credentials cache location.
1646*7f2fe78bSCy Schubert
1647*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}defktname}}] \leavevmode
1648*7f2fe78bSCy Schubert\sphinxAtStartPar
1649*7f2fe78bSCy Schubertprints the built\sphinxhyphen{}in default keytab location.
1650*7f2fe78bSCy Schubert
1651*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}defcktname}}] \leavevmode
1652*7f2fe78bSCy Schubert\sphinxAtStartPar
1653*7f2fe78bSCy Schubertprints the built\sphinxhyphen{}in default client (initiator) keytab location.
1654*7f2fe78bSCy Schubert
1655*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}cflags}}] \leavevmode
1656*7f2fe78bSCy Schubert\sphinxAtStartPar
1657*7f2fe78bSCy Schubertprints the compilation flags used to build the Kerberos installation.
1658*7f2fe78bSCy Schubert
1659*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}libs} {[}\sphinxstyleemphasis{library}{]}}] \leavevmode
1660*7f2fe78bSCy Schubert\sphinxAtStartPar
1661*7f2fe78bSCy Schubertprints the compiler options needed to link against \sphinxstyleemphasis{library}.
1662*7f2fe78bSCy SchubertAllowed values for \sphinxstyleemphasis{library} are:
1663*7f2fe78bSCy Schubert
1664*7f2fe78bSCy Schubert
1665*7f2fe78bSCy Schubert\begin{savenotes}\sphinxattablestart
1666*7f2fe78bSCy Schubert\centering
1667*7f2fe78bSCy Schubert\begin{tabulary}{\linewidth}[t]{|T|T|}
1668*7f2fe78bSCy Schubert\hline
1669*7f2fe78bSCy Schubert
1670*7f2fe78bSCy Schubert\sphinxAtStartPar
1671*7f2fe78bSCy Schubertkrb5
1672*7f2fe78bSCy Schubert&
1673*7f2fe78bSCy Schubert\sphinxAtStartPar
1674*7f2fe78bSCy SchubertKerberos 5 applications (default)
1675*7f2fe78bSCy Schubert\\
1676*7f2fe78bSCy Schubert\hline
1677*7f2fe78bSCy Schubert\sphinxAtStartPar
1678*7f2fe78bSCy Schubertgssapi
1679*7f2fe78bSCy Schubert&
1680*7f2fe78bSCy Schubert\sphinxAtStartPar
1681*7f2fe78bSCy SchubertGSSAPI applications with Kerberos 5 bindings
1682*7f2fe78bSCy Schubert\\
1683*7f2fe78bSCy Schubert\hline
1684*7f2fe78bSCy Schubert\sphinxAtStartPar
1685*7f2fe78bSCy Schubertkadm\sphinxhyphen{}client
1686*7f2fe78bSCy Schubert&
1687*7f2fe78bSCy Schubert\sphinxAtStartPar
1688*7f2fe78bSCy SchubertKadmin client
1689*7f2fe78bSCy Schubert\\
1690*7f2fe78bSCy Schubert\hline
1691*7f2fe78bSCy Schubert\sphinxAtStartPar
1692*7f2fe78bSCy Schubertkadm\sphinxhyphen{}server
1693*7f2fe78bSCy Schubert&
1694*7f2fe78bSCy Schubert\sphinxAtStartPar
1695*7f2fe78bSCy SchubertKadmin server
1696*7f2fe78bSCy Schubert\\
1697*7f2fe78bSCy Schubert\hline
1698*7f2fe78bSCy Schubert\sphinxAtStartPar
1699*7f2fe78bSCy Schubertkdb
1700*7f2fe78bSCy Schubert&
1701*7f2fe78bSCy Schubert\sphinxAtStartPar
1702*7f2fe78bSCy SchubertApplications that access the Kerberos database
1703*7f2fe78bSCy Schubert\\
1704*7f2fe78bSCy Schubert\hline
1705*7f2fe78bSCy Schubert\end{tabulary}
1706*7f2fe78bSCy Schubert\par
1707*7f2fe78bSCy Schubert\sphinxattableend\end{savenotes}
1708*7f2fe78bSCy Schubert
1709*7f2fe78bSCy Schubert\end{description}
1710*7f2fe78bSCy Schubert
1711*7f2fe78bSCy Schubert
1712*7f2fe78bSCy Schubert\subsection{EXAMPLES}
1713*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/krb5-config:examples}}
1714*7f2fe78bSCy Schubert\sphinxAtStartPar
1715*7f2fe78bSCy Schubertkrb5\sphinxhyphen{}config is particularly useful for compiling against a Kerberos
1716*7f2fe78bSCy Schubertinstallation that was installed in a non\sphinxhyphen{}standard location.  For example,
1717*7f2fe78bSCy Schuberta Kerberos installation that is installed in \sphinxcode{\sphinxupquote{/opt/krb5/}} but uses
1718*7f2fe78bSCy Schubertlibraries in \sphinxcode{\sphinxupquote{/usr/local/lib/}} for text localization would produce
1719*7f2fe78bSCy Schubertthe following output:
1720*7f2fe78bSCy Schubert
1721*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
1722*7f2fe78bSCy Schubert\PYG{n}{shell}\PYG{o}{\PYGZpc{}} \PYG{n}{krb5}\PYG{o}{\PYGZhy{}}\PYG{n}{config} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{libs} \PYG{n}{krb5}
1723*7f2fe78bSCy Schubert\PYG{o}{\PYGZhy{}}\PYG{n}{L}\PYG{o}{/}\PYG{n}{opt}\PYG{o}{/}\PYG{n}{krb5}\PYG{o}{/}\PYG{n}{lib} \PYG{o}{\PYGZhy{}}\PYG{n}{Wl}\PYG{p}{,}\PYG{o}{\PYGZhy{}}\PYG{n}{rpath} \PYG{o}{\PYGZhy{}}\PYG{n}{Wl}\PYG{p}{,}\PYG{o}{/}\PYG{n}{opt}\PYG{o}{/}\PYG{n}{krb5}\PYG{o}{/}\PYG{n}{lib} \PYG{o}{\PYGZhy{}}\PYG{n}{L}\PYG{o}{/}\PYG{n}{usr}\PYG{o}{/}\PYG{n}{local}\PYG{o}{/}\PYG{n}{lib} \PYG{o}{\PYGZhy{}}\PYG{n}{lkrb5} \PYG{o}{\PYGZhy{}}\PYG{n}{lk5crypto} \PYG{o}{\PYGZhy{}}\PYG{n}{lcom\PYGZus{}err}
1724*7f2fe78bSCy Schubert\end{sphinxVerbatim}
1725*7f2fe78bSCy Schubert
1726*7f2fe78bSCy Schubert
1727*7f2fe78bSCy Schubert\subsection{SEE ALSO}
1728*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/krb5-config:see-also}}
1729*7f2fe78bSCy Schubert\sphinxAtStartPar
1730*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}}, cc(1)
1731*7f2fe78bSCy Schubert
1732*7f2fe78bSCy Schubert
1733*7f2fe78bSCy Schubert\section{ksu}
1734*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:ksu}}\label{\detokenize{user/user_commands/ksu:ksu-1}}\label{\detokenize{user/user_commands/ksu::doc}}
1735*7f2fe78bSCy Schubert
1736*7f2fe78bSCy Schubert\subsection{SYNOPSIS}
1737*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:synopsis}}
1738*7f2fe78bSCy Schubert\sphinxAtStartPar
1739*7f2fe78bSCy Schubert\sphinxstylestrong{ksu}
1740*7f2fe78bSCy Schubert{[} \sphinxstyleemphasis{target\_user} {]}
1741*7f2fe78bSCy Schubert{[} \sphinxstylestrong{\sphinxhyphen{}n} \sphinxstyleemphasis{target\_principal\_name} {]}
1742*7f2fe78bSCy Schubert{[} \sphinxstylestrong{\sphinxhyphen{}c} \sphinxstyleemphasis{source\_cache\_name} {]}
1743*7f2fe78bSCy Schubert{[} \sphinxstylestrong{\sphinxhyphen{}k} {]}
1744*7f2fe78bSCy Schubert{[} \sphinxstylestrong{\sphinxhyphen{}r} time {]}
1745*7f2fe78bSCy Schubert{[} \sphinxstylestrong{\sphinxhyphen{}p} | \sphinxstylestrong{\sphinxhyphen{}P}{]}
1746*7f2fe78bSCy Schubert{[} \sphinxstylestrong{\sphinxhyphen{}f} | \sphinxstylestrong{\sphinxhyphen{}F}{]}
1747*7f2fe78bSCy Schubert{[} \sphinxstylestrong{\sphinxhyphen{}l} \sphinxstyleemphasis{lifetime} {]}
1748*7f2fe78bSCy Schubert{[} \sphinxstylestrong{\sphinxhyphen{}z | Z} {]}
1749*7f2fe78bSCy Schubert{[} \sphinxstylestrong{\sphinxhyphen{}q} {]}
1750*7f2fe78bSCy Schubert{[} \sphinxstylestrong{\sphinxhyphen{}e} \sphinxstyleemphasis{command} {[} args …  {]} {]} {[} \sphinxstylestrong{\sphinxhyphen{}a} {[} args …  {]} {]}
1751*7f2fe78bSCy Schubert
1752*7f2fe78bSCy Schubert
1753*7f2fe78bSCy Schubert\subsection{REQUIREMENTS}
1754*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:requirements}}
1755*7f2fe78bSCy Schubert\sphinxAtStartPar
1756*7f2fe78bSCy SchubertMust have Kerberos version 5 installed to compile ksu.  Must have a
1757*7f2fe78bSCy SchubertKerberos version 5 server running to use ksu.
1758*7f2fe78bSCy Schubert
1759*7f2fe78bSCy Schubert
1760*7f2fe78bSCy Schubert\subsection{DESCRIPTION}
1761*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:description}}
1762*7f2fe78bSCy Schubert\sphinxAtStartPar
1763*7f2fe78bSCy Schubertksu is a Kerberized version of the su program that has two missions:
1764*7f2fe78bSCy Schubertone is to securely change the real and effective user ID to that of
1765*7f2fe78bSCy Schubertthe target user, and the other is to create a new security context.
1766*7f2fe78bSCy Schubert
1767*7f2fe78bSCy Schubert\begin{sphinxadmonition}{note}{Note:}
1768*7f2fe78bSCy Schubert\sphinxAtStartPar
1769*7f2fe78bSCy SchubertFor the sake of clarity, all references to and attributes of
1770*7f2fe78bSCy Schubertthe user invoking the program will start with “source”
1771*7f2fe78bSCy Schubert(e.g., “source user”, “source cache”, etc.).
1772*7f2fe78bSCy Schubert
1773*7f2fe78bSCy Schubert\sphinxAtStartPar
1774*7f2fe78bSCy SchubertLikewise, all references to and attributes of the target
1775*7f2fe78bSCy Schubertaccount will start with “target”.
1776*7f2fe78bSCy Schubert\end{sphinxadmonition}
1777*7f2fe78bSCy Schubert
1778*7f2fe78bSCy Schubert
1779*7f2fe78bSCy Schubert\subsection{AUTHENTICATION}
1780*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:authentication}}
1781*7f2fe78bSCy Schubert\sphinxAtStartPar
1782*7f2fe78bSCy SchubertTo fulfill the first mission, ksu operates in two phases:
1783*7f2fe78bSCy Schubertauthentication and authorization.  Resolving the target principal name
1784*7f2fe78bSCy Schubertis the first step in authentication.  The user can either specify his
1785*7f2fe78bSCy Schubertprincipal name with the \sphinxstylestrong{\sphinxhyphen{}n} option (e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}n jqpublic@USC.EDU}})
1786*7f2fe78bSCy Schubertor a default principal name will be assigned using a heuristic
1787*7f2fe78bSCy Schubertdescribed in the OPTIONS section (see \sphinxstylestrong{\sphinxhyphen{}n} option).  The target user
1788*7f2fe78bSCy Schubertname must be the first argument to ksu; if not specified root is the
1789*7f2fe78bSCy Schubertdefault.  If \sphinxcode{\sphinxupquote{.}} is specified then the target user will be the
1790*7f2fe78bSCy Schubertsource user (e.g., \sphinxcode{\sphinxupquote{ksu .}}).  If the source user is root or the
1791*7f2fe78bSCy Schuberttarget user is the source user, no authentication or authorization
1792*7f2fe78bSCy Schuberttakes place.  Otherwise, ksu looks for an appropriate Kerberos ticket
1793*7f2fe78bSCy Schubertin the source cache.
1794*7f2fe78bSCy Schubert
1795*7f2fe78bSCy Schubert\sphinxAtStartPar
1796*7f2fe78bSCy SchubertThe ticket can either be for the end\sphinxhyphen{}server or a ticket granting
1797*7f2fe78bSCy Schubertticket (TGT) for the target principal’s realm.  If the ticket for the
1798*7f2fe78bSCy Schubertend\sphinxhyphen{}server is already in the cache, it’s decrypted and verified.  If
1799*7f2fe78bSCy Schubertit’s not in the cache but the TGT is, the TGT is used to obtain the
1800*7f2fe78bSCy Schubertticket for the end\sphinxhyphen{}server.  The end\sphinxhyphen{}server ticket is then verified.
1801*7f2fe78bSCy SchubertIf neither ticket is in the cache, but ksu is compiled with the
1802*7f2fe78bSCy Schubert\sphinxstylestrong{GET\_TGT\_VIA\_PASSWD} define, the user will be prompted for a
1803*7f2fe78bSCy SchubertKerberos password which will then be used to get a TGT.  If the user
1804*7f2fe78bSCy Schubertis logged in remotely and does not have a secure channel, the password
1805*7f2fe78bSCy Schubertmay be exposed.  If neither ticket is in the cache and
1806*7f2fe78bSCy Schubert\sphinxstylestrong{GET\_TGT\_VIA\_PASSWD} is not defined, authentication fails.
1807*7f2fe78bSCy Schubert
1808*7f2fe78bSCy Schubert
1809*7f2fe78bSCy Schubert\subsection{AUTHORIZATION}
1810*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:authorization}}
1811*7f2fe78bSCy Schubert\sphinxAtStartPar
1812*7f2fe78bSCy SchubertThis section describes authorization of the source user when ksu is
1813*7f2fe78bSCy Schubertinvoked without the \sphinxstylestrong{\sphinxhyphen{}e} option.  For a description of the \sphinxstylestrong{\sphinxhyphen{}e}
1814*7f2fe78bSCy Schubertoption, see the OPTIONS section.
1815*7f2fe78bSCy Schubert
1816*7f2fe78bSCy Schubert\sphinxAtStartPar
1817*7f2fe78bSCy SchubertUpon successful authentication, ksu checks whether the target
1818*7f2fe78bSCy Schubertprincipal is authorized to access the target account.  In the target
1819*7f2fe78bSCy Schubertuser’s home directory, ksu attempts to access two authorization files:
1820*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_config/k5login:k5login-5}]{\sphinxcrossref{\DUrole{std,std-ref}{.k5login}}}} and .k5users.  In the .k5login file each line
1821*7f2fe78bSCy Schubertcontains the name of a principal that is authorized to access the
1822*7f2fe78bSCy Schubertaccount.
1823*7f2fe78bSCy Schubert
1824*7f2fe78bSCy Schubert\sphinxAtStartPar
1825*7f2fe78bSCy SchubertFor example:
1826*7f2fe78bSCy Schubert
1827*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
1828*7f2fe78bSCy Schubert\PYG{n}{jqpublic}\PYG{n+nd}{@USC}\PYG{o}{.}\PYG{n}{EDU}
1829*7f2fe78bSCy Schubert\PYG{n}{jqpublic}\PYG{o}{/}\PYG{n}{secure}\PYG{n+nd}{@USC}\PYG{o}{.}\PYG{n}{EDU}
1830*7f2fe78bSCy Schubert\PYG{n}{jqpublic}\PYG{o}{/}\PYG{n}{admin}\PYG{n+nd}{@USC}\PYG{o}{.}\PYG{n}{EDU}
1831*7f2fe78bSCy Schubert\end{sphinxVerbatim}
1832*7f2fe78bSCy Schubert
1833*7f2fe78bSCy Schubert\sphinxAtStartPar
1834*7f2fe78bSCy SchubertThe format of .k5users is the same, except the principal name may be
1835*7f2fe78bSCy Schubertfollowed by a list of commands that the principal is authorized to
1836*7f2fe78bSCy Schubertexecute (see the \sphinxstylestrong{\sphinxhyphen{}e} option in the OPTIONS section for details).
1837*7f2fe78bSCy Schubert
1838*7f2fe78bSCy Schubert\sphinxAtStartPar
1839*7f2fe78bSCy SchubertThus if the target principal name is found in the .k5login file the
1840*7f2fe78bSCy Schubertsource user is authorized to access the target account.  Otherwise ksu
1841*7f2fe78bSCy Schubertlooks in the .k5users file.  If the target principal name is found
1842*7f2fe78bSCy Schubertwithout any trailing commands or followed only by \sphinxcode{\sphinxupquote{*}} then the
1843*7f2fe78bSCy Schubertsource user is authorized.  If either .k5login or .k5users exist but
1844*7f2fe78bSCy Schubertan appropriate entry for the target principal does not exist then
1845*7f2fe78bSCy Schubertaccess is denied.  If neither file exists then the principal will be
1846*7f2fe78bSCy Schubertgranted access to the account according to the aname\sphinxhyphen{}\textgreater{}lname mapping
1847*7f2fe78bSCy Schubertrules.  Otherwise, authorization fails.
1848*7f2fe78bSCy Schubert
1849*7f2fe78bSCy Schubert
1850*7f2fe78bSCy Schubert\subsection{EXECUTION OF THE TARGET SHELL}
1851*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:execution-of-the-target-shell}}
1852*7f2fe78bSCy Schubert\sphinxAtStartPar
1853*7f2fe78bSCy SchubertUpon successful authentication and authorization, ksu proceeds in a
1854*7f2fe78bSCy Schubertsimilar fashion to su.  The environment is unmodified with the
1855*7f2fe78bSCy Schubertexception of USER, HOME and SHELL variables.  If the target user is
1856*7f2fe78bSCy Schubertnot root, USER gets set to the target user name.  Otherwise USER
1857*7f2fe78bSCy Schubertremains unchanged.  Both HOME and SHELL are set to the target login’s
1858*7f2fe78bSCy Schubertdefault values.  In addition, the environment variable \sphinxstylestrong{KRB5CCNAME}
1859*7f2fe78bSCy Schubertgets set to the name of the target cache.  The real and effective user
1860*7f2fe78bSCy SchubertID are changed to that of the target user.  The target user’s shell is
1861*7f2fe78bSCy Schubertthen invoked (the shell name is specified in the password file).  Upon
1862*7f2fe78bSCy Schuberttermination of the shell, ksu deletes the target cache (unless ksu is
1863*7f2fe78bSCy Schubertinvoked with the \sphinxstylestrong{\sphinxhyphen{}k} option).  This is implemented by first doing a
1864*7f2fe78bSCy Schubertfork and then an exec, instead of just exec, as done by su.
1865*7f2fe78bSCy Schubert
1866*7f2fe78bSCy Schubert
1867*7f2fe78bSCy Schubert\subsection{CREATING A NEW SECURITY CONTEXT}
1868*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:creating-a-new-security-context}}
1869*7f2fe78bSCy Schubert\sphinxAtStartPar
1870*7f2fe78bSCy Schubertksu can be used to create a new security context for the target
1871*7f2fe78bSCy Schubertprogram (either the target shell, or command specified via the \sphinxstylestrong{\sphinxhyphen{}e}
1872*7f2fe78bSCy Schubertoption).  The target program inherits a set of credentials from the
1873*7f2fe78bSCy Schubertsource user.  By default, this set includes all of the credentials in
1874*7f2fe78bSCy Schubertthe source cache plus any additional credentials obtained during
1875*7f2fe78bSCy Schubertauthentication.  The source user is able to limit the credentials in
1876*7f2fe78bSCy Schubertthis set by using \sphinxstylestrong{\sphinxhyphen{}z} or \sphinxstylestrong{\sphinxhyphen{}Z} option.  \sphinxstylestrong{\sphinxhyphen{}z} restricts the copy
1877*7f2fe78bSCy Schubertof tickets from the source cache to the target cache to only the
1878*7f2fe78bSCy Schuberttickets where client == the target principal name.  The \sphinxstylestrong{\sphinxhyphen{}Z} option
1879*7f2fe78bSCy Schubertprovides the target user with a fresh target cache (no creds in the
1880*7f2fe78bSCy Schubertcache).  Note that for security reasons, when the source user is root
1881*7f2fe78bSCy Schubertand target user is non\sphinxhyphen{}root, \sphinxstylestrong{\sphinxhyphen{}z} option is the default mode of
1882*7f2fe78bSCy Schubertoperation.
1883*7f2fe78bSCy Schubert
1884*7f2fe78bSCy Schubert\sphinxAtStartPar
1885*7f2fe78bSCy SchubertWhile no authentication takes place if the source user is root or is
1886*7f2fe78bSCy Schubertthe same as the target user, additional tickets can still be obtained
1887*7f2fe78bSCy Schubertfor the target cache.  If \sphinxstylestrong{\sphinxhyphen{}n} is specified and no credentials can
1888*7f2fe78bSCy Schubertbe copied to the target cache, the source user is prompted for a
1889*7f2fe78bSCy SchubertKerberos password (unless \sphinxstylestrong{\sphinxhyphen{}Z} specified or \sphinxstylestrong{GET\_TGT\_VIA\_PASSWD}
1890*7f2fe78bSCy Schubertis undefined).  If successful, a TGT is obtained from the Kerberos
1891*7f2fe78bSCy Schubertserver and stored in the target cache.  Otherwise, if a password is
1892*7f2fe78bSCy Schubertnot provided (user hit return) ksu continues in a normal mode of
1893*7f2fe78bSCy Schubertoperation (the target cache will not contain the desired TGT).  If the
1894*7f2fe78bSCy Schubertwrong password is typed in, ksu fails.
1895*7f2fe78bSCy Schubert
1896*7f2fe78bSCy Schubert\begin{sphinxadmonition}{note}{Note:}
1897*7f2fe78bSCy Schubert\sphinxAtStartPar
1898*7f2fe78bSCy SchubertDuring authentication, only the tickets that could be
1899*7f2fe78bSCy Schubertobtained without providing a password are cached in the
1900*7f2fe78bSCy Schubertsource cache.
1901*7f2fe78bSCy Schubert\end{sphinxadmonition}
1902*7f2fe78bSCy Schubert
1903*7f2fe78bSCy Schubert
1904*7f2fe78bSCy Schubert\subsection{OPTIONS}
1905*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:options}}\begin{description}
1906*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}n} \sphinxstyleemphasis{target\_principal\_name}}] \leavevmode
1907*7f2fe78bSCy Schubert\sphinxAtStartPar
1908*7f2fe78bSCy SchubertSpecify a Kerberos target principal name.  Used in authentication
1909*7f2fe78bSCy Schubertand authorization phases of ksu.
1910*7f2fe78bSCy Schubert
1911*7f2fe78bSCy Schubert\sphinxAtStartPar
1912*7f2fe78bSCy SchubertIf ksu is invoked without \sphinxstylestrong{\sphinxhyphen{}n}, a default principal name is
1913*7f2fe78bSCy Schubertassigned via the following heuristic:
1914*7f2fe78bSCy Schubert\begin{itemize}
1915*7f2fe78bSCy Schubert\item {}
1916*7f2fe78bSCy Schubert\sphinxAtStartPar
1917*7f2fe78bSCy SchubertCase 1: source user is non\sphinxhyphen{}root.
1918*7f2fe78bSCy Schubert
1919*7f2fe78bSCy Schubert\sphinxAtStartPar
1920*7f2fe78bSCy SchubertIf the target user is the source user the default principal name
1921*7f2fe78bSCy Schubertis set to the default principal of the source cache.  If the
1922*7f2fe78bSCy Schubertcache does not exist then the default principal name is set to
1923*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{target\_user@local\_realm}}.  If the source and target users are
1924*7f2fe78bSCy Schubertdifferent and neither \sphinxcode{\sphinxupquote{\textasciitilde{}target\_user/.k5users}} nor
1925*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{\textasciitilde{}target\_user/.k5login}} exist then the default principal name
1926*7f2fe78bSCy Schubertis \sphinxcode{\sphinxupquote{target\_user\_login\_name@local\_realm}}.  Otherwise, starting
1927*7f2fe78bSCy Schubertwith the first principal listed below, ksu checks if the
1928*7f2fe78bSCy Schubertprincipal is authorized to access the target account and whether
1929*7f2fe78bSCy Schubertthere is a legitimate ticket for that principal in the source
1930*7f2fe78bSCy Schubertcache.  If both conditions are met that principal becomes the
1931*7f2fe78bSCy Schubertdefault target principal, otherwise go to the next principal.
1932*7f2fe78bSCy Schubert\begin{enumerate}
1933*7f2fe78bSCy Schubert\sphinxsetlistlabels{\alph}{enumi}{enumii}{}{)}%
1934*7f2fe78bSCy Schubert\item {}
1935*7f2fe78bSCy Schubert\sphinxAtStartPar
1936*7f2fe78bSCy Schubertdefault principal of the source cache
1937*7f2fe78bSCy Schubert
1938*7f2fe78bSCy Schubert\item {}
1939*7f2fe78bSCy Schubert\sphinxAtStartPar
1940*7f2fe78bSCy Schuberttarget\_user@local\_realm
1941*7f2fe78bSCy Schubert
1942*7f2fe78bSCy Schubert\item {}
1943*7f2fe78bSCy Schubert\sphinxAtStartPar
1944*7f2fe78bSCy Schubertsource\_user@local\_realm
1945*7f2fe78bSCy Schubert
1946*7f2fe78bSCy Schubert\end{enumerate}
1947*7f2fe78bSCy Schubert
1948*7f2fe78bSCy Schubert\sphinxAtStartPar
1949*7f2fe78bSCy SchubertIf a\sphinxhyphen{}c fails try any principal for which there is a ticket in
1950*7f2fe78bSCy Schubertthe source cache and that is authorized to access the target
1951*7f2fe78bSCy Schubertaccount.  If that fails select the first principal that is
1952*7f2fe78bSCy Schubertauthorized to access the target account from the above list.  If
1953*7f2fe78bSCy Schubertnone are authorized and ksu is configured with
1954*7f2fe78bSCy Schubert\sphinxstylestrong{PRINC\_LOOK\_AHEAD} turned on, select the default principal as
1955*7f2fe78bSCy Schubertfollows:
1956*7f2fe78bSCy Schubert
1957*7f2fe78bSCy Schubert\sphinxAtStartPar
1958*7f2fe78bSCy SchubertFor each candidate in the above list, select an authorized
1959*7f2fe78bSCy Schubertprincipal that has the same realm name and first part of the
1960*7f2fe78bSCy Schubertprincipal name equal to the prefix of the candidate.  For
1961*7f2fe78bSCy Schubertexample if candidate a) is \sphinxcode{\sphinxupquote{jqpublic@ISI.EDU}} and
1962*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{jqpublic/secure@ISI.EDU}} is authorized to access the target
1963*7f2fe78bSCy Schubertaccount then the default principal is set to
1964*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{jqpublic/secure@ISI.EDU}}.
1965*7f2fe78bSCy Schubert
1966*7f2fe78bSCy Schubert\item {}
1967*7f2fe78bSCy Schubert\sphinxAtStartPar
1968*7f2fe78bSCy SchubertCase 2: source user is root.
1969*7f2fe78bSCy Schubert
1970*7f2fe78bSCy Schubert\sphinxAtStartPar
1971*7f2fe78bSCy SchubertIf the target user is non\sphinxhyphen{}root then the default principal name
1972*7f2fe78bSCy Schubertis \sphinxcode{\sphinxupquote{target\_user@local\_realm}}.  Else, if the source cache
1973*7f2fe78bSCy Schubertexists the default principal name is set to the default
1974*7f2fe78bSCy Schubertprincipal of the source cache.  If the source cache does not
1975*7f2fe78bSCy Schubertexist, default principal name is set to \sphinxcode{\sphinxupquote{root\textbackslash{}@local\_realm}}.
1976*7f2fe78bSCy Schubert
1977*7f2fe78bSCy Schubert\end{itemize}
1978*7f2fe78bSCy Schubert
1979*7f2fe78bSCy Schubert\end{description}
1980*7f2fe78bSCy Schubert
1981*7f2fe78bSCy Schubert\sphinxAtStartPar
1982*7f2fe78bSCy Schubert\sphinxstylestrong{\sphinxhyphen{}c} \sphinxstyleemphasis{source\_cache\_name}
1983*7f2fe78bSCy Schubert\begin{quote}
1984*7f2fe78bSCy Schubert
1985*7f2fe78bSCy Schubert\sphinxAtStartPar
1986*7f2fe78bSCy SchubertSpecify source cache name (e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}c FILE:/tmp/my\_cache}}).  If
1987*7f2fe78bSCy Schubert\sphinxstylestrong{\sphinxhyphen{}c} option is not used then the name is obtained from
1988*7f2fe78bSCy Schubert\sphinxstylestrong{KRB5CCNAME} environment variable.  If \sphinxstylestrong{KRB5CCNAME} is not
1989*7f2fe78bSCy Schubertdefined the source cache name is set to \sphinxcode{\sphinxupquote{krb5cc\_\textless{}source uid\textgreater{}}}.
1990*7f2fe78bSCy SchubertThe target cache name is automatically set to \sphinxcode{\sphinxupquote{krb5cc\_\textless{}target
1991*7f2fe78bSCy Schubertuid\textgreater{}.(gen\_sym())}}, where gen\_sym generates a new number such that
1992*7f2fe78bSCy Schubertthe resulting cache does not already exist.  For example:
1993*7f2fe78bSCy Schubert
1994*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
1995*7f2fe78bSCy Schubert\PYG{n}{krb5cc\PYGZus{}1984}\PYG{l+m+mf}{.2}
1996*7f2fe78bSCy Schubert\end{sphinxVerbatim}
1997*7f2fe78bSCy Schubert\end{quote}
1998*7f2fe78bSCy Schubert\begin{description}
1999*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}k}}] \leavevmode
2000*7f2fe78bSCy Schubert\sphinxAtStartPar
2001*7f2fe78bSCy SchubertDo not delete the target cache upon termination of the target
2002*7f2fe78bSCy Schubertshell or a command (\sphinxstylestrong{\sphinxhyphen{}e} command).  Without \sphinxstylestrong{\sphinxhyphen{}k}, ksu deletes
2003*7f2fe78bSCy Schubertthe target cache.
2004*7f2fe78bSCy Schubert
2005*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}z}}] \leavevmode
2006*7f2fe78bSCy Schubert\sphinxAtStartPar
2007*7f2fe78bSCy SchubertRestrict the copy of tickets from the source cache to the target
2008*7f2fe78bSCy Schubertcache to only the tickets where client == the target principal
2009*7f2fe78bSCy Schubertname.  Use the \sphinxstylestrong{\sphinxhyphen{}n} option if you want the tickets for other then
2010*7f2fe78bSCy Schubertthe default principal.  Note that the \sphinxstylestrong{\sphinxhyphen{}z} option is mutually
2011*7f2fe78bSCy Schubertexclusive with the \sphinxstylestrong{\sphinxhyphen{}Z} option.
2012*7f2fe78bSCy Schubert
2013*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}Z}}] \leavevmode
2014*7f2fe78bSCy Schubert\sphinxAtStartPar
2015*7f2fe78bSCy SchubertDon’t copy any tickets from the source cache to the target cache.
2016*7f2fe78bSCy SchubertJust create a fresh target cache, where the default principal name
2017*7f2fe78bSCy Schubertof the cache is initialized to the target principal name.  Note
2018*7f2fe78bSCy Schubertthat the \sphinxstylestrong{\sphinxhyphen{}Z} option is mutually exclusive with the \sphinxstylestrong{\sphinxhyphen{}z}
2019*7f2fe78bSCy Schubertoption.
2020*7f2fe78bSCy Schubert
2021*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}q}}] \leavevmode
2022*7f2fe78bSCy Schubert\sphinxAtStartPar
2023*7f2fe78bSCy SchubertSuppress the printing of status messages.
2024*7f2fe78bSCy Schubert
2025*7f2fe78bSCy Schubert\end{description}
2026*7f2fe78bSCy Schubert
2027*7f2fe78bSCy Schubert\sphinxAtStartPar
2028*7f2fe78bSCy SchubertTicket granting ticket options:
2029*7f2fe78bSCy Schubert\begin{description}
2030*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}l} \sphinxstyleemphasis{lifetime} \sphinxstylestrong{\sphinxhyphen{}r} \sphinxstyleemphasis{time} \sphinxstylestrong{\sphinxhyphen{}p} \sphinxstylestrong{\sphinxhyphen{}P} \sphinxstylestrong{\sphinxhyphen{}f} \sphinxstylestrong{\sphinxhyphen{}F}}] \leavevmode
2031*7f2fe78bSCy Schubert\sphinxAtStartPar
2032*7f2fe78bSCy SchubertThe ticket granting ticket options only apply to the case where
2033*7f2fe78bSCy Schubertthere are no appropriate tickets in the cache to authenticate the
2034*7f2fe78bSCy Schubertsource user.  In this case if ksu is configured to prompt users
2035*7f2fe78bSCy Schubertfor a Kerberos password (\sphinxstylestrong{GET\_TGT\_VIA\_PASSWD} is defined), the
2036*7f2fe78bSCy Schubertticket granting ticket options that are specified will be used
2037*7f2fe78bSCy Schubertwhen getting a ticket granting ticket from the Kerberos server.
2038*7f2fe78bSCy Schubert
2039*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}l} \sphinxstyleemphasis{lifetime}}] \leavevmode
2040*7f2fe78bSCy Schubert\sphinxAtStartPar
2041*7f2fe78bSCy Schubert(\DUrole{xref,std,std-ref}{duration} string.)  Specifies the lifetime to be requested
2042*7f2fe78bSCy Schubertfor the ticket; if this option is not specified, the default ticket
2043*7f2fe78bSCy Schubertlifetime (12 hours) is used instead.
2044*7f2fe78bSCy Schubert
2045*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}r} \sphinxstyleemphasis{time}}] \leavevmode
2046*7f2fe78bSCy Schubert\sphinxAtStartPar
2047*7f2fe78bSCy Schubert(\DUrole{xref,std,std-ref}{duration} string.)  Specifies that the \sphinxstylestrong{renewable} option
2048*7f2fe78bSCy Schubertshould be requested for the ticket, and specifies the desired
2049*7f2fe78bSCy Schuberttotal lifetime of the ticket.
2050*7f2fe78bSCy Schubert
2051*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}p}}] \leavevmode
2052*7f2fe78bSCy Schubert\sphinxAtStartPar
2053*7f2fe78bSCy Schubertspecifies that the \sphinxstylestrong{proxiable} option should be requested for
2054*7f2fe78bSCy Schubertthe ticket.
2055*7f2fe78bSCy Schubert
2056*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}P}}] \leavevmode
2057*7f2fe78bSCy Schubert\sphinxAtStartPar
2058*7f2fe78bSCy Schubertspecifies that the \sphinxstylestrong{proxiable} option should not be requested
2059*7f2fe78bSCy Schubertfor the ticket, even if the default configuration is to ask for
2060*7f2fe78bSCy Schubertproxiable tickets.
2061*7f2fe78bSCy Schubert
2062*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}f}}] \leavevmode
2063*7f2fe78bSCy Schubert\sphinxAtStartPar
2064*7f2fe78bSCy Schubertoption specifies that the \sphinxstylestrong{forwardable} option should be
2065*7f2fe78bSCy Schubertrequested for the ticket.
2066*7f2fe78bSCy Schubert
2067*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}F}}] \leavevmode
2068*7f2fe78bSCy Schubert\sphinxAtStartPar
2069*7f2fe78bSCy Schubertoption specifies that the \sphinxstylestrong{forwardable} option should not be
2070*7f2fe78bSCy Schubertrequested for the ticket, even if the default configuration is to
2071*7f2fe78bSCy Schubertask for forwardable tickets.
2072*7f2fe78bSCy Schubert
2073*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}e} \sphinxstyleemphasis{command} {[}\sphinxstyleemphasis{args} …{]}}] \leavevmode
2074*7f2fe78bSCy Schubert\sphinxAtStartPar
2075*7f2fe78bSCy Schubertksu proceeds exactly the same as if it was invoked without the
2076*7f2fe78bSCy Schubert\sphinxstylestrong{\sphinxhyphen{}e} option, except instead of executing the target shell, ksu
2077*7f2fe78bSCy Schubertexecutes the specified command. Example of usage:
2078*7f2fe78bSCy Schubert
2079*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
2080*7f2fe78bSCy Schubert\PYG{n}{ksu} \PYG{n}{bob} \PYG{o}{\PYGZhy{}}\PYG{n}{e} \PYG{n}{ls} \PYG{o}{\PYGZhy{}}\PYG{n}{lag}
2081*7f2fe78bSCy Schubert\end{sphinxVerbatim}
2082*7f2fe78bSCy Schubert
2083*7f2fe78bSCy Schubert\sphinxAtStartPar
2084*7f2fe78bSCy SchubertThe authorization algorithm for \sphinxstylestrong{\sphinxhyphen{}e} is as follows:
2085*7f2fe78bSCy Schubert
2086*7f2fe78bSCy Schubert\sphinxAtStartPar
2087*7f2fe78bSCy SchubertIf the source user is root or source user == target user, no
2088*7f2fe78bSCy Schubertauthorization takes place and the command is executed.  If source
2089*7f2fe78bSCy Schubertuser id != 0, and \sphinxcode{\sphinxupquote{\textasciitilde{}target\_user/.k5users}} file does not exist,
2090*7f2fe78bSCy Schubertauthorization fails.  Otherwise, \sphinxcode{\sphinxupquote{\textasciitilde{}target\_user/.k5users}} file
2091*7f2fe78bSCy Schubertmust have an appropriate entry for target principal to get
2092*7f2fe78bSCy Schubertauthorized.
2093*7f2fe78bSCy Schubert
2094*7f2fe78bSCy Schubert\sphinxAtStartPar
2095*7f2fe78bSCy SchubertThe .k5users file format:
2096*7f2fe78bSCy Schubert
2097*7f2fe78bSCy Schubert\sphinxAtStartPar
2098*7f2fe78bSCy SchubertA single principal entry on each line that may be followed by a
2099*7f2fe78bSCy Schubertlist of commands that the principal is authorized to execute.  A
2100*7f2fe78bSCy Schubertprincipal name followed by a \sphinxcode{\sphinxupquote{*}} means that the user is
2101*7f2fe78bSCy Schubertauthorized to execute any command.  Thus, in the following
2102*7f2fe78bSCy Schubertexample:
2103*7f2fe78bSCy Schubert
2104*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
2105*7f2fe78bSCy Schubert\PYG{n}{jqpublic}\PYG{n+nd}{@USC}\PYG{o}{.}\PYG{n}{EDU} \PYG{n}{ls} \PYG{n}{mail} \PYG{o}{/}\PYG{n}{local}\PYG{o}{/}\PYG{n}{kerberos}\PYG{o}{/}\PYG{n}{klist}
2106*7f2fe78bSCy Schubert\PYG{n}{jqpublic}\PYG{o}{/}\PYG{n}{secure}\PYG{n+nd}{@USC}\PYG{o}{.}\PYG{n}{EDU} \PYG{o}{*}
2107*7f2fe78bSCy Schubert\PYG{n}{jqpublic}\PYG{o}{/}\PYG{n}{admin}\PYG{n+nd}{@USC}\PYG{o}{.}\PYG{n}{EDU}
2108*7f2fe78bSCy Schubert\end{sphinxVerbatim}
2109*7f2fe78bSCy Schubert
2110*7f2fe78bSCy Schubert\sphinxAtStartPar
2111*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{jqpublic@USC.EDU}} is only authorized to execute \sphinxcode{\sphinxupquote{ls}},
2112*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{mail}} and \sphinxcode{\sphinxupquote{klist}} commands.  \sphinxcode{\sphinxupquote{jqpublic/secure@USC.EDU}} is
2113*7f2fe78bSCy Schubertauthorized to execute any command.  \sphinxcode{\sphinxupquote{jqpublic/admin@USC.EDU}} is
2114*7f2fe78bSCy Schubertnot authorized to execute any command.  Note, that
2115*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{jqpublic/admin@USC.EDU}} is authorized to execute the target
2116*7f2fe78bSCy Schubertshell (regular ksu, without the \sphinxstylestrong{\sphinxhyphen{}e} option) but
2117*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{jqpublic@USC.EDU}} is not.
2118*7f2fe78bSCy Schubert
2119*7f2fe78bSCy Schubert\sphinxAtStartPar
2120*7f2fe78bSCy SchubertThe commands listed after the principal name must be either a full
2121*7f2fe78bSCy Schubertpath names or just the program name.  In the second case,
2122*7f2fe78bSCy Schubert\sphinxstylestrong{CMD\_PATH} specifying the location of authorized programs must
2123*7f2fe78bSCy Schubertbe defined at the compilation time of ksu.  Which command gets
2124*7f2fe78bSCy Schubertexecuted?
2125*7f2fe78bSCy Schubert
2126*7f2fe78bSCy Schubert\sphinxAtStartPar
2127*7f2fe78bSCy SchubertIf the source user is root or the target user is the source user
2128*7f2fe78bSCy Schubertor the user is authorized to execute any command (\sphinxcode{\sphinxupquote{*}} entry)
2129*7f2fe78bSCy Schubertthen command can be either a full or a relative path leading to
2130*7f2fe78bSCy Schubertthe target program.  Otherwise, the user must specify either a
2131*7f2fe78bSCy Schubertfull path or just the program name.
2132*7f2fe78bSCy Schubert
2133*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}a} \sphinxstyleemphasis{args}}] \leavevmode
2134*7f2fe78bSCy Schubert\sphinxAtStartPar
2135*7f2fe78bSCy SchubertSpecify arguments to be passed to the target shell.  Note that all
2136*7f2fe78bSCy Schubertflags and parameters following \sphinxhyphen{}a will be passed to the shell,
2137*7f2fe78bSCy Schubertthus all options intended for ksu must precede \sphinxstylestrong{\sphinxhyphen{}a}.
2138*7f2fe78bSCy Schubert
2139*7f2fe78bSCy Schubert\sphinxAtStartPar
2140*7f2fe78bSCy SchubertThe \sphinxstylestrong{\sphinxhyphen{}a} option can be used to simulate the \sphinxstylestrong{\sphinxhyphen{}e} option if
2141*7f2fe78bSCy Schubertused as follows:
2142*7f2fe78bSCy Schubert
2143*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
2144*7f2fe78bSCy Schubert\PYG{o}{\PYGZhy{}}\PYG{n}{a} \PYG{o}{\PYGZhy{}}\PYG{n}{c} \PYG{p}{[}\PYG{n}{command} \PYG{p}{[}\PYG{n}{arguments}\PYG{p}{]}\PYG{p}{]}\PYG{o}{.}
2145*7f2fe78bSCy Schubert\end{sphinxVerbatim}
2146*7f2fe78bSCy Schubert
2147*7f2fe78bSCy Schubert\sphinxAtStartPar
2148*7f2fe78bSCy Schubert\sphinxstylestrong{\sphinxhyphen{}c} is interpreted by the c\sphinxhyphen{}shell to execute the command.
2149*7f2fe78bSCy Schubert
2150*7f2fe78bSCy Schubert\end{description}
2151*7f2fe78bSCy Schubert
2152*7f2fe78bSCy Schubert
2153*7f2fe78bSCy Schubert\subsection{INSTALLATION INSTRUCTIONS}
2154*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:installation-instructions}}
2155*7f2fe78bSCy Schubert\sphinxAtStartPar
2156*7f2fe78bSCy Schubertksu can be compiled with the following four flags:
2157*7f2fe78bSCy Schubert\begin{description}
2158*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{GET\_TGT\_VIA\_PASSWD}}] \leavevmode
2159*7f2fe78bSCy Schubert\sphinxAtStartPar
2160*7f2fe78bSCy SchubertIn case no appropriate tickets are found in the source cache, the
2161*7f2fe78bSCy Schubertuser will be prompted for a Kerberos password.  The password is
2162*7f2fe78bSCy Schubertthen used to get a ticket granting ticket from the Kerberos
2163*7f2fe78bSCy Schubertserver.  The danger of configuring ksu with this macro is if the
2164*7f2fe78bSCy Schubertsource user is logged in remotely and does not have a secure
2165*7f2fe78bSCy Schubertchannel, the password may get exposed.
2166*7f2fe78bSCy Schubert
2167*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{PRINC\_LOOK\_AHEAD}}] \leavevmode
2168*7f2fe78bSCy Schubert\sphinxAtStartPar
2169*7f2fe78bSCy SchubertDuring the resolution of the default principal name,
2170*7f2fe78bSCy Schubert\sphinxstylestrong{PRINC\_LOOK\_AHEAD} enables ksu to find principal names in
2171*7f2fe78bSCy Schubertthe .k5users file as described in the OPTIONS section
2172*7f2fe78bSCy Schubert(see \sphinxstylestrong{\sphinxhyphen{}n} option).
2173*7f2fe78bSCy Schubert
2174*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{CMD\_PATH}}] \leavevmode
2175*7f2fe78bSCy Schubert\sphinxAtStartPar
2176*7f2fe78bSCy SchubertSpecifies a list of directories containing programs that users are
2177*7f2fe78bSCy Schubertauthorized to execute (via .k5users file).
2178*7f2fe78bSCy Schubert
2179*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{HAVE\_GETUSERSHELL}}] \leavevmode
2180*7f2fe78bSCy Schubert\sphinxAtStartPar
2181*7f2fe78bSCy SchubertIf the source user is non\sphinxhyphen{}root, ksu insists that the target user’s
2182*7f2fe78bSCy Schubertshell to be invoked is a “legal shell”.  \sphinxstyleemphasis{getusershell(3)} is
2183*7f2fe78bSCy Schubertcalled to obtain the names of “legal shells”.  Note that the
2184*7f2fe78bSCy Schuberttarget user’s shell is obtained from the passwd file.
2185*7f2fe78bSCy Schubert
2186*7f2fe78bSCy Schubert\end{description}
2187*7f2fe78bSCy Schubert
2188*7f2fe78bSCy Schubert\sphinxAtStartPar
2189*7f2fe78bSCy SchubertSample configuration:
2190*7f2fe78bSCy Schubert
2191*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
2192*7f2fe78bSCy Schubert\PYG{n}{KSU\PYGZus{}OPTS} \PYG{o}{=} \PYG{o}{\PYGZhy{}}\PYG{n}{DGET\PYGZus{}TGT\PYGZus{}VIA\PYGZus{}PASSWD} \PYG{o}{\PYGZhy{}}\PYG{n}{DPRINC\PYGZus{}LOOK\PYGZus{}AHEAD} \PYG{o}{\PYGZhy{}}\PYG{n}{DCMD\PYGZus{}PATH}\PYG{o}{=}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZdq{}}\PYG{l+s+s1}{/bin /usr/ucb /local/bin}\PYG{l+s+s1}{\PYGZdq{}}
2193*7f2fe78bSCy Schubert\end{sphinxVerbatim}
2194*7f2fe78bSCy Schubert
2195*7f2fe78bSCy Schubert\sphinxAtStartPar
2196*7f2fe78bSCy Schubertksu should be owned by root and have the set user id bit turned on.
2197*7f2fe78bSCy Schubert
2198*7f2fe78bSCy Schubert\sphinxAtStartPar
2199*7f2fe78bSCy Schubertksu attempts to get a ticket for the end server just as Kerberized
2200*7f2fe78bSCy Schuberttelnet and rlogin.  Thus, there must be an entry for the server in the
2201*7f2fe78bSCy SchubertKerberos database (e.g., \sphinxcode{\sphinxupquote{host/nii.isi.edu@ISI.EDU}}).  The keytab
2202*7f2fe78bSCy Schubertfile must be in an appropriate location.
2203*7f2fe78bSCy Schubert
2204*7f2fe78bSCy Schubert
2205*7f2fe78bSCy Schubert\subsection{SIDE EFFECTS}
2206*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:side-effects}}
2207*7f2fe78bSCy Schubert\sphinxAtStartPar
2208*7f2fe78bSCy Schubertksu deletes all expired tickets from the source cache.
2209*7f2fe78bSCy Schubert
2210*7f2fe78bSCy Schubert
2211*7f2fe78bSCy Schubert\subsection{AUTHOR OF KSU}
2212*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:author-of-ksu}}
2213*7f2fe78bSCy Schubert\sphinxAtStartPar
2214*7f2fe78bSCy SchubertGENNADY (ARI) MEDVINSKY
2215*7f2fe78bSCy Schubert
2216*7f2fe78bSCy Schubert
2217*7f2fe78bSCy Schubert\subsection{ENVIRONMENT}
2218*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:environment}}
2219*7f2fe78bSCy Schubert\sphinxAtStartPar
2220*7f2fe78bSCy SchubertSee {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}} for a description of Kerberos environment
2221*7f2fe78bSCy Schubertvariables.
2222*7f2fe78bSCy Schubert
2223*7f2fe78bSCy Schubert
2224*7f2fe78bSCy Schubert\subsection{SEE ALSO}
2225*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/ksu:see-also}}
2226*7f2fe78bSCy Schubert\sphinxAtStartPar
2227*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}}, {\hyperref[\detokenize{user/user_commands/kinit:kinit-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kinit}}}}
2228*7f2fe78bSCy Schubert
2229*7f2fe78bSCy Schubert
2230*7f2fe78bSCy Schubert\section{kswitch}
2231*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kswitch:kswitch}}\label{\detokenize{user/user_commands/kswitch:kswitch-1}}\label{\detokenize{user/user_commands/kswitch::doc}}
2232*7f2fe78bSCy Schubert
2233*7f2fe78bSCy Schubert\subsection{SYNOPSIS}
2234*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kswitch:synopsis}}
2235*7f2fe78bSCy Schubert\sphinxAtStartPar
2236*7f2fe78bSCy Schubert\sphinxstylestrong{kswitch}
2237*7f2fe78bSCy Schubert\{\sphinxstylestrong{\sphinxhyphen{}c} \sphinxstyleemphasis{cachename}|\sphinxstylestrong{\sphinxhyphen{}p} \sphinxstyleemphasis{principal}\}
2238*7f2fe78bSCy Schubert
2239*7f2fe78bSCy Schubert
2240*7f2fe78bSCy Schubert\subsection{DESCRIPTION}
2241*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kswitch:description}}
2242*7f2fe78bSCy Schubert\sphinxAtStartPar
2243*7f2fe78bSCy Schubertkswitch makes the specified credential cache the primary cache for the
2244*7f2fe78bSCy Schubertcollection, if a cache collection is available.
2245*7f2fe78bSCy Schubert
2246*7f2fe78bSCy Schubert
2247*7f2fe78bSCy Schubert\subsection{OPTIONS}
2248*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kswitch:options}}\begin{description}
2249*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}c} \sphinxstyleemphasis{cachename}}] \leavevmode
2250*7f2fe78bSCy Schubert\sphinxAtStartPar
2251*7f2fe78bSCy SchubertDirectly specifies the credential cache to be made primary.
2252*7f2fe78bSCy Schubert
2253*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}p} \sphinxstyleemphasis{principal}}] \leavevmode
2254*7f2fe78bSCy Schubert\sphinxAtStartPar
2255*7f2fe78bSCy SchubertCauses the cache collection to be searched for a cache containing
2256*7f2fe78bSCy Schubertcredentials for \sphinxstyleemphasis{principal}.  If one is found, that collection is
2257*7f2fe78bSCy Schubertmade primary.
2258*7f2fe78bSCy Schubert
2259*7f2fe78bSCy Schubert\end{description}
2260*7f2fe78bSCy Schubert
2261*7f2fe78bSCy Schubert
2262*7f2fe78bSCy Schubert\subsection{ENVIRONMENT}
2263*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kswitch:environment}}
2264*7f2fe78bSCy Schubert\sphinxAtStartPar
2265*7f2fe78bSCy SchubertSee {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}} for a description of Kerberos environment
2266*7f2fe78bSCy Schubertvariables.
2267*7f2fe78bSCy Schubert
2268*7f2fe78bSCy Schubert
2269*7f2fe78bSCy Schubert\subsection{FILES}
2270*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kswitch:files}}\begin{description}
2271*7f2fe78bSCy Schubert\item[{\DUrole{xref,std,std-ref}{DEFCCNAME}}] \leavevmode
2272*7f2fe78bSCy Schubert\sphinxAtStartPar
2273*7f2fe78bSCy SchubertDefault location of Kerberos 5 credentials cache
2274*7f2fe78bSCy Schubert
2275*7f2fe78bSCy Schubert\end{description}
2276*7f2fe78bSCy Schubert
2277*7f2fe78bSCy Schubert
2278*7f2fe78bSCy Schubert\subsection{SEE ALSO}
2279*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kswitch:see-also}}
2280*7f2fe78bSCy Schubert\sphinxAtStartPar
2281*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_commands/kinit:kinit-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kinit}}}}, {\hyperref[\detokenize{user/user_commands/kdestroy:kdestroy-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kdestroy}}}}, {\hyperref[\detokenize{user/user_commands/klist:klist-1}]{\sphinxcrossref{\DUrole{std,std-ref}{klist}}}},
2282*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}}
2283*7f2fe78bSCy Schubert
2284*7f2fe78bSCy Schubert
2285*7f2fe78bSCy Schubert\section{kvno}
2286*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kvno:kvno}}\label{\detokenize{user/user_commands/kvno:kvno-1}}\label{\detokenize{user/user_commands/kvno::doc}}
2287*7f2fe78bSCy Schubert
2288*7f2fe78bSCy Schubert\subsection{SYNOPSIS}
2289*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kvno:synopsis}}
2290*7f2fe78bSCy Schubert\sphinxAtStartPar
2291*7f2fe78bSCy Schubert\sphinxstylestrong{kvno}
2292*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}c} \sphinxstyleemphasis{ccache}{]}
2293*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}e} \sphinxstyleemphasis{etype}{]}
2294*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}k} \sphinxstyleemphasis{keytab}{]}
2295*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}q}{]}
2296*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}u} | \sphinxstylestrong{\sphinxhyphen{}S} \sphinxstyleemphasis{sname}{]}
2297*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\sphinxhyphen{}P}{]}
2298*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\textendash{}cached\sphinxhyphen{}only}{]}
2299*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\textendash{}no\sphinxhyphen{}store}{]}
2300*7f2fe78bSCy Schubert{[}\sphinxstylestrong{\textendash{}out\sphinxhyphen{}cache} \sphinxstyleemphasis{cache}{]}
2301*7f2fe78bSCy Schubert{[}{[}\{\sphinxstylestrong{\sphinxhyphen{}F} \sphinxstyleemphasis{cert\_file} | \{\sphinxstylestrong{\sphinxhyphen{}I} | \sphinxstylestrong{\sphinxhyphen{}U}\} \sphinxstyleemphasis{for\_user}\} {[}\sphinxstylestrong{\sphinxhyphen{}P}{]}{]} | \sphinxstylestrong{\textendash{}u2u} \sphinxstyleemphasis{ccache}{]}
2302*7f2fe78bSCy Schubert\sphinxstyleemphasis{service1 service2} …
2303*7f2fe78bSCy Schubert
2304*7f2fe78bSCy Schubert
2305*7f2fe78bSCy Schubert\subsection{DESCRIPTION}
2306*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kvno:description}}
2307*7f2fe78bSCy Schubert\sphinxAtStartPar
2308*7f2fe78bSCy Schubertkvno acquires a service ticket for the specified Kerberos principals
2309*7f2fe78bSCy Schubertand prints out the key version numbers of each.
2310*7f2fe78bSCy Schubert
2311*7f2fe78bSCy Schubert
2312*7f2fe78bSCy Schubert\subsection{OPTIONS}
2313*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kvno:options}}\begin{description}
2314*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}c} \sphinxstyleemphasis{ccache}}] \leavevmode
2315*7f2fe78bSCy Schubert\sphinxAtStartPar
2316*7f2fe78bSCy SchubertSpecifies the name of a credentials cache to use (if not the
2317*7f2fe78bSCy Schubertdefault)
2318*7f2fe78bSCy Schubert
2319*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}e} \sphinxstyleemphasis{etype}}] \leavevmode
2320*7f2fe78bSCy Schubert\sphinxAtStartPar
2321*7f2fe78bSCy SchubertSpecifies the enctype which will be requested for the session key
2322*7f2fe78bSCy Schubertof all the services named on the command line.  This is useful in
2323*7f2fe78bSCy Schubertcertain backward compatibility situations.
2324*7f2fe78bSCy Schubert
2325*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}k} \sphinxstyleemphasis{keytab}}] \leavevmode
2326*7f2fe78bSCy Schubert\sphinxAtStartPar
2327*7f2fe78bSCy SchubertDecrypt the acquired tickets using \sphinxstyleemphasis{keytab} to confirm their
2328*7f2fe78bSCy Schubertvalidity.
2329*7f2fe78bSCy Schubert
2330*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}q}}] \leavevmode
2331*7f2fe78bSCy Schubert\sphinxAtStartPar
2332*7f2fe78bSCy SchubertSuppress printing output when successful.  If a service ticket
2333*7f2fe78bSCy Schubertcannot be obtained, an error message will still be printed and
2334*7f2fe78bSCy Schubertkvno will exit with nonzero status.
2335*7f2fe78bSCy Schubert
2336*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}u}}] \leavevmode
2337*7f2fe78bSCy Schubert\sphinxAtStartPar
2338*7f2fe78bSCy SchubertUse the unknown name type in requested service principal names.
2339*7f2fe78bSCy SchubertThis option Cannot be used with \sphinxstyleemphasis{\sphinxhyphen{}S}.
2340*7f2fe78bSCy Schubert
2341*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}P}}] \leavevmode
2342*7f2fe78bSCy Schubert\sphinxAtStartPar
2343*7f2fe78bSCy SchubertSpecifies that the \sphinxstyleemphasis{service1 service2} …  arguments are to be
2344*7f2fe78bSCy Schuberttreated as services for which credentials should be acquired using
2345*7f2fe78bSCy Schubertconstrained delegation.  This option is only valid when used in
2346*7f2fe78bSCy Schubertconjunction with protocol transition.
2347*7f2fe78bSCy Schubert
2348*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}S} \sphinxstyleemphasis{sname}}] \leavevmode
2349*7f2fe78bSCy Schubert\sphinxAtStartPar
2350*7f2fe78bSCy SchubertSpecifies that the \sphinxstyleemphasis{service1 service2} … arguments are
2351*7f2fe78bSCy Schubertinterpreted as hostnames, and the service principals are to be
2352*7f2fe78bSCy Schubertconstructed from those hostnames and the service name \sphinxstyleemphasis{sname}.
2353*7f2fe78bSCy SchubertThe service hostnames will be canonicalized according to the usual
2354*7f2fe78bSCy Schubertrules for constructing service principals.
2355*7f2fe78bSCy Schubert
2356*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}I} \sphinxstyleemphasis{for\_user}}] \leavevmode
2357*7f2fe78bSCy Schubert\sphinxAtStartPar
2358*7f2fe78bSCy SchubertSpecifies that protocol transition (S4U2Self) is to be used to
2359*7f2fe78bSCy Schubertacquire a ticket on behalf of \sphinxstyleemphasis{for\_user}.  If constrained
2360*7f2fe78bSCy Schubertdelegation is not requested, the service name must match the
2361*7f2fe78bSCy Schubertcredentials cache client principal.
2362*7f2fe78bSCy Schubert
2363*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}U} \sphinxstyleemphasis{for\_user}}] \leavevmode
2364*7f2fe78bSCy Schubert\sphinxAtStartPar
2365*7f2fe78bSCy SchubertSame as \sphinxhyphen{}I, but treats \sphinxstyleemphasis{for\_user} as an enterprise name.
2366*7f2fe78bSCy Schubert
2367*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}F} \sphinxstyleemphasis{cert\_file}}] \leavevmode
2368*7f2fe78bSCy Schubert\sphinxAtStartPar
2369*7f2fe78bSCy SchubertSpecifies that protocol transition is to be used, identifying the
2370*7f2fe78bSCy Schubertclient principal with the X.509 certificate in \sphinxstyleemphasis{cert\_file}.  The
2371*7f2fe78bSCy Schubertcertificate file must be in PEM format.
2372*7f2fe78bSCy Schubert
2373*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\textendash{}cached\sphinxhyphen{}only}}] \leavevmode
2374*7f2fe78bSCy Schubert\sphinxAtStartPar
2375*7f2fe78bSCy SchubertOnly retrieve credentials already present in the cache, not from
2376*7f2fe78bSCy Schubertthe KDC.  (Added in release 1.19.)
2377*7f2fe78bSCy Schubert
2378*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\textendash{}no\sphinxhyphen{}store}}] \leavevmode
2379*7f2fe78bSCy Schubert\sphinxAtStartPar
2380*7f2fe78bSCy SchubertDo not store retrieved credentials in the cache.  If
2381*7f2fe78bSCy Schubert\sphinxstylestrong{\textendash{}out\sphinxhyphen{}cache} is also specified, credentials will still be
2382*7f2fe78bSCy Schubertstored into the output credential cache.  (Added in release 1.19.)
2383*7f2fe78bSCy Schubert
2384*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\textendash{}out\sphinxhyphen{}cache} \sphinxstyleemphasis{ccache}}] \leavevmode
2385*7f2fe78bSCy Schubert\sphinxAtStartPar
2386*7f2fe78bSCy SchubertInitialize \sphinxstyleemphasis{ccache} and store all retrieved credentials into it.
2387*7f2fe78bSCy SchubertDo not store acquired credentials in the input cache.  (Added in
2388*7f2fe78bSCy Schubertrelease 1.19.)
2389*7f2fe78bSCy Schubert
2390*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\textendash{}u2u} \sphinxstyleemphasis{ccache}}] \leavevmode
2391*7f2fe78bSCy Schubert\sphinxAtStartPar
2392*7f2fe78bSCy SchubertRequests a user\sphinxhyphen{}to\sphinxhyphen{}user ticket.  \sphinxstyleemphasis{ccache} must contain a local
2393*7f2fe78bSCy Schubertkrbtgt ticket for the server principal.  The reported version
2394*7f2fe78bSCy Schubertnumber will typically be 0, as the resulting ticket is not
2395*7f2fe78bSCy Schubertencrypted in the server’s long\sphinxhyphen{}term key.
2396*7f2fe78bSCy Schubert
2397*7f2fe78bSCy Schubert\end{description}
2398*7f2fe78bSCy Schubert
2399*7f2fe78bSCy Schubert
2400*7f2fe78bSCy Schubert\subsection{ENVIRONMENT}
2401*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kvno:environment}}
2402*7f2fe78bSCy Schubert\sphinxAtStartPar
2403*7f2fe78bSCy SchubertSee {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}} for a description of Kerberos environment
2404*7f2fe78bSCy Schubertvariables.
2405*7f2fe78bSCy Schubert
2406*7f2fe78bSCy Schubert
2407*7f2fe78bSCy Schubert\subsection{FILES}
2408*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kvno:files}}\begin{description}
2409*7f2fe78bSCy Schubert\item[{\DUrole{xref,std,std-ref}{DEFCCNAME}}] \leavevmode
2410*7f2fe78bSCy Schubert\sphinxAtStartPar
2411*7f2fe78bSCy SchubertDefault location of the credentials cache
2412*7f2fe78bSCy Schubert
2413*7f2fe78bSCy Schubert\end{description}
2414*7f2fe78bSCy Schubert
2415*7f2fe78bSCy Schubert
2416*7f2fe78bSCy Schubert\subsection{SEE ALSO}
2417*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/kvno:see-also}}
2418*7f2fe78bSCy Schubert\sphinxAtStartPar
2419*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_commands/kinit:kinit-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kinit}}}}, {\hyperref[\detokenize{user/user_commands/kdestroy:kdestroy-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kdestroy}}}}, {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}}
2420*7f2fe78bSCy Schubert
2421*7f2fe78bSCy Schubert
2422*7f2fe78bSCy Schubert\section{sclient}
2423*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/sclient:sclient}}\label{\detokenize{user/user_commands/sclient:sclient-1}}\label{\detokenize{user/user_commands/sclient::doc}}
2424*7f2fe78bSCy Schubert
2425*7f2fe78bSCy Schubert\subsection{SYNOPSIS}
2426*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/sclient:synopsis}}
2427*7f2fe78bSCy Schubert\sphinxAtStartPar
2428*7f2fe78bSCy Schubert\sphinxstylestrong{sclient} \sphinxstyleemphasis{remotehost}
2429*7f2fe78bSCy Schubert
2430*7f2fe78bSCy Schubert
2431*7f2fe78bSCy Schubert\subsection{DESCRIPTION}
2432*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/sclient:description}}
2433*7f2fe78bSCy Schubert\sphinxAtStartPar
2434*7f2fe78bSCy Schubertsclient is a sample application, primarily useful for testing
2435*7f2fe78bSCy Schubertpurposes.  It contacts a sample server \DUrole{xref,std,std-ref}{sserver(8)} and
2436*7f2fe78bSCy Schubertauthenticates to it using Kerberos version 5 tickets, then displays
2437*7f2fe78bSCy Schubertthe server’s response.
2438*7f2fe78bSCy Schubert
2439*7f2fe78bSCy Schubert
2440*7f2fe78bSCy Schubert\subsection{ENVIRONMENT}
2441*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/sclient:environment}}
2442*7f2fe78bSCy Schubert\sphinxAtStartPar
2443*7f2fe78bSCy SchubertSee {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}} for a description of Kerberos environment
2444*7f2fe78bSCy Schubertvariables.
2445*7f2fe78bSCy Schubert
2446*7f2fe78bSCy Schubert
2447*7f2fe78bSCy Schubert\subsection{SEE ALSO}
2448*7f2fe78bSCy Schubert\label{\detokenize{user/user_commands/sclient:see-also}}
2449*7f2fe78bSCy Schubert\sphinxAtStartPar
2450*7f2fe78bSCy Schubert{\hyperref[\detokenize{user/user_commands/kinit:kinit-1}]{\sphinxcrossref{\DUrole{std,std-ref}{kinit}}}}, \DUrole{xref,std,std-ref}{sserver(8)}, {\hyperref[\detokenize{user/user_config/kerberos:kerberos-7}]{\sphinxcrossref{\DUrole{std,std-ref}{kerberos}}}}
2451*7f2fe78bSCy Schubert
2452*7f2fe78bSCy Schubert
2453*7f2fe78bSCy Schubert
2454*7f2fe78bSCy Schubert\renewcommand{\indexname}{Index}
2455*7f2fe78bSCy Schubert\printindex
2456*7f2fe78bSCy Schubert\end{document}