<?Pub UDT _bookmark _target?><?Pub EntList bull rArr sect?><?Pub CX solbook(?><chapter id="aadmin-1"><?Pub Tag atict:info tracking="on" ref="0"?><?Pub Tag atict:user
user="sharonr" fullname="Sharon Veach"?><?Pub Tag atict:user user="kathys"
fullname="Kathy Slattery"?><title>Administering Kerberos Principals and Policies
(Tasks)</title><indexterm><primary>principal</primary><secondary>administering</secondary>
</indexterm><indexterm><primary>policies</primary><secondary>administering</secondary>
</indexterm><indexterm><primary>Kerberos</primary><secondary>administering</secondary>
</indexterm><highlights><para>This chapter provides procedures for administering principals and the
policies that are associated with them. This chapter also shows how to administer
a host's keytab file.</para><para>This chapter should be used by anyone who needs to administer principals
and policies. Before you use this chapter, you should be familiar with principals
and policies, including any planning considerations. Refer to <olink targetptr="intro-1" remap="internal">Chapter&nbsp;21, Introduction to the Kerberos Service</olink> and <olink targetptr="seamplan-1" remap="internal">Chapter&nbsp;22, Planning for the Kerberos Service</olink>,
respectively.</para><para>This is a list of the information in this chapter.</para><itemizedlist><listitem><para><olink targetptr="aadmin-171" remap="internal">Ways to Administer Kerberos
Principals and Policies</olink></para>
</listitem><listitem><para><olink targetptr="aadmin-23" remap="internal">SEAM Administration Tool</olink></para>
</listitem><listitem><para><olink targetptr="aadmin-9" remap="internal">Administering Kerberos Principals</olink></para>
</listitem><listitem><para><olink targetptr="aadmin-68" remap="internal">Administering Kerberos Policies</olink></para>
</listitem><listitem><para><olink targetptr="aadmin-228" remap="internal">SEAM Tool Reference</olink></para>
</listitem><listitem><para><olink targetptr="aadmin-10" remap="internal">Administering Keytab Files</olink></para>
</listitem>
</itemizedlist>
</highlights><sect1 id="aadmin-171"><title>Ways to Administer Kerberos Principals and Policies</title><para><indexterm><primary>SEAM Administration Tool</primary><secondary><command>gkadmin</command> command</secondary></indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary><command>kadmin</command> command</secondary></indexterm>The Kerberos database on the master KDC contains all of your realm's
Kerberos principals, their passwords, policies, and other administrative information.
To create and delete principals, and to modify their attributes, you can use
either the <literal>kadmin</literal> or <literal>gkadmin</literal> command.</para><itemizedlist><para>The <command>kadmin</command> command provides an interactive command-line
interface that enables you to maintain Kerberos principals, policies, and
keytab files. There are two versions of the <command>kadmin</command> command:</para><listitem><para><command>kadmin</command> &ndash; Uses Kerberos authentication
to operate securely from anywhere on the network</para>
</listitem><listitem><para><indexterm><primary><command>kadmin</command> command</primary><secondary>SEAM Administration Tool and</secondary></indexterm><command>kadmin.local</command> &ndash; Must be run directly on the master KDC</para>
</listitem>
</itemizedlist><para>Other than <command>kadmin</command> using Kerberos to authenticate
the user, the capabilities of the two versions are identical. The local version
is necessary to enable you to set up enough of the database so that you can
use the remote version.  </para><para><indexterm><primary><command>gkadmin</command> command</primary><seealso>SEAM Administration Tool</seealso></indexterm>Also, the Solaris release provides
the SEAM Administration Tool, <command>gkadmin</command>, which is an interactive
graphical user interface (GUI) that provides essentially the same capabilities
as the <command>kadmin</command> command. See <olink targetptr="aadmin-23" remap="internal">SEAM
Administration Tool</olink> for more information.  </para>
</sect1><sect1 id="aadmin-23"><title>SEAM Administration Tool</title><indexterm><primary>Kerberos</primary><secondary>Administration Tool</secondary><see>SEAM Administration Tool</see>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>overview</secondary>
</indexterm><para>The SEAM Administration Tool (SEAM Tool) is an interactive graphical
user interface (GUI) that enables you to maintain Kerberos principals and
policies. This tool provides much the same capabilities as the <command>kadmin</command> command.
However, this tool does not support the management of keytab files. You must
use the <command>kadmin</command> command to administer keytab files, which
is described in <olink targetptr="aadmin-10" remap="internal">Administering Keytab Files</olink>.</para><itemizedlist><para><indexterm><primary>SEAM Administration Tool</primary><secondary>or <command>kadmin</command> command</secondary></indexterm>Similar to the <command>kadmin</command> command,
the SEAM Tool uses Kerberos authentication and encrypted RPC to operate securely
from anywhere on the network. The SEAM Tool enables you to do the following:</para><listitem><para>Create new principals that are based on default values or
existing principals.</para>
</listitem><listitem><para>Create new policies that are based on existing policies.</para>
</listitem><listitem><para>Add comments for principals.</para>
</listitem><listitem><para>Set up default values for creating new principals.</para>
</listitem><listitem><para>Log in as another principal without exiting the tool.</para>
</listitem><listitem><para>Print or save principal lists and policy lists.</para>
</listitem><listitem><para>View and search principal lists and policy lists.</para>
</listitem>
</itemizedlist><para>The SEAM Tool also provides context-sensitive help and general online
help.</para><itemizedlist><para>The following task maps provide pointers to the various tasks that you
can do with the SEAM Tool:</para><listitem><para><olink targetptr="aadmin-188" remap="internal">Administering Kerberos Principals
(Task Map)</olink></para>
</listitem><listitem><para><olink targetptr="aadmin-189" remap="internal">Administering Kerberos Policies
(Task Map)</olink></para>
</listitem>
</itemizedlist><para>Also, go to <olink targetptr="aadmin-223" remap="internal">SEAM Tool Panel Descriptions</olink> for
descriptions of all the principal attributes and policy attributes that you
can either specify or view in the SEAM Tool.</para><sect2 id="aadmin-28"><title>Command-Line Equivalents of the SEAM Tool</title><indexterm><primary>SEAM Administration Tool</primary><secondary>command-line equivalents</secondary>
</indexterm><indexterm><primary>command-line equivalents of SEAM Administration Tool</primary>
</indexterm><indexterm><primary>X Window system</primary><secondary>and SEAM Administration Tool</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>and X Window system</secondary>
</indexterm><para>This section lists the <command>kadmin</command> commands that provide
the same capabilities as the SEAM Tool. These commands can be used without
running an X Window system. Even though most procedures in this chapter use
the SEAM Tool, many procedures also provide corresponding examples that use
the command-line equivalents.</para><table frame="all" id="aadmin-tbl-31"><title>Command-Line Equivalents of the SEAM Tool</title><tgroup cols="2" colsep="1" rowsep="1"><colspec colname="colspec0" colwidth="198*"/><colspec colname="colspec1" colwidth="198*"/><thead><row><entry><para>SEAM Tool Procedure</para>
</entry><entry><para>Equivalent <command>kadmin</command> Command</para>
</entry>
</row>
</thead><tbody><row><entry><para>View the list of principals.</para>
</entry><entry><para><command>list_principals</command> or <command>get_principals</command></para>
</entry>
</row><row><entry><para>View a principal's attributes.</para>
</entry><entry><para><command>get_principal</command></para>
</entry>
</row><row><entry><para>Create a new principal.</para>
</entry><entry><para><command>add_principal</command></para>
</entry>
</row><row><entry><para>Duplicate a principal.</para>
</entry><entry><para>No command-line equivalent</para>
</entry>
</row><row><entry><para>Modify a principal.</para>
</entry><entry><para><command>modify_principal</command> or <command>change_password</command></para>
</entry>
</row><row><entry><para>Delete a principal.</para>
</entry><entry><para><command>delete_principal</command></para>
</entry>
</row><row><entry><para>Set up defaults for creating new principals.</para>
</entry><entry><para>No command-line equivalent</para>
</entry>
</row><row><entry><para>View the list of policies.</para>
</entry><entry><para><command>list_policies</command> or <command>get_policies</command></para>
</entry>
</row><row><entry><para>View a policy's attributes.</para>
</entry><entry><para><command>get_policy</command></para>
</entry>
</row><row><entry><para>Create a new policy.</para>
</entry><entry><para><command>add_policy</command></para>
</entry>
</row><row><entry><para>Duplicate a policy.</para>
</entry><entry><para>No command-line equivalent</para>
</entry>
</row><row><entry><para>Modify a policy.</para>
</entry><entry><para><command>modify_policy</command></para>
</entry>
</row><row><entry><para>Delete a policy.</para>
</entry><entry><para><command>delete_policy</command></para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2><sect2 id="aadmin-29"><title>The Only File Modified by the SEAM Tool</title><indexterm><primary><filename>.gkadmin</filename> file</primary><secondary>SEAM Administration Tool and</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>files modified by</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary><filename>.gkadmin</filename> file</secondary>
</indexterm><para>The only file that the SEAM Tool modifies is the <filename>$HOME/.gkadmin</filename> file.
This file contains the default values for creating new principals. You can
update this file by choosing Properties from the Edit menu.</para>
</sect2><sect2 id="aadmin-181"><title>Print and Online Help Features of the SEAM Tool</title><indexterm><primary>SEAM Administration Tool</primary><secondary>online help</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>help</secondary>
</indexterm><indexterm><primary>online help</primary><secondary>SEAM Administration Tool</secondary>
</indexterm><indexterm><primary>help</primary><secondary>SEAM Administration Tool</secondary>
</indexterm><itemizedlist><para>The SEAM Tool provides both print features and online help features.
From the Print menu, you can send the following to a printer or a file:</para><listitem><para>List of available principals on the specified master KDC</para>
</listitem><listitem><para>List of available policies on the specified master KDC</para>
</listitem><listitem><para>The currently selected principal or the loaded principal</para>
</listitem><listitem><para><indexterm><primary>help</primary><secondary>SEAM Administration Tool</secondary></indexterm><indexterm><primary>context-sensitive help</primary><secondary>SEAM Administration Tool</secondary></indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>context-sensitive help</secondary></indexterm>The currently selected policy or the loaded policy</para>
</listitem>
</itemizedlist><para>From the Help menu, you can access context-sensitive help and general
help. When you choose Context-Sensitive Help from the Help menu, the Context-Sensitive
Help window is displayed and the tool is switched to help mode. In help mode,
when you click on any fields, labels, or buttons on the window, help on that
item is displayed in the Help window. To switch back to the tool's normal
mode, click Dismiss in the Help window. </para><para><indexterm><primary>Help Contents</primary><secondary>SEAM Administration Tool</secondary></indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>Help Contents</secondary></indexterm>You can also choose Help Contents,
which opens an HTML browser that provides pointers to the general overview
and task information that is provided in this chapter.</para>
</sect2><sect2 id="aadmin-219"><title>Working With Large Lists in the SEAM Tool</title><para>As your site starts to accumulate a large number of principals and policies,
the time it takes the SEAM Tool to load and display the principal and policy
lists will become increasingly longer. Thus, your productivity with the tool
will decrease. There are several ways to work around this problem.</para><para>First, you can completely eliminate the time to load the lists by not
having the SEAM Tool load the lists. You can set this option by choosing Properties
from the Edit menu, and unchecking the Show Lists field. Of course, when the
tool doesn't load the lists, it can't display the lists, and you can no longer
use the list panels to select principals or policies. Instead, you must type
a principal or policy name in the new Name field that is provided, then select
the operation that you want to perform on it. In effect, typing a name is
equivalent to selecting an item from the list. </para><para>Another way to work with large lists is to cache them. In fact, caching
the lists for a limited time is set as the default behavior for the SEAM Tool.
The SEAM Tool must still initially load the lists into the cache. But after
that, the tool can use the cache rather than retrieve the lists again. This
option eliminates the need to keep loading the lists from the server, which
is what takes so long.</para><para>You can set list caching by choosing Properties from the Edit menu.
There are two cache settings. You can choose to cache the list forever, or
you can specify a time limit when the tool must reload the lists from the
server into the cache. </para><para>Caching the lists still enables you to use the list panels to select
principals and policies, so it doesn't affect how you use the SEAM Tool as
the first option does. Also, even though caching doesn't enable you to see
the changes of other users, you can still see the latest list information
based on your changes, because your changes update the lists both on the server
and in the cache. And, if you want to update the cache to see other changes
and get the lastest copy of the lists, you can use the Refresh menu whenever
you want to refresh the cache from the server.</para>
</sect2><task id="aadmin-24"><title>How to Start the SEAM Tool</title><indexterm><primary>SEAM Administration Tool</primary><secondary>starting</secondary>
</indexterm><procedure><step id="seamgadmin-step-229"><para>Start the SEAM Tool by using the <command>gkadmin</command> command.</para><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen><para><indexterm><primary>SEAM Administration Tool</primary><secondary>login window</secondary></indexterm>The SEAM Administration Login window is displayed.</para><mediaobject><imageobject><imagedata entityref="SEAM-login"/>
</imageobject><textobject><simpara>Dialog box titled SEAM Administration Login shows four
fields for Principal Name, Password, Realm, and Master KDC. Shows OK and Start
Over buttons.</simpara>
</textobject>
</mediaobject>
</step><step id="seamgadmin-step-230"><para>If you don't want to use the default
values, specify new default values.</para><para><indexterm><primary>SEAM Administration Tool</primary><secondary>default values</secondary></indexterm>The window
automatically fills in with default values. The default principal name is
determined by taking your current identity from the <literal>USER</literal> environment
variable and appending <literal>/admin</literal> to it (<replaceable>username</replaceable><literal>/admin</literal>). The default Realm and Master KDC fields are selected from
the <filename>/etc/krb5/krb5.conf</filename> file. If you ever want to retrieve
the default values, click Start Over.</para><note><para>The administration operations that each Principal Name can perform
are dictated by the Kerberos ACL file, <command>/etc/krb5/kadm5.acl</command>.
For information about limited privileges, see <olink targetptr="aadmin-206" remap="internal">Using
the SEAM Tool With Limited Kerberos Administration Privileges</olink>.</para>
</note>
</step><step id="seamgadmin-step-231"><para>Type a password for the specified principal
name.</para>
</step><step id="seamgadmin-step-232"><para>Click OK.</para><para>The following window
is displayed.</para><mediaobject><imageobject><imagedata entityref="SEAM-main"/>
</imageobject><textobject><simpara>Dialog box titled Seam Administration Tool shows a list
of principals and a list filter. Shows Modify, Create New, Delete, and Duplicate
buttons.</simpara>
</textobject>
</mediaobject>
</step>
</procedure>
</task>
</sect1><sect1 id="aadmin-9"><title>Administering Kerberos Principals</title><indexterm><primary>principal</primary><secondary>administering</secondary>
</indexterm><indexterm><primary>administering</primary><secondary>Kerberos</secondary><tertiary>principals</tertiary>
</indexterm><para>This section provides the step-by-step instructions used to administer
principals with the SEAM Tool. This section also provides examples of command-line
equivalents, when available.</para><sect2 id="aadmin-188"><title>Administering Kerberos Principals (Task Map)</title><indexterm><primary>principal</primary><secondary>task map for administering</secondary>
</indexterm><indexterm><primary>task maps</primary><secondary>administering principals (Kerberos)</secondary>
</indexterm><informaltable frame="all" pgwide="1"><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="110*"/><colspec colname="col2" colwidth="167*"/><colspec colwidth="119*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>View the list of principals.</para>
</entry><entry><para>View the list of principals by clicking the Principals tab.</para>
</entry><entry><para><olink targetptr="aadmin-12" remap="internal">How to View the List of Kerberos Principals</olink></para>
</entry>
</row><row><entry><para>View a principal's attributes.</para>
</entry><entry><para>View a principal's attributes by selecting the Principal in the Principal
List, then clicking the Modify button.</para>
</entry><entry><para><olink targetptr="aadmin-16" remap="internal">How to View a Kerberos Principal's Attributes</olink></para>
</entry>
</row><row><entry><para>Create a new principal.</para>
</entry><entry><para>Create a new principal by clicking the Create New button in the Principal
List panel.</para>
</entry><entry><para><olink targetptr="aadmin-17" remap="internal">How to Create a New Kerberos Principal</olink></para>
</entry>
</row><row><entry><para>Duplicate a principal.</para>
</entry><entry><para>Duplicate a principal by selecting the principal to duplicate in the
Principal List, then clicking the Duplicate button.</para>
</entry><entry><para><olink targetptr="aadmin-18" remap="internal">How to Duplicate a Kerberos Principal</olink></para>
</entry>
</row><row><entry><para>Modify a principal.</para>
</entry><entry><para>Modify a principal by selecting the principal to modify in the Principal
List, then clicking the Modify button.</para><para>Note that you cannot modify a principal's name. To rename a principal,
you must duplicate the principal, specify a new name for it, save it, and
then delete the old principal.</para>
</entry><entry><para><olink targetptr="aadmin-19" remap="internal">How to Modify a Kerberos Principal</olink></para>
</entry>
</row><row><entry><para>Delete a principal.</para>
</entry><entry><para>Delete a principal by selecting the principal to delete in the Principal
List, then clicking the Delete button.</para>
</entry><entry><para><olink targetptr="aadmin-20" remap="internal">How to Delete a Kerberos Principal</olink></para>
</entry>
</row><row><entry><para>Set up defaults for creating new principals.</para>
</entry><entry><para>Set up defaults for creating new principals by choosing Properties from
the Edit menu.</para>
</entry><entry><para><olink targetptr="aadmin-21" remap="internal">How to Set Up Defaults for Creating New
Kerberos Principals</olink></para>
</entry>
</row><row><entry><para>Modify the Kerberos administration privileges (<filename>kadm5.acl</filename> file).</para>
</entry><entry><para><emphasis>Command-line only.</emphasis> The Kerberos administration
privileges determine what operations a principal can perform on the Kerberos
database, such as add and modify.</para><para>You need to edit the <filename>/etc/krb5/kadm5.acl</filename> file to
modify the Kerberos administration privileges for each principal.</para>
</entry><entry><para><olink targetptr="aadmin-14" remap="internal">How to Modify the Kerberos Administration
Privileges</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2><sect2 id="aadmin-192"><title>Automating the Creation of New Kerberos Principals</title><indexterm><primary>principal</primary><secondary>automating creation of</secondary>
</indexterm><indexterm><primary>automating principal creation</primary>
</indexterm><para><indexterm><primary><command>kadmin.local</command> command</primary><secondary>automating creation of principals</secondary></indexterm>Even though
the SEAM Tool provides ease-of-use, it doesn't provide a way to automate
the creation of new principals. Automation is especially useful if you need
to add 10 or even 100 new principals in a short time. However, by using the <command>kadmin.local</command> command in a Bourne shell script, you can do just that.</para><para>The following shell script line is an example of how to automate the
creation of new principals:</para><screen>awk '{ print "ank +needchange -pw", $2, $1 }' &lt; /tmp/princnames | 
        time /usr/sbin/kadmin.local&gt; /dev/null</screen><para>This example is split over two lines for readability. The script reads
in a file called <filename>princnames</filename> that contains principal names
and their passwords, and adds them to the Kerberos database. You would have
to create the <filename>princnames</filename> file, which contains a principal
name and its password on each line, separated by one or more spaces. The <literal>+needchange</literal> option configures the principal so that the user is
prompted for a new password during login with the principal for the first
time. This practice helps to ensure that the passwords in the <filename>princnames</filename> file are not a security risk.</para><para>You can build more elaborate scripts. For example, your script could
use the information in the name service to obtain the list of user names for
the principal names. What you do and how you do it is determined by your site's
needs and your scripting expertise.</para>
</sect2><task id="aadmin-12"><title>How to View the List of Kerberos Principals</title><indexterm><primary>principal</primary><secondary>viewing list of</secondary>
</indexterm><indexterm><primary>viewing</primary><secondary>list of principals</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>viewing list of principals</secondary>
</indexterm><tasksummary><para>An example of the command-line equivalent follows this procedure.</para>
</tasksummary><procedure><step id="seamgadmin-step-233"><para>If necessary, start the SEAM Tool.</para><para>See <olink targetptr="aadmin-24" remap="internal">How to Start the SEAM Tool</olink> for
more information.</para><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen>
</step><step id="seamgadmin-step-234"><para>Click the Principals tab.</para><para>The
list of principals is displayed.</para><mediaobject><imageobject><imagedata entityref="SEAM-list-princ.jpg"/>
</imageobject><textobject><simpara>Dialog box titled Seam Administration Tool shows a list
of principals and a list filter. Shows Modify, Create New, Delete, and Duplicate
buttons.</simpara>
</textobject>
</mediaobject>
</step><step id="seamgadmin-step-235"><para>Display a specific principal or a sublist
of principals.</para><para><indexterm><primary>SEAM Administration Tool</primary><secondary>Filter Pattern field</secondary></indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>displaying sublist of principals</secondary></indexterm><indexterm><primary>displaying</primary><secondary>sublist of principals (Kerberos)</secondary></indexterm><indexterm><primary>principal</primary><secondary>viewing sublist of principals</secondary></indexterm>Type a filter
string in the Filter field, and press Return. If the filter succeeds, the
list of principals that match the filter is displayed.</para><para>The filter string must consist of one or more characters. Because the
filter mechanism is case sensitive, you need to use the appropriate uppercase
and lowercase letters for the filter. For example, if you type the filter
string <literal>ge</literal>, the filter mechanism displays only the principals
with the <literal>ge</literal> string in them (for example, <literal>george</literal> or <literal>edge</literal>). </para><para>If you want to display the entire list of principals, click Clear Filter.</para>
</step>
</procedure><example id="egyta"><title>Viewing the List of Kerberos Principals (Command Line)</title><para>In the following example, the <command>list_principals</command> command
of <command>kadmin</command> is used to list all the principals that match <literal>test*</literal>. Wildcards can be used with the <command>list_principals</command> command.</para><screen>kadmin: <userinput>list_principals test*</userinput>
test1@EXAMPLE.COM
test2@EXAMPLE.COM
kadmin: <userinput>quit</userinput></screen>
</example>
</task><task id="aadmin-16"><title>How to View a Kerberos Principal's Attributes</title><indexterm><primary>SEAM Administration Tool</primary><secondary>viewing a principal's attributes</secondary>
</indexterm><indexterm><primary>viewing</primary><secondary>principal's attributes</secondary>
</indexterm><indexterm><primary>principal</primary><secondary>viewing attributes</secondary>
</indexterm><tasksummary><para>An example of the command-line equivalent follows this procedure.</para>
</tasksummary><procedure><step id="seamgadmin-step-236"><para>If necessary, start the SEAM Tool.</para><para>See <olink targetptr="aadmin-24" remap="internal">How to Start the SEAM Tool</olink> for
more information.</para><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen>
</step><step id="seamgadmin-step-237"><para>Click the Principals tab.</para>
</step><step id="seamgadmin-step-238"><para>Select the principal in the list that
you want to view, then click Modify. </para><para>The Principal Basics panel
that contains some of the principal's attributes is displayed.</para>
</step><step id="seamgadmin-step-239"><para>Continue to click Next to view all the
principal's attributes.</para><para>Three windows contain attribute information.
Choose Context-Sensitive Help from the Help menu to get information about
the various attributes in each window. Or, for all the principal attribute
descriptions, go to <olink targetptr="aadmin-223" remap="internal">SEAM Tool Panel Descriptions</olink>.</para>
</step><step id="seamgadmin-step-240"><para>When you are finished viewing, click
Cancel.</para>
</step>
</procedure><example id="egytd"><title>Viewing a Kerberos Principal's Attributes</title><para>The following example shows the first window when you are viewing the <literal>jdb/admin</literal> principal.</para><mediaobject><imageobject><imagedata entityref="SEAM-view-princ"/>
</imageobject><textobject><simpara>Dialog box titled SEAM Administration Tool shows account
data for the jdb/admin principal.  Shows account expiration date and comments.</simpara>
</textobject>
</mediaobject>
</example><example id="egytc"><title>Viewing a Kerberos Principal's Attributes (Command Line)</title><para>In the following example, the <command>get_principal</command> command
of <command>kadmin</command> is used to view the attributes of the <literal>jdb/admin</literal> principal.</para><screen>kadmin: <userinput>getprinc jdb/admin</userinput>
Principal: jdb/admin@EXAMPLE.COM
Expiration date: Fri Aug 25 17:19:05 PDT 2004
Last password change: [never]
Password expiration date: Wed Apr 14 11:53:10 PDT 2003
Maximum ticket life: 1 day 16:00:00
Maximum renewable life: 1 day 16:00:00
Last modified: Thu Jan 14 11:54:09 PST 2003 (admin/admin@EXAMPLE.COM)
Last successful authentication: [never]
Last failed authentication: [never]
Failed password attempts: 0
Number of keys: 1
Key: vno 1, DES cbc mode with CRC-32, no salt
Attributes: REQUIRES_HW_AUTH
Policy: [none]
kadmin: <userinput>quit</userinput></screen>
</example>
</task><task id="aadmin-17"><title>How to Create a New Kerberos Principal</title><indexterm><primary>principal</primary><secondary>creating</secondary>
</indexterm><indexterm><primary>creating</primary><secondary>new principal (Kerberos)</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>creating a new principal</secondary>
</indexterm><tasksummary><para>An example of the command-line equivalent follows this procedure.</para>
</tasksummary><procedure><step id="seamgadmin-step-241"><para>If necessary, start the SEAM Tool.</para><para>See <olink targetptr="aadmin-24" remap="internal">How to Start the SEAM Tool</olink> for
more information.</para><note><para><indexterm><primary>policies</primary><secondary>creating (Kerberos)</secondary></indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>creating a new policy</secondary></indexterm><indexterm><primary>creating</primary><secondary>new policy (Kerberos)</secondary></indexterm>If you are creating
a new principal that might need a new policy, you should create the new policy
before you create the new principal. Go to <olink targetptr="aadmin-70" remap="internal">How
to Create a New Kerberos Policy</olink>.</para>
</note><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen>
</step><step id="seamgadmin-step-242"><para>Click the Principals tab.</para>
</step><step id="seamgadmin-step-243"><para>Click New.</para><para>The Principal
Basics panel that contains some attributes for a principal is displayed.</para>
</step><step id="seamgadmin-step-244"><para>Specify a principal name and a password.</para><para>Both the principal name and the password are mandatory.</para>
</step><step id="seamgadmin-step-245"><para>Specify values for the principal's attributes,
and continue to click Next to specify more attributes.</para><para>Three windows
contain attribute information. Choose Context-Sensitive Help from the Help
menu to get information about the various attributes in each window. Or, for
all the principal attribute descriptions, go to <olink targetptr="aadmin-223" remap="internal">SEAM
Tool Panel Descriptions</olink>.</para>
</step><step id="seamgadmin-step-246"><para>Click Save to save the principal, or
click Done on the last panel.</para>
</step><step id="seamgadmin-step-247"><para><indexterm><primary><filename>kadm5.acl</filename> file</primary><secondary>new principals and</secondary></indexterm><indexterm><primary>ACL</primary><secondary><filename>kadm5.acl</filename> file</secondary></indexterm>If needed, set up Kerberos administration privileges for the new
principal in the <filename>/etc/krb5/kadm5.acl</filename> file.</para><para>See <olink targetptr="aadmin-14" remap="internal">How to Modify the Kerberos Administration Privileges</olink> for
more details.</para>
</step>
</procedure><example id="ehgai"><title>Creating a New Kerberos Principal</title><para>The following example shows the Principal Basics panel when a new principal
called <literal>pak</literal> is created. The policy is set to <literal>testuser</literal>.</para><mediaobject><imageobject><imagedata entityref="SEAM-add-princ"/>
</imageobject><textobject><simpara>Dialog box titled SEAM Administration Tool shows account
data for the pak principal.  Shows password, account expiration date, and
testuser policy.</simpara>
</textobject>
</mediaobject>
</example><example id="ehgaj"><title>Creating a New Kerberos Principal (Command Line)</title><para>In the following example, the <command>add_principal</command> command
of <command>kadmin</command> is used to create a new principal called <literal>pak</literal>. The principal's policy is set to <literal>testuser</literal>.</para><screen>kadmin: <userinput>add_principal -policy testuser pak</userinput>
Enter password for principal "pak@EXAMPLE.COM": <replaceable>&lt;Type the password&gt;</replaceable>
Re-enter password for principal "pak@EXAMPLE.COM": <replaceable>&lt;Type the password again&gt;</replaceable>
Principal "pak@EXAMPLE.COM" created.
kadmin: <userinput>quit</userinput></screen>
</example>
</task><task id="aadmin-18"><title>How to Duplicate a Kerberos Principal</title><indexterm><primary>principal</primary><secondary>duplicating</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>duplicating a principal</secondary>
</indexterm><indexterm><primary>duplicating</primary><secondary>principals (Kerberos)</secondary>
</indexterm><tasksummary><para>This procedure explains how to use all or some of the attributes of
an existing principal to create a new principal. No command-line equivalent
exists for this procedure.</para>
</tasksummary><procedure><step id="seamgadmin-step-248"><para>If necessary, start the SEAM Tool.</para><para>See <olink targetptr="aadmin-24" remap="internal">How to Start the SEAM Tool</olink> for
more information.</para><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen>
</step><step id="seamgadmin-step-249"><para>Click the Principals tab.</para>
</step><step id="seamgadmin-step-250"><para>Select the principal in the list that
you want to duplicate, then click Duplicate. </para><para>The Principal Basics
panel is displayed. All the attributes of the selected principal are duplicated,
except for the Principal Name and Password fields, which are empty.</para>
</step><step id="seamgadmin-step-251"><para>Specify a principal name and a password.</para><para>Both the principal name and the password are mandatory. To make an exact
duplicate of the principal you selected, click Save and skip to <olink targetptr="aadmin-dup-princ-1" remap="internal">Step&nbsp;7</olink>.</para>
</step><step id="seamgadmin-step-252"><para>Specify different values for the principal's
attributes, and continue to click Next to specify more attributes.</para><para>Three
windows contain attribute information. Choose Context-Sensitive Help from
the Help menu to get information about the various attributes in each window.
Or, for all the principal attribute descriptions, go to <olink targetptr="aadmin-223" remap="internal">SEAM Tool Panel Descriptions</olink>.</para>
</step><step id="seamgadmin-step-253"><para>Click Save to save the principal, or
click Done on the last panel.</para>
</step><step id="aadmin-dup-princ-1"><para><indexterm><primary><filename>kadm5.acl</filename> file</primary><secondary>new principals and</secondary></indexterm><indexterm><primary>ACL</primary><secondary><filename>kadm5.acl</filename> file</secondary></indexterm>If needed, set up Kerberos administration privileges for the principal
in <filename>/etc/krb5/kadm5.acl</filename> file.</para><para>See <olink targetptr="aadmin-14" remap="internal">How to Modify the Kerberos Administration Privileges</olink> for
more details.</para>
</step>
</procedure>
</task><task id="aadmin-19"><title>How to Modify a Kerberos Principal</title><indexterm><primary>principal</primary><secondary>modifying</secondary>
</indexterm><indexterm><primary>modifying</primary><secondary>principals (Kerberos)</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>modifying a principal</secondary>
</indexterm><tasksummary><para>An example of the command-line equivalent follows this procedure.</para>
</tasksummary><procedure><step id="seamgadmin-step-254"><para>If necessary, start the SEAM Tool.</para><para>See <olink targetptr="aadmin-24" remap="internal">How to Start the SEAM Tool</olink> for
more information.</para><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen>
</step><step id="seamgadmin-step-255"><para>Click the Principals tab.</para>
</step><step id="seamgadmin-step-256"><para>Select the principal in the list that
you want to modify, then click Modify.</para><para>The Principal Basics panel
that contains some of the attributes for the principal is displayed. </para>
</step><step id="seamgadmin-step-257"><para>Modify the principal's attributes, and
continue to click Next to modify more attributes.</para><para>Three windows
contain attribute information. Choose Context-Sensitive Help from the Help
menu to get information about the various attributes in each window. Or, for
all the principal attribute descriptions, go to <olink targetptr="aadmin-223" remap="internal">SEAM
Tool Panel Descriptions</olink>.</para><note><para>You cannot modify a principal's name. To rename a principal, you
must duplicate the principal, specify a new name for it, save it, and then
delete the old principal.</para>
</note>
</step><step id="seamgadmin-step-258"><para>Click Save to save the principal, or
click Done on the last panel.</para>
</step><step id="seamgadmin-step-259"><para>Modify the Kerberos administration privileges
for the principal in the <filename>/etc/krb5/kadm5.acl</filename> file.</para><para>See <olink targetptr="aadmin-14" remap="internal">How to Modify the Kerberos Administration
Privileges</olink> for more details.</para>
</step>
</procedure><example id="ehgal"><title>Modifying a Kerberos Principal's Password (Command Line)</title><indexterm><primary>passwords</primary><secondary>modifying a principal's password</secondary>
</indexterm><indexterm><primary>modifying</primary><secondary>principal's password (Kerberos)</secondary>
</indexterm><para>In the following example, the <command>change_password</command> command
of <command>kadmin</command> is used to modify the password for the <literal>jdb</literal> principal.
The <command>change_password</command> command does not let you change the
password to a password that is in the principal's password history.</para><screen>kadmin: <userinput>change_password jdb</userinput>
Enter password for principal "jdb": <replaceable>&lt;Type the new password&gt;</replaceable>
Re-enter password for principal "jdb": <replaceable>&lt;Type the password again&gt;</replaceable>
Password for "jdb@EXAMPLE.COM" changed.
kadmin: <userinput>quit</userinput></screen><para>To modify other attributes for a principal, you must use the <command>modify_principal</command> command of <command>kadmin</command>.</para>
</example>
</task><task id="aadmin-20"><title>How to Delete a Kerberos Principal</title><indexterm><primary>principal</primary><secondary>deleting</secondary>
</indexterm><indexterm><primary>deleting</primary><secondary>principal (Kerberos)</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>deleting a principal</secondary>
</indexterm><tasksummary><para>An example of the command-line equivalent follows this procedure.</para>
</tasksummary><procedure><step id="seamgadmin-step-260"><para>If necessary, start the SEAM Tool.</para><para>See <olink targetptr="aadmin-24" remap="internal">How to Start the SEAM Tool</olink> for
more information.</para><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen>
</step><step id="seamgadmin-step-261"><para>Click the Principals tab.</para>
</step><step id="seamgadmin-step-262"><para>Select the principal in the list that
you want to delete, then click Delete. </para><para>After you confirm the
deletion, the principal is deleted.</para>
</step><step id="seamgadmin-step-263"><para>Remove the principal from the Kerberos
access control list (ACL) file, <filename>/etc/krb5/kadm5.acl</filename>.</para><para>See <olink targetptr="aadmin-14" remap="internal">How to Modify the Kerberos Administration
Privileges</olink> for more details.</para>
</step>
</procedure><example id="ehgan"><title>Deleting a Kerberos Principal (Command Line)</title><para>In the following example, the <command>delete_principal</command> command
of <command>kadmin</command> is used to delete the <literal>jdb</literal> principal.</para><screen>kadmin: <userinput>delete_principal pak</userinput>
Are you sure you want to delete the principal "pak@EXAMPLE.COM"? (yes/no): <userinput>yes</userinput>
Principal "pak@EXAMPLE.COM" deleted.
Make sure that you have removed this principal from all ACLs before reusing.
kadmin: <userinput>quit</userinput></screen>
</example>
</task><task id="aadmin-21"><title>How to Set Up Defaults for Creating New Kerberos
Principals</title><indexterm><primary>principal</primary><secondary>setting up defaults</secondary>
</indexterm><indexterm><primary>setting</primary><secondary>principal defaults (Kerberos)</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>setting up principal defaults</secondary>
</indexterm><tasksummary><para>No command-line equivalent exists for this procedure.</para>
</tasksummary><procedure><step id="seamgadmin-step-264"><para>If necessary, start the SEAM Tool.</para><para>See <olink targetptr="aadmin-24" remap="internal">How to Start the SEAM Tool</olink> for
more information.</para><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen>
</step><step id="seamgadmin-step-265"><para>Choose Properties from the Edit Menu.</para><para>The Properties window is displayed.</para><mediaobject><imageobject><imagedata entityref="SEAM-princ-default"/>
</imageobject><textobject><simpara>Dialog box titled Properties shows defaults for new principals
and list controls. Defaults for principals cover security and other options.</simpara>
</textobject>
</mediaobject>
</step><step id="seamgadmin-step-266"><para>Select the defaults that you want to
use when you create new principals.</para><para>Choose Context-Sensitive Help
from the Help menu for information about the various attributes in each window.</para>
</step><step id="seamgadmin-step-267"><para>Click Save.</para>
</step>
</procedure>
</task><task id="aadmin-14"><title>How to Modify the Kerberos Administration Privileges</title><tasksummary><para>Even though your site probably has many user principals, you usually
want only a few users to be able to administer the Kerberos database. Privileges
to administer the Kerberos database are determined by the Kerberos access
control list (ACL) file, <literal>kadm5.acl</literal>. The <filename>kadm5.acl</filename> file
enables you to allow or disallow privileges for individual principals. Or,
you can use the '*' wildcard in the principal name to specify privileges for
groups of principals.</para>
</tasksummary><procedure><step id="seamgadmin-step-268"><para>Become superuser on the master KDC.</para>
</step><step id="seamgadmin-step-269"><para>Edit the <filename>/etc/krb5/kadm5.acl</filename> file.</para><para><indexterm><primary>ACL</primary><secondary><filename>kadm5.acl</filename> file</secondary></indexterm><indexterm><primary><filename>kadm5.acl</filename> file</primary><secondary>format of entries</secondary></indexterm>An entry in the <filename>kadm5.acl</filename> file must have the following format:</para><screen><replaceable>principal</replaceable> <replaceable>privileges</replaceable> [<replaceable>principal-target</replaceable>]</screen><informaltable frame="none"><tgroup cols="3" colsep="0" rowsep="0"><colspec colname="col1" colwidth="20*"/><colspec colname="col2" colwidth="15*"/><colspec colname="col3" colwidth="65*"/><tbody><row><entry><para><replaceable>principal</replaceable></para>
</entry><entry namest="col2" nameend="col3"><para>Specifies the principal to which the privileges are granted.  Any part
of the principal name can include the '*' wildcard, which is useful for providing
the same privileges for a group of principals. For example, if you want to
specify all principals with the <literal>admin</literal> instance, you would
use <literal>*/admin@</literal><replaceable>realm</replaceable><literal></literal>.</para><para>Note that a common use of an <literal>admin</literal> instance is to
grant separate privileges  (such as administration access to the Kerberos
database) to a separate Kerberos principal.  For example, the user <literal>jdb</literal> might
have a principal for his administrative use, called <literal>jdb/admin</literal>.
This way, the user <literal>jdb</literal> obtains <literal>jdb/admin</literal> tickets
only when he or she actually needs to  use those privileges.</para>
</entry>
</row><row><entry><para><replaceable>privileges</replaceable></para>
</entry><entry namest="col2" nameend="col3"><para>Specifies which operations can or cannot be performed by the principal.
 This field consists of a string of one or more of the following list of characters
or their uppercase counterparts.  If the character is uppercase (or not specified),
then the operation is disallowed.  If the character is lowercase, then the
operation is permitted.</para>
</entry>
</row><row><entry><para></para>
</entry><entry><para><literal>a</literal></para>
</entry><entry><para>[Dis]allows the addition of principals or policies.</para>
</entry>
</row><row><entry><para></para>
</entry><entry><para><literal>d</literal></para>
</entry><entry><para>[Dis]allows the deletion of principals or policies.</para>
</entry>
</row><row><entry><para></para>
</entry><entry><para><literal>m</literal></para>
</entry><entry><para>[Dis]allows the modification of principals or polices.</para>
</entry>
</row><row><entry><para></para>
</entry><entry><para><literal>c</literal></para>
</entry><entry><para>[Dis]allows the changing of passwords for principals.</para>
</entry>
</row><row><entry><para></para>
</entry><entry><para><literal>i</literal></para>
</entry><entry><para>[Dis]allows inquiries to the Kerberos database.</para>
</entry>
</row><row><entry><para></para>
</entry><entry><para><literal>l</literal></para>
</entry><entry><para>[Dis]allows the listing of principals or policies in the Kerberos database.</para>
</entry>
</row><row><entry><para></para>
</entry><entry><para><literal>x</literal> or <literal>*</literal></para>
</entry><entry><para>Allows all privileges (<literal>admcil</literal>).</para>
</entry>
</row><row><entry><para><replaceable>principal-target</replaceable></para>
</entry><entry namest="col2" nameend="col3"><para>When a principal is specified in this field, the <replaceable>privileges</replaceable> apply
to the <replaceable>principal</replaceable> only when the <replaceable>principal</replaceable> operates
on the <replaceable>principal-target</replaceable>. Any part of the principal
name can include the '*' wildcard, which is useful to group principals.</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</step>
</procedure><example id="ehgap"><title>Modifying the Kerberos Administration Privileges</title><para>The following entry in the <filename>kadm5.acl</filename> file gives
any principal in the <literal>EXAMPLE.COM</literal> realm with the <literal>admin</literal> instance all the privileges on the Kerberos database:</para><screen>*/admin@EXAMPLE.COM *</screen><para>The following entry in the <filename>kadm5.acl</filename> file gives
the <literal>jdb@EXAMPLE.COM</literal> principal the privileges to add, list,
and inquire about any principal that has the <literal>root</literal> instance.</para><screen>jdb@EXAMPLE.COM ali */root@EXAMPLE.COM</screen>
</example>
</task>
</sect1><sect1 id="aadmin-68"><title>Administering Kerberos Policies</title><indexterm><primary>policies</primary><secondary>administering</secondary>
</indexterm><indexterm><primary>administering</primary><secondary>Kerberos</secondary><tertiary>policies</tertiary>
</indexterm><para>This section provides step-by-step instructions used to administer policies
with the SEAM Tool. This section also provides examples of command-line equivalents,
when available.</para><sect2 id="aadmin-189"><title>Administering Kerberos Policies (Task Map)</title><indexterm><primary>task maps</primary><secondary>administering policies (Kerberos)</secondary>
</indexterm><indexterm><primary>policies</primary><secondary>task map for administering</secondary>
</indexterm><informaltable frame="all" pgwide="1"><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="110*"/><colspec colname="col2" colwidth="167*"/><colspec colwidth="119*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>View the list of policies.</para>
</entry><entry><para>View the list of policies by clicking the Policies tab.</para>
</entry><entry><para><olink targetptr="aadmin-69" remap="internal">How to View the List of Kerberos Policies</olink></para>
</entry>
</row><row><entry><para>View a policy's attributes.</para>
</entry><entry><para>View a policy's attributes by selecting the policy in the Policy List,
then clicking the Modify button.</para>
</entry><entry><para><olink targetptr="aadmin-76" remap="internal">How to View a Kerberos Policy's Attributes</olink></para>
</entry>
</row><row><entry><para>Create a new policy.</para>
</entry><entry><para>Create a new policy by clicking the Create New button in the Policy
List panel.</para>
</entry><entry><para><olink targetptr="aadmin-70" remap="internal">How to Create a New Kerberos Policy</olink></para>
</entry>
</row><row><entry><para>Duplicate a policy.</para>
</entry><entry><para>Duplicate a policy by selecting the policy to duplicate in the Policy
List, then clicking the Duplicate button.</para>
</entry><entry><para><olink targetptr="aadmin-82" remap="internal">How to Duplicate a Kerberos Policy</olink></para>
</entry>
</row><row><entry><para>Modify a policy.</para>
</entry><entry><para>Modify a policy by selecting the policy to modify in the Policy List,
then clicking the Modify button.</para><para>Note that you cannot modify a policy's name. To rename a policy, you
must duplicate the policy, specify a new name for it, save it, and then delete
the old policy.</para>
</entry><entry><para><olink targetptr="aadmin-71" remap="internal">How to Modify a Kerberos Policy</olink></para>
</entry>
</row><row><entry><para>Delete a policy.</para>
</entry><entry><para>Delete a policy by selecting the policy to delete in the Policy List,
then clicking the Delete button.</para>
</entry><entry><para><olink targetptr="aadmin-72" remap="internal">How to Delete a Kerberos Policy</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2><task id="aadmin-69"><title>How to View the List of Kerberos Policies</title><indexterm><primary>policies</primary><secondary>viewing list of</secondary>
</indexterm><indexterm><primary>viewing</primary><secondary>list of policies</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>viewing list of policies</secondary>
</indexterm><tasksummary><para>An example of the command-line equivalent follows this procedure.</para>
</tasksummary><procedure><step id="seamgadmin-step-270"><para>If necessary, start the SEAM Tool.</para><para>See <olink targetptr="aadmin-24" remap="internal">How to Start the SEAM Tool</olink> for
more information.</para><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen>
</step><step id="seamgadmin-step-271"><para>Click the Policies tab.</para><para>The
list of policies is displayed.</para><mediaobject><imageobject><imagedata entityref="SEAM-list-pol.jpg"/>
</imageobject><textobject><simpara>Dialog box titled SEAM Administration Tool shows a list
of policies and a policy filter. Shows Modify, Create New, Delete, and Duplicate
buttons.</simpara>
</textobject>
</mediaobject>
</step><step id="seamgadmin-step-272"><para>Display a specific policy or a sublist
of policies.</para><para>Type a filter string in the Filter field, and press
Return. If the filter succeeds, the list of policies that match the filter
is displayed.</para><para>The filter string must consist of one or more characters. Because the
filter mechanism is case sensitive, you need to use the appropriate uppercase
and lowercase letters for the filter. For example, if you type the filter
string <literal>ge</literal>, the filter mechanism displays only the policies
with the <literal>ge</literal> string in them (for example, <literal>george</literal> or <literal>edge</literal>). </para><para>If you want to display the entire list of policies, click Clear Filter.</para>
</step>
</procedure><example id="ehgak"><title>Viewing the List of Kerberos Policies (Command Line)</title><para>In the following example, the <command>list_policies</command> command
of <command>kadmin</command> is used to list all the policies that match <literal>*user*</literal>. Wildcards can be used with the <command>list_policies</command> command.</para><screen>kadmin: <userinput>list_policies *user*</userinput>
testuser
enguser
kadmin: <userinput>quit</userinput></screen>
</example>
</task><task id="aadmin-76"><title>How to View a Kerberos Policy's Attributes</title><indexterm><primary>policies</primary><secondary>viewing attributes</secondary>
</indexterm><indexterm><primary>viewing</primary><secondary>policy attributes</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>viewing policy attributes</secondary>
</indexterm><tasksummary><para>An example of the command-line equivalent follows this procedure.</para>
</tasksummary><procedure><step id="seamgadmin-step-273"><para>If necessary, start the SEAM Tool.</para><para>See <olink targetptr="aadmin-24" remap="internal">How to Start the SEAM Tool</olink> for
more information.</para><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen>
</step><step id="seamgadmin-step-274"><para>Click the Policies tab.</para>
</step><step id="seamgadmin-step-275"><para>Select the policy in the list that you
want to view, then click Modify. </para><para>The Policy Details panel is
displayed.</para>
</step><step id="seamgadmin-step-276"><para>When you are finished viewing, click
Cancel.</para>
</step>
</procedure><example id="ehgao"><title>Viewing a Kerberos Policy's Attributes</title><para>The following example shows the Policy Details panel when you are viewing
the <literal>test</literal> policy.</para><mediaobject><imageobject><imagedata entityref="SEAM-view-pol"/>
</imageobject><textobject><simpara>Dialog box titled SEAM Administration Tool shows policy
details of the enguser policy. Shows Save, Previous, Done, and Cancel buttons</simpara>
</textobject>
</mediaobject>
</example><example id="ehgam"><title>Viewing a Kerberos Policy's Attributes (Command Line)</title><para>In the following example, the <command>get_policy</command> command
of <command>kadmin</command> is used to view the attributes of the <literal>enguser</literal> policy.</para><screen>kadmin: <userinput>get_policy enguser</userinput>
Policy: enguser
Maximum password life: 2592000
Minimum password life: 0
Minimum password length: 8
Minimum number of password character classes: 2
Number of old keys kept: 3
Reference count: 0
kadmin: <userinput>quit</userinput></screen><para>The Reference count is the number of principals that use this policy.</para>
</example>
</task><task id="aadmin-70"><title>How to Create a New Kerberos Policy</title><indexterm><primary>policies</primary><secondary>creating new (Kerberos)</secondary>
</indexterm><indexterm><primary>creating</primary><secondary>new policy (Kerberos)</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>creating a new policy</secondary>
</indexterm><tasksummary><para>An example of the command-line equivalent follows this procedure.</para>
</tasksummary><procedure><step id="seamgadmin-step-277"><para>If necessary, start the SEAM Tool.</para><para>See <olink targetptr="aadmin-24" remap="internal">How to Start the SEAM Tool</olink> for
more information.</para><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen>
</step><step id="seamgadmin-step-278"><para>Click the Policies tab.</para>
</step><step id="seamgadmin-step-279"><para>Click New.</para><para>The Policy Details
panel is displayed.</para>
</step><step id="seamgadmin-step-280"><para>Specify a name for the policy in the
Policy Name field.</para><para>The policy name is mandatory.</para>
</step><step id="seamgadmin-step-281"><para>Specify values for the policy's attributes.</para><para>Choose Context-Sensitive Help from the Help menu for information about
the various attributes in this window. Or, go to <olink targetptr="aadmin-tbl-226" remap="internal">Table&nbsp;25&ndash;5</olink> for all the policy
attribute descriptions.</para>
</step><step id="seamgadmin-step-282"><para>Click Save to save the policy, or click
Done.</para>
</step>
</procedure><example id="ehgas"><title>Creating a New Kerberos Policy</title><para>In the following example, a new policy called <literal>build11</literal> is
created. The Minimum Password Classes is set to 3.</para><mediaobject><imageobject><imagedata entityref="SEAM-add-pol"/>
</imageobject><textobject><simpara>Dialog box titled SEAM Administration Tool shows policy
details of the build11 policy.  Shows Save, Previous, Done, and Cancel buttons.</simpara>
</textobject>
</mediaobject>
</example><example id="ehgaq"><title>Creating a New Kerberos Policy (Command Line)</title><para>In the following example, the <command>add_policy</command> command
of <command>kadmin</command> is used to create the <literal>build11</literal> policy.
This policy requires at least 3 character classes in a password.</para><screen>$ <userinput>kadmin</userinput>
kadmin: <userinput>add_policy -minclasses 3 build11</userinput>
kadmin: <userinput>quit</userinput></screen>
</example>
</task><task id="aadmin-82"><title>How to Duplicate a Kerberos Policy</title><tasksummary><para>This procedure explains how to use all or some of the attributes of
an existing policy to create a new policy. No command-line equivalent exists
for this procedure.</para>
</tasksummary><procedure><step id="seamgadmin-step-283"><para>If necessary, start the SEAM Tool.</para><para>See <olink targetptr="aadmin-24" remap="internal">How to Start the SEAM Tool</olink> for
more information.</para><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen>
</step><step id="seamgadmin-step-284"><para>Click the Policies tab.</para>
</step><step id="seamgadmin-step-285"><para>Select the policy in the list that you
want to duplicate, then click Duplicate. </para><para>The Policy Details panel
is displayed. All the attributes of the selected policy are duplicated, except
for the Policy Name field, which is empty.</para>
</step><step id="seamgadmin-step-286"><para>Specify a name for the duplicated policy
in the Policy Name field.</para><para>The policy name is mandatory. To make
an exact duplicate of the policy you selected, skip to <olink targetptr="aadmin-pol-done-1" remap="internal">Step&nbsp;6</olink>.</para>
</step><step id="seamgadmin-step-287"><para>Specify different values for the policy's
attributes.</para><para>Choose Context-Sensitive Help from the Help menu for
information about the various attributes in this window. Or, go to <olink targetptr="aadmin-tbl-226" remap="internal">Table&nbsp;25&ndash;5</olink> for all the policy
attribute descriptions.</para>
</step><step id="aadmin-pol-done-1"><para>Click Save to save the policy, or click
Done.</para>
</step>
</procedure>
</task><task id="aadmin-71"><title>How to Modify a Kerberos Policy</title><indexterm><primary>policies</primary><secondary>modifying</secondary>
</indexterm><indexterm><primary>modifying</primary><secondary>policies (Kerberos)</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>modifying a policy</secondary>
</indexterm><tasksummary><para>An example of the command-line equivalent follows this procedure.</para>
</tasksummary><procedure><step id="seamgadmin-step-288"><para>If necessary, start the SEAM Tool.</para><para>See <olink targetptr="aadmin-24" remap="internal">How to Start the SEAM Tool</olink> for
details.</para><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen>
</step><step id="seamgadmin-step-289"><para>Click the Policies tab.</para>
</step><step id="seamgadmin-step-290"><para>Select the policy in the list that you
want to modify, then click Modify. </para><para>The Policy Details panel is
displayed.</para>
</step><step id="seamgadmin-step-291"><para>Modify the policy's attributes.</para><para>Choose Context-Sensitive Help from the Help menu for information about
the various attributes in this window. Or, go to <olink targetptr="aadmin-tbl-226" remap="internal">Table&nbsp;25&ndash;5</olink> for all the policy
attribute descriptions.</para><note><para>You cannot modify a policy's name. To rename a policy, you must
duplicate the policy, specify a new name for it, save it, and then delete
the old policy.</para>
</note>
</step><step id="seamgadmin-step-292"><para>Click Save to save the policy, or click
Done.</para>
</step>
</procedure><example id="ehgar"><title>Modifying a Kerberos Policy (Command Line)</title><para>In the following example, the <command>modify_policy</command> command
of <command>kadmin</command> is used to modify the minimum length of a password
to five characters for the <literal>build11</literal> policy.</para><screen>$ <userinput>kadmin</userinput>
kadmin: <userinput>modify_policy -minlength 5 build11</userinput>
kadmin: <userinput>quit</userinput></screen>
</example>
</task><task id="aadmin-72"><title>How to Delete a Kerberos Policy</title><indexterm><primary>policies</primary><secondary>deleting</secondary>
</indexterm><indexterm><primary>deleting</primary><secondary>policies (Kerberos)</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>deleting policies</secondary>
</indexterm><tasksummary><para>An example of the command-line equivalent follows this procedure.</para><note><para>Before you delete a policy, you must cancel the policy from all
principals that are currently using it. To do so, you need to modify the principals'
Policy attribute. The policy cannot be deleted if any principal is using it.</para>
</note>
</tasksummary><procedure><step id="seamgadmin-step-293"><para>If necessary, start the SEAM Tool.</para><para>See <olink targetptr="aadmin-24" remap="internal">How to Start the SEAM Tool</olink> for
more information.</para><screen>$ <userinput>/usr/sbin/gkadmin</userinput></screen>
</step><step id="seamgadmin-step-294"><para>Click the Policies tab.</para>
</step><step id="seamgadmin-step-295"><para>Select the policy in the list that you
want to delete, then click Delete. </para><para>After you confirm the deletion,
the policy is deleted.</para>
</step>
</procedure><example id="ehgba"><title>Deleting a Kerberos Policy (Command Line)</title><para>In the following example, the <command>delete_policy</command> command
of the <command>kadmin</command> command is used to delete the <literal>build11</literal> policy.</para><screen>kadmin: <userinput>delete_policy build11</userinput> 
Are you sure you want to delete the policy "build11"? (yes/no): <userinput>yes</userinput>
kadmin: <userinput>quit</userinput></screen><para>Before you delete a policy, you must cancel the policy from all principals
that are currently using it. To do so, you need to use the <command>modify_principal <option>policy</option></command> command of <command>kadmin</command> on the affected
principals. The <command>delete_policy</command> command fails if the policy
is in use by a principal.</para>
</example>
</task>
</sect1><sect1 id="aadmin-228"><title>SEAM Tool Reference</title><para>This section provides descriptions of each panel in the SEAM Tool.
Also, information about using limited privileges with SEAM Tool are provided.</para><sect2 id="aadmin-223"><title>SEAM Tool Panel Descriptions</title><indexterm><primary>SEAM Administration Tool</primary><secondary>panel descriptions</secondary>
</indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>table of panels</secondary>
</indexterm><indexterm><primary>policies</primary><secondary>SEAM Administration Tool panels for</secondary>
</indexterm><indexterm><primary>principal</primary><secondary>SEAM Administration Tool panels for</secondary>
</indexterm><indexterm><primary>panels</primary><secondary>table of SEAM Administration Tool</secondary>
</indexterm><para>This section provides descriptions for each principal and policy attribute
that you can either specify or view in the SEAM Tool. The attributes are organized
by the panel in which they are displayed.</para><table frame="all" pgwide="1" id="aadmin-tbl-34"><title>Attributes for the
Principal Basics Panel of the SEAM Tool</title><tgroup cols="2" colsep="1" rowsep="1"><colspec colname="col1" colwidth="106*"/><colspec colwidth="290*"/><thead><row><entry><para>Attribute</para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para>Principal Name</para>
</entry><entry><para>The name of the principal (which is the <replaceable>primary</replaceable>/<replaceable>instance</replaceable> part of a fully qualified principal name). A principal
is a unique identity to which the KDC can assign tickets.</para><para>If you are modifying a principal, you cannot edit its name.</para>
</entry>
</row><row><entry><para>Password</para>
</entry><entry><para>The password for the principal. You can use the Generate Random Password
button to create a random password for the principal.</para>
</entry>
</row><row><entry><para>Policy</para>
</entry><entry><para>A menu of available policies for the principal.</para>
</entry>
</row><row><entry><para>Account Expires</para>
</entry><entry><para>The date and time on which the principal's account expires. When the
account expires, the principal can no longer get a ticket-granting ticket
(TGT) and might be unable to log in.</para>
</entry>
</row><row><entry><para>Last Principal Change </para>
</entry><entry><para>The date on which information for the principal was last modified. (Read
only)</para>
</entry>
</row><row><entry><para>Last Changed By</para>
</entry><entry><para>The name of the principal that last modified the account for this principal.
(Read only)</para>
</entry>
</row><row><entry><para>Comments</para>
</entry><entry><para>Comments that are related to the principal (for example, &ldquo;Temporary
Account&rdquo;).</para>
</entry>
</row>
</tbody>
</tgroup>
</table><table frame="all" pgwide="1" id="aadmin-tbl-33"><title>Attributes for the
Principal Details Panel of the SEAM Tool</title><tgroup cols="2" colsep="1" rowsep="1"><colspec colname="col1" colwidth="106*"/><colspec colwidth="290*"/><thead><row><entry><para>Attribute</para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para>Last Success</para>
</entry><entry><para>The date and time when the principal last logged in successfully. (Read
only)</para>
</entry>
</row><row><entry><para>Last Failure</para>
</entry><entry><para>The date and time when the last login failure for the principal occurred.
(Read only)</para>
</entry>
</row><row><entry><para>Failure Count</para>
</entry><entry><para>The number of times a login failure has occurred for the principal.
(Read only)</para>
</entry>
</row><row><entry><para>Last Password Change</para>
</entry><entry><para>The date and time when the principal's password was last changed. (Read
only)</para>
</entry>
</row><row><entry><para>Password Expires</para>
</entry><entry><para>The date and time when the principal's current password expires.</para>
</entry>
</row><row><entry><para>Key Version</para>
</entry><entry><para>The key version number for the principal. This attribute is normally
changed only when a password has been compromised.</para>
</entry>
</row><row><entry><para>Maximum Lifetime (seconds)</para>
</entry><entry><para>The maximum length of time for which a ticket can be granted for the
principal (without renewal).</para>
</entry>
</row><row><entry><para>Maximum Renewal (seconds)</para>
</entry><entry><para>The maximum length of time for which an existing ticket can be renewed
for the principal.</para>
</entry>
</row>
</tbody>
</tgroup>
</table><table frame="all" pgwide="1" id="aadmin-tbl-32"><title>Attributes of the
Principal Flags Panel of the SEAM Tool</title><tgroup cols="2" colsep="1" rowsep="1"><colspec colname="col1" colwidth="106*"/><colspec colwidth="290*"/><thead><row><entry><para>Attribute (Radio Buttons)</para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para>Disable Account</para>
</entry><entry><para>When checked, prevents the principal from logging in. This attribute
provides an easy way to temporarily freeze a principal account.</para>
</entry>
</row><row><entry><para>Require Password Change</para>
</entry><entry><para>When checked, expires the principal's current password, which forces
the user to use the <command>kpasswd</command> command to create a new password.
This attribute is useful if a security breach occurs, and you need to make
sure that old passwords are replaced.</para>
</entry>
</row><row><entry><para>Allow Postdated Tickets</para>
</entry><entry><para>When checked, allows the principal to obtain postdated tickets. </para><para>For example, you might need to use postdated tickets for <command>cron</command> jobs
that must run after hours, but you cannot obtain tickets in advance because
of short ticket lifetimes.</para>
</entry>
</row><row><entry><para>Allow Forwardable Tickets</para>
</entry><entry><para>When checked, allows the principal to obtain forwardable tickets.</para><para>Forwardable tickets are tickets that are forwarded to the remote host
to provide a single-sign-on session. For example, if you are using forwardable
tickets and you authenticate yourself through <command>ftp</command> or <command>rsh</command>, then other services, such as NFS services, are available without
your being prompted for another password.</para>
</entry>
</row><row><entry><para>Allow Renewable Tickets</para>
</entry><entry><para>When checked, allows the principal to obtain renewable tickets.</para><para>A principal can automatically extend the expiration date or time of
a ticket that is renewable (rather than having to get a new ticket after the
first ticket expires). Currently, the NFS service is the ticket service that
can renew tickets.</para>
</entry>
</row><row><entry><para>Allow Proxiable Tickets</para>
</entry><entry><para>When checked, allows the principal to obtain proxiable tickets.</para><para>A proxiable ticket is a ticket that can be used by a service on behalf
of a client to perform an operation for the client. With a proxiable ticket,
a service can take on the identity of a client and obtain a ticket for another
service. However, the service cannot obtain a ticket-granting ticket (TGT).</para>
</entry>
</row><row><entry><para>Allow Service Tickets</para>
</entry><entry><para>When checked, allows service tickets to be issued for the principal.</para><para>You should not allow service tickets to be issued for the <literal>kadmin/</literal><replaceable>hostname</replaceable> and <literal>changepw/</literal><replaceable>hostname</replaceable> principals.
This practice ensures that only these principals can update the KDC database.</para>
</entry>
</row><row><entry><para>Allow TGT-Based Authentication</para>
</entry><entry><para>When checked, allows the service principal to provide services to another
principal. More specifically, this attribute allows the KDC to issue a service
ticket for the service principal.</para><para>This attribute is valid only for service principals. When unchecked,
service tickets cannot be issued for the service principal.</para>
</entry>
</row><row><entry><para>Allow Duplicate Authentication</para>
</entry><entry><para>When checked, allows the user principal to obtain service tickets for
other user principals.</para><para>This attribute is valid only for user principals. When unchecked, the
user principal can still obtain service tickets for service principals, but
not for other user principals.</para>
</entry>
</row><row><entry><para>Required Preauthentication</para>
</entry><entry><para>When checked, the KDC will not send a requested ticket-granting ticket
(TGT) to the principal until the KDC can authenticate (through software) that
the principal is really the principal that is requesting the TGT. This preauthentication
is usually done through an extra password, for example, from a DES card.</para><para>When unchecked, the KDC does not need to preauthenticate the principal
before the KDC sends a requested TGT to the principal.</para>
</entry>
</row><row><entry><para>Required Hardware Authentication</para>
</entry><entry><para>When checked, the KDC will not send a requested ticket-granting ticket
(TGT) to the principal until the KDC can authenticate (through hardware) that
the principal is really the principal that is requesting the TGT. Hardware
preauthentication can occur, for example, on a Java ring reader.</para><para>When unchecked, the KDC does not need to preauthenticate the principal
before the KDC sends a requested TGT to the principal.</para>
</entry>
</row>
</tbody>
</tgroup>
</table><table frame="all" pgwide="1" id="aadmin-tbl-226"><title>Attributes for the
Policy Basics Pane of the SEAM Tool</title><tgroup cols="2" colsep="1" rowsep="1"><colspec colname="col1" colwidth="106*"/><colspec colwidth="290*"/><thead><row><entry><para>Attribute</para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para>Policy Name</para>
</entry><entry><para>The name of the policy. A policy is a set of rules that govern a principal's
password and tickets.</para><para>If you are modifying a policy, you cannot edit its name.</para>
</entry>
</row><row><entry><para>Minimum Password Length</para>
</entry><entry><para>The minimum length for the principal's password.</para>
</entry>
</row><row><entry><para>Minimum Password Classes</para>
</entry><entry><para>The minimum number of different character types that are required in
the principal's password.</para><para>For example, a minimum classes value of 2 means that the password must
have at least two different character types, such as letters and numbers (hi2mom).
A value of 3 means that the password must have at least three different character
types, such as letters, numbers, and punctuation (hi2mom!). And so on. </para><para>A value of 1 sets no restriction on the number of password character
types.</para>
</entry>
</row><row><entry><para>Saved Password History</para>
</entry><entry><para>The number of previous passwords that have been used by the principal,
and a list of the previous passwords that cannot be reused.</para>
</entry>
</row><row><entry><para>Minimum Password Lifetime (seconds)</para>
</entry><entry><para>The minimum length of time that the password must be used before it
can be changed.</para>
</entry>
</row><row><entry><para>Maximum Password Lifetime (seconds)</para>
</entry><entry><para>The maximum length of time that the password can be used before it must
be changed.</para>
</entry>
</row><row><entry><para>Principals Using This Policy</para>
</entry><entry><para>The number of principals to which this policy currently applies. (Read
only)</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2><sect2 id="aadmin-206"><title>Using the SEAM Tool With Limited Kerberos Administration
Privileges</title><indexterm><primary>SEAM Administration Tool</primary><secondary>and limited administration privileges</secondary>
</indexterm><para>All features of the SEAM Administration Tool are available if your <literal>admin</literal> principal has all the privileges to administer the Kerberos
database. However, you might have limited privileges, such as only being allowed
to view the list of principals or to change a principal's password. With limited
Kerberos administration privileges, you can still use the SEAM Tool. However,
various parts of the SEAM Tool change based on the Kerberos administration
privileges that you do not have. <olink targetptr="aadmin-tbl-209" remap="internal">Table&nbsp;25&ndash;6</olink> shows how the SEAM Tool changes based on your Kerberos administration
privileges.</para><para><indexterm><primary>SEAM Administration Tool</primary><secondary>and list privileges</secondary></indexterm><indexterm><primary>list privilege</primary><secondary>SEAM Administration Tool and</secondary></indexterm><indexterm><primary>SEAM Administration Tool</primary><secondary>privileges</secondary></indexterm>The most visual change to the SEAM Tool occurs when you don't
have the list privilege. Without the list privilege, the List panels do not
display the list of principals and polices for you to manipulate. Instead,
you must use the Name field in the List panels to specify a principal or a
policy that you want to manipulate. </para><para>If you log in to the SEAM Tool, and you do not have sufficient privileges
to perform tasks with it, the following message displays and you are sent
back to the SEAM Administration Login window:</para><screen>Insufficient privileges to use gkadmin: ADMCIL. Please try using another principal.</screen><para><indexterm><primary>SEAM Administration Tool</primary><secondary>how affected by privileges</secondary></indexterm><indexterm><primary>privileges</primary><secondary>effects on SEAM Administration Tool</secondary></indexterm>To change
the privileges for a principal so that it can administer the Kerberos database,
go to <olink targetptr="aadmin-14" remap="internal">How to Modify the Kerberos Administration
Privileges</olink>.</para><table frame="all" id="aadmin-tbl-209"><title>Using the SEAM Tool With Limited
Kerberos Administration Privileges</title><tgroup cols="2" colsep="1" rowsep="1"><colspec colwidth="35*"/><colspec colwidth="65*"/><thead><row><entry><para>Disallowed Privilege</para>
</entry><entry><para>How the SEAM Tool Changes</para>
</entry>
</row>
</thead><tbody><row><entry><para><literal>a</literal> (add)</para>
</entry><entry><para>The Create New and Duplicate buttons are unavailable in the Principal
List and Policy List panels. Without the add privilege, you cannot create
new principals or policies, or duplicate them.</para>
</entry>
</row><row><entry><para><literal>d</literal> (delete)</para>
</entry><entry><para>The Delete button is unavailable in the Principal List and Policy List
panels. Without the delete privilege, you cannot delete principals or policies.</para>
</entry>
</row><row><entry><para><literal>m</literal> (modify)</para>
</entry><entry><para>The Modify button is unavailable in the Principal List and Policy List
panels. Without the modify privilege, you cannot modify principals or policies. </para><para>Also, with the Modify button unavailable, you cannot modify a principal's
password, even if you have the change password privilege.</para>
</entry>
</row><row><entry><para><literal>c</literal> (change password)</para>
</entry><entry><para>The Password field in the Principal Basics panel is read only and cannot
be changed. Without the change password privilege, you cannot modify a principal's
password. </para><para>Note that even if you have the change password privilege, you must also
have the modify privilege to change a principal's password.</para>
</entry>
</row><row><entry><para><literal>i</literal> (inquiry to database)</para>
</entry><entry><para>The Modify and Duplicate buttons are unavailable in the Principal List
and Policy List panels. Without the inquiry privilege, you cannot modify or
duplicate a principal or a policy. </para><para>Also, with the Modify button unavailable, you cannot modify a principal's
password, even if you have the change password privilege.</para>
</entry>
</row><row><entry><para><literal>l</literal> (list)</para>
</entry><entry><para>The list of principals and policies in the List panels are unavailable.
Without the list privilege, you must use the Name field in the List panels
to specify the principal or the policy that you want to manipulate.</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
</sect1><sect1 id="aadmin-10"><title>Administering Keytab Files</title><indexterm><primary>keytab file</primary><secondary>administering</secondary>
</indexterm><indexterm><primary>administering</primary><secondary>Kerberos</secondary><tertiary>keytabs</tertiary>
</indexterm><indexterm><primary>service keys</primary><secondary>keytab files and</secondary>
</indexterm><indexterm><primary>keys</primary><secondary>service key</secondary>
</indexterm><para>Every host that provides a service must have a local file, called a <emphasis>keytab</emphasis> (short for &ldquo;key table&rdquo;). The keytab contains
the principal for the appropriate service, called a <emphasis>service key</emphasis>.
A service key is used by a service to authenticate itself to the KDC and is
known only by Kerberos and the service itself. For example, if you have a
Kerberized NFS server, that server must have a keytab file that contains its <literal>nfs</literal> service principal.</para><para><indexterm><primary><command>ktadd</command> command</primary><secondary>adding service principal</secondary></indexterm><indexterm><primary>keytab file</primary><secondary>adding service principal to</secondary></indexterm><indexterm><primary><filename>kadm5.keytab</filename> file</primary><secondary>description</secondary></indexterm><indexterm><primary>service principal</primary><secondary>adding to keytab file</secondary></indexterm><indexterm><primary>principal</primary><secondary>adding service principal to keytab</secondary></indexterm>To add
a service key to a keytab file, you add the appropriate service principal
to a host's keytab file by using the <command>ktadd</command> command of <command>kadmin</command>. Because you are adding a service principal to a keytab file,
the principal must already exist in the Kerberos database so that <command>kadmin</command> can verify its existence. On the master KDC,
the keytab file is located at <filename>/etc/krb5/kadm5.keytab</filename>,
by default. On application servers that provide Kerberized services, the
keytab file is located at <filename>/etc/krb5/krb5.keytab</filename>, by default.</para><para>A keytab is analogous to a user's password. Just as it is important
for users to protect their passwords, it is equally important for application
servers to protect their keytab files. You should always store keytab files
on a local disk, and make them readable only by the <literal>root</literal> user.
Also, you should never send a keytab file over an unsecured network. </para><para><indexterm><primary><literal>root</literal> principal</primary><secondary>adding to host's keytab</secondary></indexterm>There is also a special instance in
which to add a <literal>root</literal> principal to a host's keytab file.
If you want a user on the Kerberos client to mount Kerberized NFS file systems
that require root-equivalent access, you must add the client's <literal>root</literal> principal
to the client's keytab file. Otherwise, users must use the <command>kinit</command> command
as <literal>root</literal> to obtain credentials for the client's <literal>root</literal> principal
whenever they want to mount a Kerberized NFS file system with <literal>root</literal> access,
even when they are using the automounter. </para><note><para><indexterm><primary><literal>kadmind</literal> principal</primary></indexterm><indexterm><primary><literal>changepw</literal> principal</primary></indexterm>When you
set up a master KDC, you need to add the <literal>kadmind</literal> and <literal>changepw</literal> principals to the <filename>kadm5.keytab</filename> file.</para>
</note><para><indexterm><primary><command>ktutil</command> command</primary><secondary>administering keytab file</secondary></indexterm><indexterm><primary>keytab file</primary><secondary>administering with <command>ktutil</command> command</secondary></indexterm>Another command that you can use to administer keytab files is
the <command>ktutil</command> command. This interactive command enables you
to manage a local host's keytab file without having Kerberos administration
privileges, because <command>ktutil</command> doesn't interact with the Kerberos
database as <command>kadmin</command> does. So, after a principal is added
to a keytab file, you can use <command>ktutil</command> to view the keylist
in a keytab file or to temporarily disable authentication for a service.</para><note><para>When you change a principal in a keytab file using the <command>ktadd</command> command in <command>kadmin</command>, a new key is generated and
added to the keytab file.</para>
</note><sect2 id="aadmin-227"><title>Administering Keytab Files (Task Map)</title><informaltable frame="all" pgwide="1"><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="110*"/><colspec colname="col2" colwidth="167*"/><colspec colwidth="119*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Add a service principal to a keytab file.</para>
</entry><entry><para>Use the <command>ktadd</command> command of <command>kadmin</command> to
add a service principal to a keytab file.</para>
</entry><entry><para><olink targetptr="aadmin-158" remap="internal">How to Add a Kerberos Service Principal
to a Keytab File</olink></para>
</entry>
</row><row><entry><para>Remove a service principal from a keytab file.</para>
</entry><entry><para>Use the <command>ktremove</command> command of <command>kadmin</command> to
remove a service from a keytab file.</para>
</entry><entry><para><olink targetptr="aadmin-164" remap="internal">How to Remove a Service Principal From
a Keytab File</olink></para>
</entry>
</row><row><entry><para>Display the keylist (list of principals) in a keytab file.</para>
</entry><entry><para>Use the <command>ktutil</command> command to display the keylist in
a keytab file.</para>
</entry><entry><para><olink targetptr="aadmin-193" remap="internal">How to Display the Keylist (Principals)
in a Keytab File</olink></para>
</entry>
</row><row><entry><para>Temporarily disable authentication for a service on a host.</para>
</entry><entry><para>This procedure is a quick way to temporarily disable authentication
for a service on a host without requiring <command>kadmin</command> privileges. </para><para>Before you use <command>ktutil</command> to delete the service principal
from the server's keytab file, copy the original keytab file to a temporary
location. When you want to enable the service again, copy the original keytab
file back to its proper location.</para>
</entry><entry><para><olink targetptr="aadmin-194" remap="internal">How to Temporarily Disable Authentication
for a Service on a Host</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2><task id="aadmin-158"><title>How to Add a Kerberos Service Principal to a
Keytab File</title><indexterm><primary>keytab file</primary><secondary>adding service principal to</secondary>
</indexterm><indexterm><primary>adding</primary><secondary>service principal to keytab file (Kerberos)</secondary>
</indexterm><indexterm><primary>service principal</primary><secondary>adding to keytab file</secondary>
</indexterm><indexterm><primary>principal</primary><secondary>adding service principal to keytab</secondary>
</indexterm><indexterm><primary><command>ktadd</command> command</primary><secondary>adding service principal</secondary>
</indexterm><indexterm><primary><command>kadmin</command> command</primary><secondary><command>ktadd</command> command</secondary>
</indexterm><procedure><step id="seamgadmin-step-296"><para>Make sure that the principal already
exists in the Kerberos database. </para><para>See <olink targetptr="aadmin-12" remap="internal">How
to View the List of Kerberos Principals</olink> for more information.</para>
</step><step id="seamgadmin-step-297"><para>Become superuser on the host that needs
a principal added to its keytab file.</para>
</step><step id="seamgadmin-step-298"><para>Start the <command>kadmin</command> command. </para><screen># <userinput>/usr/sbin/kadmin</userinput></screen>
</step><step id="seamgadmin-step-299"><para><indexterm><primary><command>ktadd</command> command</primary><secondary>syntax</secondary></indexterm>Add a principal to a keytab
file by using the <command>ktadd</command> command.</para><screen>kadmin: <userinput>ktadd</userinput> [<userinput>-e</userinput> <replaceable>enctype</replaceable>] [<userinput>-k</userinput> <replaceable>keytab</replaceable>] [<userinput>-q</userinput>] [<replaceable>principal</replaceable> | <userinput>-glob</userinput> <replaceable>principal-exp</replaceable>]</screen><variablelist><varlistentry><term><option>e</option> <replaceable>enctype</replaceable></term><listitem><para>Overrides the list of encryption types defined in the <filename>krb5.conf</filename> file.</para>
</listitem>
</varlistentry><varlistentry><term><option>k</option> <replaceable>keytab</replaceable></term><listitem><para>Specifies the keytab file. By default, <filename>/etc/krb5/krb5.keytab</filename> is used.</para>
</listitem>
</varlistentry><varlistentry><term><option>q</option></term><listitem><para>Displays less verbose information.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>principal</replaceable></term><listitem><para>Specifies the principal to be added to the keytab file. You
can add the following service principals: <literal>host</literal>, <literal>root</literal>, <literal>nfs</literal>, and <literal>ftp</literal>.</para>
</listitem>
</varlistentry><varlistentry><term><option>glob</option> <replaceable>principal-exp</replaceable></term><listitem><para>Specifies the principal expressions. All principals that match
the <replaceable>principal-exp</replaceable> are added to the keytab file.
The rules for principal expression are the same as for the <command>list_principals</command> command of <command>kadmin</command>. </para>
</listitem>
</varlistentry>
</variablelist>
</step><step id="seamgadmin-step-300"><para>Quit the <command>kadmin</command> command.</para><screen>kadmin: <userinput>quit</userinput></screen>
</step>
</procedure><example id="ehgaw"><title>Adding a Service Principal to a Keytab File</title><para>In the following example, the <literal>kadmin/kdc1.example.com</literal> and <literal>changepw/kdc1.example.com</literal> principals are added to a master KDC's
keytab file. For this example, the keytab file must be the file that is specified
in the <filename>kdc.conf</filename> file.</para><screen remap="wide">kdc1 # <userinput>/usr/sbin/kadmin.local</userinput>
kadmin.local: <userinput>ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc1.example.com changepw/kdc1.example.com</userinput>
Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type AES-256 CTS mode
          with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type AES-128 CTS mode
          with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type Triple DES cbc
          mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type ArcFour
          with HMAC/md5 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal kadmin/kdc1.example.com with kvno 3, encryption type DES cbc mode
          with RSA-MD5 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal changepw/kdc1.example.com with kvno 3, encryption type AES-256 CTS
          mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal changepw/kdc1.example.com with kvno 3, encryption type AES-128 CTS
          mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal changepw/kdc1.example.com with kvno 3, encryption type Triple DES cbc
          mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal changepw/kdc1.example.com with kvno 3, encryption type ArcFour
          with HMAC/md5 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
Entry for principal changepw/kdc1.example.com with kvno 3, encryption type DES cbc mode
          with RSA-MD5 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
kadmin.local: <userinput>quit</userinput></screen><para>In the following example, <literal>denver</literal>'s <literal>host</literal> principal
is added to <literal>denver</literal>'s keytab file, so that the KDC can authenticate <literal>denver</literal>'s network services.</para><screen remap="wide">denver # <userinput>/usr/sbin/kadmin</userinput>
kadmin: <userinput>ktadd host/denver.example.com</userinput>
Entry for principal host/denver.example.com with kvno 3, encryption type AES-256 CTS
          mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal host/denver.example.com with kvno 3, encryption type AES-128 CTS mode
          with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal host/denver.example.com with kvno 3, encryption type Triple DES cbc mode
          with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal host/denver.example.com with kvno 3, encryption type ArcFour
          with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal host/denver.example.com with kvno 3, encryption type DES cbc mode
          with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
kadmin: <userinput>quit</userinput></screen>
</example>
</task><task id="aadmin-164"><title>How to Remove a Service Principal From a Keytab
File</title><indexterm><primary>keytab file</primary><secondary>removing service principal from</secondary>
</indexterm><indexterm><primary>removing</primary><secondary>service principal from keytab file</secondary>
</indexterm><indexterm><primary>service principal</primary><secondary>removing from keytab file</secondary>
</indexterm><indexterm><primary>principal</primary><secondary>removing service principal from keytab</secondary>
</indexterm><indexterm><primary><command>kadmin</command> command</primary><secondary>removing principals from keytab with</secondary>
</indexterm><procedure><step id="seamgadmin-step-301"><para>Become superuser on the host with a service
principal that must be removed from its keytab file.</para>
</step><step id="seamgadmin-step-302"><para>Start the <command>kadmin</command> command. </para><screen># <userinput>/usr/sbin/kadmin</userinput></screen>
</step><step performance="optional" id="aadmin-step-164"><para><indexterm><primary><command>ktutil</command> command</primary><secondary>viewing list of principals</secondary></indexterm><indexterm><primary>keytab file</primary><secondary>viewing contents with <command>ktutil</command> command</secondary></indexterm>To display the
current list of principals (keys) in the keytab file, use the <command>ktutil</command> command. </para><para>See <olink targetptr="aadmin-193" remap="internal">How to Display the Keylist
(Principals) in a Keytab File</olink> for detailed instructions.</para>
</step><step id="seamgadmin-step-303"><para><indexterm><primary><command>ktremove</command> command</primary></indexterm><indexterm><primary>keytab file</primary><secondary>removing principals with <command>ktremove</command> command</secondary></indexterm><indexterm><primary>removing</primary><secondary>principals with <command>ktremove</command> command</secondary></indexterm><indexterm><primary>principal</primary><secondary>removing from keytab file</secondary></indexterm><indexterm><primary><command>kadmin</command> command</primary><secondary><command>ktremove</command> command</secondary></indexterm>Remove
a principal from the keytab file by using the <command>ktremove</command> command.</para><screen>kadmin: <userinput>ktremove</userinput> [<userinput>-k</userinput> <replaceable>keytab</replaceable>] [<userinput>-q</userinput>] <replaceable>principal</replaceable> [<replaceable>kvno</replaceable> | <userinput>all</userinput> | <userinput>old</userinput> ]</screen><variablelist><varlistentry><term><option>k</option> <replaceable>keytab</replaceable></term><listitem><para>Specifies the keytab file. By default, <filename>/etc/krb5/krb5.keytab</filename> is used.</para>
</listitem>
</varlistentry><varlistentry><term><option>q</option></term><listitem><para>Displays less verbose information.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>principal</replaceable></term><listitem><para>Specifies the principal to be removed from the keytab file.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>kvno</replaceable></term><listitem><para>Removes all entries for the specified principal whose key
version number matches <replaceable>kvno</replaceable>.</para>
</listitem>
</varlistentry><varlistentry><term><literal>all</literal></term><listitem><para>Removes all entries for the specified principal.</para>
</listitem>
</varlistentry><varlistentry><term><literal>old</literal></term><listitem><para>Removes all entries for the specified principal, except those
principals with the highest key version number.</para>
</listitem>
</varlistentry>
</variablelist>
</step><step id="seamgadmin-step-304"><para>Quit the <command>kadmin</command> command.</para><screen>kadmin: <userinput>quit</userinput></screen>
</step>
</procedure><example id="ehgat"><title>Removing a Service Principal From a Keytab File</title><para>In the following example, <literal>denver</literal>'s <literal>host</literal> principal
is removed from <literal>denver</literal>'s keytab file.</para><screen>denver # <userinput>/usr/sbin/kadmin</userinput>
kadmin: <userinput>ktremove host/denver.example.com@EXAMPLE.COM</userinput>
kadmin: Entry for principal host/denver.example.com@EXAMPLE.COM with kvno 3
  removed from keytab WRFILE:/etc/krb5/krb5.keytab.
kadmin: <userinput>quit</userinput></screen>
</example>
</task><task id="aadmin-193"><title>How to Display the Keylist (Principals) in a
Keytab File</title><indexterm><primary><command>ktutil</command> command</primary><secondary>viewing list of principals</secondary>
</indexterm><indexterm><primary>keytab file</primary><secondary>viewing contents with <command>ktutil</command> command</secondary>
</indexterm><procedure><step id="seamgadmin-step-305"><para>Become superuser on the host with the
keytab file.</para><note><para>Although you can create keytab files that are owned by other users,
using the default location for the keytab file requires <literal>root</literal> ownership. </para>
</note>
</step><step id="seamgadmin-step-306"><para>Start the <command>ktutil</command> command.</para><screen># <userinput>/usr/bin/ktutil</userinput></screen>
</step><step id="seamgadmin-step-307"><para><indexterm><primary><command>read_kt</command> command</primary></indexterm><indexterm><primary>keytab file</primary><secondary>read into keytab buffer with <command>read_kt</command> command</secondary></indexterm><indexterm><primary><command>ktutil</command> command</primary><secondary><command>read_kt</command> command</secondary></indexterm>Read
the keytab file into the keylist buffer by using the <command>read_kt</command> command.</para><screen>ktutil: <userinput>read_kt</userinput> <replaceable>keytab</replaceable></screen>
</step><step id="seamgadmin-step-308"><para><indexterm><primary><command>list</command> command</primary></indexterm><indexterm><primary>viewing</primary><secondary>keylist buffer with <command>list</command> command</secondary></indexterm><indexterm><primary>keytab file</primary><secondary>viewing keylist buffer with <command>list</command> command</secondary></indexterm><indexterm><primary><command>ktutil</command> command</primary><secondary><command>list</command> command</secondary></indexterm>Display
the keylist buffer by using the <command>list</command> command.</para><screen>ktutil: <userinput>list</userinput></screen><para>The current keylist buffer is displayed.</para>
</step><step id="seamgadmin-step-309"><para>Quit the <command>ktutil</command> command.</para><screen>ktutil: <userinput>quit</userinput></screen>
</step>
</procedure><example id="ehgau"><title>Displaying the Keylist (Principals) in a Keytab File</title><para>The following example displays the keylist in the <filename>/etc/krb5/krb5.keytab</filename> file on the <literal>denver</literal> host.</para><screen>denver # <userinput>/usr/bin/ktutil</userinput>
    ktutil: <userinput>read_kt /etc/krb5/krb5.keytab</userinput>
    ktutil: <userinput>list</userinput>
slot KVNO Principal
---- ---- ---------------------------------------
   1    5 host/denver@EXAMPLE.COM
    ktutil: <userinput>quit</userinput></screen>
</example>
</task><task id="aadmin-194"><title>How to Temporarily Disable Authentication for
a Service on a Host</title><indexterm><primary>hosts</primary><secondary>disabling Kerberos service on</secondary>
</indexterm><indexterm><primary>service</primary><secondary>disabling on a host</secondary>
</indexterm><indexterm><primary>disabling</primary><secondary>service on a host (Kerberos)</secondary>
</indexterm><tasksummary><para>At times, you might need to temporarily disable the authentication mechanism
for a service, such as <command>rlogin</command> or <command>ftp</command>,
on a network application server. For example, you might want to stop users
from logging in to a system while you are performing maintenance procedures.
The <command>ktutil</command> command enables you to accomplish this task
by removing the service principal from the server's keytab file, without requiring <command>kadmin</command> privileges. To enable authentication again, you just need
to copy the original keytab file that you saved back to its original location.</para><note><para>By default, most services are set up to require authentication.
If a service is not set up to require authentication, then the service still
works, even if you disable authentication for the service.</para>
</note>
</tasksummary><procedure><step id="seamgadmin-step-310"><para>Become superuser on the host with the
keytab file.</para><note><para>Although you can create keytab files that are owned by other users,
using the default location for the keytab file requires <literal>root</literal> ownership. </para>
</note>
</step><step id="seamgadmin-step-311"><para>Save the current keytab file to a temporary
file.</para>
</step><step id="seamgadmin-step-312"><para>Start the <command>ktutil</command> command.</para><screen># <userinput>/usr/bin/ktutil</userinput></screen>
</step><step id="seamgadmin-step-313"><para><indexterm><primary><command>read_kt</command> command</primary></indexterm><indexterm><primary>keytab file</primary><secondary>read into keytab buffer with <command>read_kt</command> command</secondary></indexterm><indexterm><primary><command>ktutil</command> command</primary><secondary><command>read_kt</command> command</secondary></indexterm>Read
the keytab file into the keylist buffer by using the <command>read_kt</command> command.</para><screen>ktutil: <userinput>read_kt</userinput> <replaceable>keytab</replaceable></screen>
</step><step id="seamgadmin-step-314"><para><indexterm><primary>viewing</primary><secondary>keylist buffer with <command>list</command> command</secondary></indexterm><indexterm><primary><command>list</command> command</primary></indexterm><indexterm><primary>keytab file</primary><secondary>viewing keylist buffer with <command>list</command> command</secondary></indexterm><indexterm><primary><command>ktutil</command> command</primary><secondary><command>list</command> command</secondary></indexterm>Display the keylist buffer by using the <command>list</command> command.</para><screen>ktutil: <userinput>list</userinput></screen><para>The current keylist buffer is displayed. Note the slot number for the
service that you want to disable.</para>
</step><step id="seamgadmin-step-315"><para><indexterm><primary><command>delete_entry</command> command</primary><secondary><command>ktutil</command> command</secondary></indexterm><indexterm><primary>deleting</primary><secondary>host's service</secondary></indexterm><indexterm><primary>keytab file</primary><secondary>disabling a host's service with <command>delete_entry</command> command</secondary></indexterm><indexterm><primary><command>ktutil</command> command</primary><secondary><command>delete_entry</command> command</secondary></indexterm>To temporarily disable a host's service, remove the
specific service principal from the keylist buffer by using the <literal>delete_entry</literal> command.</para><screen>ktutil: <userinput>delete_entry</userinput> <replaceable>slot-number</replaceable></screen><para>Where <replaceable>slot-number</replaceable> specifies the slot number
of the service principal to be deleted, which is displayed by the <literal>list</literal> command.</para>
</step><step id="seamgadmin-step-316"><para>Write the keylist buffer to a new keytab
file by using the <command>write_kt</command> command.</para><screen>ktutil: <userinput>write_kt</userinput> <replaceable>new-keytab</replaceable></screen>
</step><step id="seamgadmin-step-317"><para>Quit the <command>ktutil</command> command.</para><screen>ktutil: <userinput>quit</userinput></screen>
</step><step><para>Move the new keytab file.</para><screen># mv <replaceable>new-keytab</replaceable> <replaceable>keytab</replaceable></screen>
</step><step id="seamgadmin-step-318"><para>When you want to re-enable the service,
copy the temporary (original) keytab file back to its original location.</para>
</step>
</procedure><example id="ehgav"><title>Temporarily Disabling a Service on a Host</title><para>In the following example, the <literal>host</literal> service on the <literal>denver</literal> host is temporarily disabled. To re-enable the host service
on <literal>denver</literal>, you would copy the <filename>krb5.keytab.temp</filename> file
to the <filename>/etc/krb5/krb5.keytab</filename> file.</para><screen>denver # <userinput>cp /etc/krb5/krb5.keytab /etc/krb5/krb5.keytab.temp</userinput>
denver # <userinput>/usr/bin/ktutil</userinput>
    ktutil:<userinput>read_kt /etc/krb5/krb5.keytab</userinput>
    ktutil:<userinput>list</userinput>
slot KVNO Principal
---- ---- ---------------------------------------
   1    8 root/denver@EXAMPLE.COM
   2    5 host/denver@EXAMPLE.COM
    ktutil:<userinput>delete_entry 2</userinput>
    ktutil:<userinput>list</userinput>
slot KVNO Principal
---- ---- --------------------------------------
   1    8 root/denver@EXAMPLE.COM
    ktutil:<userinput>write_kt /etc/krb5/new.krb5.keytab</userinput>
    ktutil: <userinput>quit</userinput>
denver # <userinput>cp /etc/krb5/new.krb5.keytab /etc/krb5/krb5.keytab</userinput></screen>
</example>
</task>
</sect1>
</chapter>