Viewing Your Tickets with klist
The klist command shows your tickets. When you first obtain
tickets, you will have only the ticket-granting ticket. (See What is a Ticket?.) The listing would look like this:
shell% klist
Ticket cache: /tmp/krb5cc_ttypa
Default principal: [email protected]
Valid starting Expires Service principal
06/07/04 19:49:21 06/08/04 05:49:19 krbtgt/[email protected]
shell%
The ticket cache is the location of your ticket file. In the above
example, this file is named /tmp/krb5cc_ttypa. The default
principal is your kerberos principal. (see What is a Kerberos Principal?)
The "valid starting" and "expires" fields describe the period of
time during which the ticket is valid. The service principal
describes each ticket. The ticket-granting ticket has the primary
krbtgt, and the instance is the realm name.
Now, if jennifer connected to the machine
daffodil.mit.edu, and then typed
klist again, she would have gotten the following result:
shell% klist
Ticket cache: /tmp/krb5cc_ttypa
Default principal: [email protected]
Valid starting Expires Service principal
06/07/04 19:49:21 06/08/04 05:49:19 krbtgt/[email protected]
06/07/04 20:22:30 06/08/04 05:49:19 host/[email protected]
shell%
Here's what happened: when jennifer used telnet to connect
to the host daffodil.mit.edu, the telnet
program presented her ticket-granting ticket to the KDC and requested a
host ticket for the host
daffodil.mit.edu. The KDC sent the host
ticket, which telnet then presented to the host
daffodil.mit.edu, and she was allowed to
log in without typing her password.
Suppose your Kerberos tickets allow you to log into a host in another
domain, such as trillium.example.com, which
is also in another Kerberos realm, EXAMPLE.COM. If you
telnet to this host, you will receive a ticket-granting ticket for the
realm EXAMPLE.COM, plus the new host ticket for
trillium.example.com. klist will now
show:
shell% klist
Ticket cache: /tmp/krb5cc_ttypa
Default principal: [email protected]
Valid starting Expires Service principal
06/07/04 19:49:21 06/08/04 05:49:19 krbtgt/[email protected]
06/07/04 20:22:30 06/08/04 05:49:19 host/[email protected]
06/07/04 20:24:18 06/08/04 05:49:19 krbtgt/[email protected]
06/07/04 20:24:18 06/08/04 05:49:19 host/[email protected]
shell%
You can use the -f option to view the flags that apply to
your tickets. The flags are:
- F
- Forwardable
- f
- forwarded
- P
- Proxiable
- p
- proxy
- D
- postDateable
- d
- postdated
- R
- Renewable
- I
- Initial
- i
- invalid
- H
- Hardware authenticated
- A
- preAuthenticated
- T
- Transit policy checked
- O
- Okay as delegate
- a
- anonymous
Here is a sample listing. In this example, the user jennifer
obtained her initial tickets (I), which are forwardable
(F) and postdated (d) but not yet validated (i).
(See kinit Reference, for more information about postdated tickets.)
shell% klist -f
Ticket cache: /tmp/krb5cc_320
Default principal: [email protected]
Valid starting Expires Service principal
31/07/05 19:06:25 31/07/05 19:16:25 krbtgt/[email protected]
Flags: FdiI
shell%
In the following example, the user david's tickets were
forwarded (f) to this host from another host. The tickets are
reforwardable (F).
shell% klist -f
Ticket cache: /tmp/krb5cc_p11795
Default principal: [email protected]
Valid starting Expires Service principal
07/31/05 11:52:29 07/31/05 21:11:23 krbtgt/[email protected]
Flags: Ff
07/31/05 12:03:48 07/31/05 21:11:23 host/[email protected]
Flags: Ff
shell%