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}