Freeipa 1.2.1 Administration Guide: Ipa Solutions From The Ipa Experts
Freeipa 1.2.1 Administration Guide: Ipa Solutions From The Ipa Experts
Freeipa 1.2.1 Administration Guide: Ipa Solutions From The Ipa Experts
1
Administration Guide
IPA Solutions from the IPA Experts
Administration Guide
Copyright © 2008 Red Hat. This material may only be distributed subject to the terms and conditions
set forth in the Open Publication License, V1.0 or later. The latest version of the OPL is presently
available at http://www.opencontent.org/openpub/.
Red Hat and the Red Hat "Shadow Man" logo are registered trademarks of Red Hat, Inc. in the United
States and other countries.
All other trademarks referenced herein are the property of their respective owners.
CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E
This guide details the tasks and procedures necessary for administering your IPA deployment. It also
provides information on how to customize IPA to suit your environment, and information on how to
troubleshoot common problems.
Preface v
1. Audience ........................................................................................................................ v
2. Document Conventions ................................................................................................... v
2.1. Typographic Conventions ...................................................................................... v
2.2. Pull-quote Conventions ........................................................................................ vi
2.3. Notes and Warnings ............................................................................................ vii
3. We Need Feedback! ..................................................................................................... viii
1. Configuring Users and Groups 1
1.1. Managing User Accounts .............................................................................................. 1
1.1.1. Creating User Accounts ..................................................................................... 1
1.1.2. Editing User Accounts ....................................................................................... 3
1.1.3. Activating and Inactivating User Accounts ........................................................... 4
1.1.4. Deleting User Accounts ..................................................................................... 5
1.2. Managing Groups ......................................................................................................... 5
1.2.1. Creating Groups ................................................................................................ 6
1.2.2. Editing Groups .................................................................................................. 8
1.2.3. Activating and Inactivating Groups ...................................................................... 9
1.2.4. Deleting Groups .............................................................................................. 10
2. Configuring Authentication 11
2.1. Managing Certificates and Certificate Authorities .......................................................... 11
2.1.1. Installing Your Own Certificate .......................................................................... 11
2.1.2. Using Your Own Certificate with Firefox ............................................................ 11
2.2. Managing Service Principals ....................................................................................... 12
2.2.1. Service Principals and Key Tables (keytabs) ...................................................... 12
2.2.2. Creating and Using Service Principals .............................................................. 13
2.2.3. Configuring NFS on the IPA Server .................................................................. 13
3. Configuring Authorization 15
3.1. Configuring Access Control ......................................................................................... 15
3.1.1. Configuring Delegation ..................................................................................... 15
3.1.2. Configuring Host-Based Access Control ............................................................ 16
3.2. Managing IPA Policy .................................................................................................. 17
3.2.1. Specifying Search Settings ............................................................................... 17
3.2.2. Specifying the Password Policy ........................................................................ 18
3.2.3. Specifying User Settings .................................................................................. 21
4. Configuring Applications to use Kerberos with IPA 25
4.1. Configuring Apache for Kerberos Authentication ........................................................... 25
5. Customizing Your IPA Deployment 27
5.1. Extending the Directory Schema ................................................................................. 27
5.2. Modifying the IPA Directory Information Tree (DIT) ....................................................... 27
6. Backup and Recovery 29
6.1. Backing Up Your IPA Deployment ............................................................................... 29
6.2. Recovering From a Failure ......................................................................................... 29
7. Troubleshooting 31
7.1. Kerberos Problems ..................................................................................................... 31
7.1.1. Basic Kerberos Testing .................................................................................... 31
7.1.2. Changing Kerberos Password Problems ........................................................... 31
7.2. SSH Connection Problems .......................................................................................... 32
7.2.1. System Appears to Hang ................................................................................. 32
iii
Administration Guide
iv
Preface
Welcome to the IPA Administration Guide. This guide provides the information necessary to administer
your IPA deployment. It includes detailed information on working with user and group accounts, how to
set up and manage the password policy, and how to configure various types of access control. It also
covers basic troubleshooting techniques to help you resolve any issues that might arise.
1. Audience
The IPA Administration Guide is intended for system administrators and those involved in the ongoing
maintenance of IPA.
This guide assumes a good understanding of various operating systems, including Linux, Solaris
and other UNIX systems, Macintosh and Microsoft Windows. It also assumes a working knowledge
of LDAP and Directory Server.
2. Document Conventions
This manual uses several conventions to highlight certain words and phrases and draw attention to
specific pieces of information.
1
In PDF and paper editions, this manual uses typefaces drawn from the Liberation Fonts set. The
Liberation Fonts set is also used in HTML editions if the set is installed on your system. If not,
alternative but equivalent typefaces are displayed. Note: Red Hat Enterprise Linux 5 and later includes
the Liberation Fonts set by default.
Mono-spaced Bold
Used to highlight system input, including shell commands, file names and paths. Also used to highlight
key caps and key-combinations. For example:
To see the contents of the file my_novel in your current working directory, enter the
cat my_novel command at the shell prompt and then press Enter.
The above example includes a file name, a shell command and a key cap, all presented in Mono-
spaced Bold and all distinguishable thanks to context.
Key-combinations can be distinguished from key caps by the hyphen connecting each part of a key-
combination. For example:
Press Ctrl-Alt-F1 to switch to the first virtual terminal. Press Ctrl-Alt-F7 to return
to your X-Windows session.
The first sentence highlights the particular key cap to press. The second highlights two sets of three
key caps, each set pressed simultaneously.
1
https://fedorahosted.org/liberation-fonts/
v
Preface
If source code is discussed, class names, methods, functions, variable names and returned values
mentioned within a paragraph will be presented as above, in Mono-spaced Bold. For example:
File-related classes include filesystem for file systems, file for files, and dir for
directories. Each class has its own associated set of permissions.
Proportional Bold
This denotes words or phrases encountered on a system, including application names; dialogue
box text; labelled buttons; check-box and radio button labels; menu titles and sub-menu titles. For
example:
Choose System > Preferences > Mouse from the main menu bar to launch Mouse
Preferences. In the Buttons tab, click the Left-handed mouse check box and click
Close to switch the primary mouse button from the left to the right (making the mouse
suitable for use in the left hand).
The above text includes application names; system-wide menu names and items; application-specific
menu names; and buttons and text found within a GUI interface, all presented in Proportional Bold and
all distinguishable by context.
Note the > shorthand used to indicate traversal through a menu and its sub-menus. This avoids the
difficult-to-follow 'Select Mouse from the Preferences sub-menu in the System menu of the main
menu bar' approach.
Whether Mono-spaced Bold or Proportional Bold, the addition of Italics indicates replaceable or
variable text. Italics denotes text you do not input literally or displayed text that changes depending on
circumstance. For example:
To see the version of a currently installed package, use the rpm -q package
command. It will return a result as follows: package-version-release.
Note the words in bold italics above — username, domain.name, package, version and release. Each
word is a placeholder, either for text you enter when issuing a command or for text displayed by the
system.
Aside from standard usage for presenting the title of a work, italics denotes the first use of a new or
important term. For example:
When the Apache HTTP Server accepts requests, it dispatches child processes
or threads to handle them. This group of child processes or threads is known as
a server-pool. Under Apache HTTP Server 2.0, the responsibility for creating and
maintaining these server-pools has been abstracted to a group of modules called
Multi-Processing Modules (MPMs). Unlike other modules, only one module from the
MPM group can be loaded by the Apache HTTP Server.
vi
Notes and Warnings
Source-code listings are also set in Mono-spaced Roman but are presented and highlighted as
follows:
package org.jboss.book.jca.ex1;
import javax.naming.InitialContext;
System.out.println("Created Echo");
Note
A Note is a tip or shortcut or alternative approach to the task at hand. Ignoring a note
should have no negative consequences, but you might miss out on a trick that makes your
life easier.
Important
Important boxes detail things that are easily missed: configuration changes that only
apply to the current session, or services that need restarting before an update will apply.
Ignoring Important boxes won't cause data loss but may cause irritation and frustration.
vii
Preface
Warning
A Warning should not be ignored. Ignoring warnings will most likely cause data loss.
3. We Need Feedback!
If you find a typographical error in this manual, or if you have thought of a way to make this manual
better, we would love to hear from you! Please submit a report in Bugzilla: https://bugzilla.redhat.com/
enter_bug.cgi?product=freeIPA against the Documentation component.
When submitting a bug report, be sure to mention the manual's identifier: Administration_Guide
If you have a suggestion for improving the documentation, try to be as specific as possible when
describing it. If you have found an error, please include the section number and some of the
surrounding text so we can find it easily.
viii
Chapter 1.
You can use either the web interface or the command line to manage user accounts. Each interface
provides identical functionality, however the web interface displays a greater range of information for
each user in an easy to use format.
The web interface displays mandatory fields in a different color. Certain other fields, such as Common
Name, Display Name, Initials, Login, and E-mail Address, are populated automatically. You can
change these values as required. The UID, GID, and Home Directory are automatically generated by
the server.
If you use the command line to add user accounts, you will be prompted for any required information.
Refer to Section 3.2.3.2, “User Setting Attributes” for information on the attributes that apply to user
accounts, and especially for information regarding users' /home directories.
Note
IPA supports a wide range of username formats, but you need to be aware of any
restrictions that may apply to your particular environment. For example, a username that
starts with a digit may cause problems for some UNIX systems.
The range of username formats supported by IPA can be described by the following
regular expression:
[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]
1
Chapter 1. Configuring Users and Groups
3. If required, add the user account to a group. All users are automatically added to the global group
ipausers.
Note
You can configure the global group to suit your deployment. For example, you may
prefer to change its name to include your company name.
4. When you have entered the required account details, click Add User.
Note
It is not essential to provide a password when you create an account. For example, you
might create an account for a service (rather than a user), and such an account may not
require a password. For a user account, however, you need to provide an initial password
so that the user can log in to their account. Users are required to change their initial
password the first time they log in.
The following example illustrates using the web interface to add the Identity and Account details for a
new user.
2
Editing User Accounts
Procedure 1.2. To create the user jlamb using the command line:
• Open a shell and run the following command:
The following example illustrates using the ipa-adduser command in interactive mode to create a
user account:
$ /usr/sbin/ipa-adduser
First name: Jinny
Last name: Pattanajee
Login name: jpattan
gecos[]: Jinny Pattanajee
home directory [/home/jpattan]:
shell [/bin/sh]:
jpattan successfully added
Press Enter at each prompt to accept the default values (enclosed in square brackets), or type an
alternative.
2. Enter the name or a key word of the user that you want to edit in the search field, and click Find
Users.
3. In the search results, click the name of the user that you want to edit. The user is displayed on
the View User page. If the user does not appear in the search results, try using broader search
terms.
4. Click Edit User to display the Edit User page, where you can edit user attributes.
5. Edit the user attributes as required, and click Update User. Note that not all fields are
immediately editable; select the Edit Protected Fields check box to edit the Password, Home
Directory, and some other fields.
3
Chapter 1. Configuring Users and Groups
Warning
It is possible to edit the UID and GID of user accounts, however this is not recommended.
Changing these IDs will not cause problems internally for IPA, but it can lead to other
issues, such as changes to file ownership and security problems.
To update the Zip code, Display Name, and Employee Type for the user jsmith:
$ /usr/sbin/ipa-moduser --set postalCode=50211 --set displayName="John
Smith" --set employeeType=permanent jsmith
To remove the Pager and Home Phone attributes from the same user:
$ /usr/sbin/ipa-moduser --del pager --del homePhone jsmith
To retrieve a partial list of the default attributes that you can manage with ipa-
moduser:
$ /usr/sbin/ipa-moduser --list
The list of attributes corresponds to those available in the web interface, not including any custom
attributes that may have been defined.
2. Click Edit User to display the Edit User page, where you can edit user attributes.
3. In the Account Details section, select inactive in the Account Status drop-down list, and then
click Update User.
The account remains inactive and inaccessible to the user until reactivated by an IPA Administrator.
4
Deleting User Accounts
Unlike inactivation, if you delete a user account, it cannot be retrieved. If you need this user account
again, you need to recreate it and add all of the account details manually.
Note
You cannot delete or rename the admin account, nor can you remove it from the admins
group.
The IPA Administrator is a member of the admins group. You cannot delete the IPA Administrator, nor
can you remove this user from this group. All other users belong to the global group ipausers, and
you can create as many additional groups as you require.
5
Chapter 1. Configuring Users and Groups
Note
Some operating systems limit the number of groups that you can create. For example,
Solaris and AIX allow only 16 groups per user. IPA Administrators need to be aware of
this limitation, especially when using nested groups.
The editors group is a special group used by the web interface. Members of this group have at least
one delegation, which means they can edit records apart from their own.
You can create groups based on the departments within your organization, for example, Devel,
Finance, and HR. You can also create groups based on the permissions, or roles, required to manage
your departmental or other groups. Refer to Section 3.1, “Configuring Access Control” for information
on using groups to define roles.
Nested Groups
You can also create nested groups. For example, you can create a group called "Documentation", and
then create sub-groups such as "Writers", "Translators", and "Editors". You can add users to each of
the sub-groups to suit the needs of your organization.
Note
Any users that you add to a sub-group automatically become members of the parent
group.
Warning
Avoid the creation of cyclic groups; that is, groups that contain groups that in turn contain
their own ancestors, and avoid creating group names that contain spaces. Either of these
conditions can lead to unexpected behavior.
Refer to Section 3.1, “Configuring Access Control” for information on using groups to define roles.
2. Enter a name and description for the group. The GID (Group ID) is automatically generated by the
IPA server.
a. Enter the login name or other search term in the To Add field, and click Find.
b. Locate the users that you want to include in this group, and click add.
6
Creating Groups
4. When you have finished adding members, click Add Group to return to the View Group page,
and display details of the newly-added group.
$ /usr/sbin/ipa-addgroup
Group name: Engineering
Description: All members of the engineering group
Engineering successfully added
7
Chapter 1. Configuring Users and Groups
The group name and description are mandatory fields. If either of these are not included on the
command-line, you will be prompted to include them.
Note
You cannot add users to a newly-created group using the ipa-addgroup command. You
first need to create the group, and then use the ipa-modgroup command to add users.
For example:
2. Enter the name or a key word of the group that you want to edit in the search field, and click Find
Groups.
3. In the search results, click the name of the group that you want to edit. The group is displayed
on the View Group page. If the group does not appear in the search results, try using broader
search terms.
4. Click Edit Group to display the Edit Group page, where you can edit group attributes.
5. Edit the group attributes as required, and click Update Group. Note that if you want to change the
Name or GID of the group, you need to select the Edit Protected Fields check box.
Warning
Do not change the Group Name or GID unless absolutely necessary, because it can have
unexpected effects on permissions, ACIs, and other aspects of IPA functionality.
If you rename a group used in an ACI, the ACI itself is not updated, the result being that
the group will fall out of the ACI scope. To avoid this issue, ensure that any changes to
group names are reflected in IPA Delegations. IPA does not currently support per-user
ACIs, so this issue only affects groups.
8
Activating and Inactivating Groups
This also applies to nested groups. If you inactivate a group, then any sub-groups are also inactivated,
as are their members. Within these inactive groups, however, you can manually activate individual
users or groups if required.
Note
You cannot inactivate the admins group.
3. Select inactive in the Group Status drop-down list, and then click Update Group.
9
Chapter 1. Configuring Users and Groups
When you delete a group, any delegations that apply to that group are also removed. For example,
suppose you added an "EngineeringManager" group specifically to set up delegations for the
Engineering Manager. If you delete the EngineeringManager group, then those delegations are also
lost. Unlike with inactivation, these cannot be retrieved. If you need this group and delegation again,
you need to recreate them.
10
Chapter 2.
Configuring Authentication
2.1. Managing Certificates and Certificate Authorities
IPA creates a self-signed Certificate Authority (CA) during the installation process. If you have your
own or a preferred CA, however, and want to use your own certificates, IPA provides the necessary
tools to import certificates for use by Directory Server and the HTTP server. While not a prerequisite for
the correct operation of IPA, it is recommended that you save an ASCII copy of your CA certificate as
/usr/share/ipa/html/ca.crt to ensure that users download the correct certificate.
Note
The following procedure assumes that the signing certificate is provided as a PKCS#12
file.
# mkdir /tmp/signdb
# /usr/bin/certutil -N -d /tmp/signdb
# mkdir /tmp/sign
# cp /usr/share/ipa/html/preferences.html /tmp/sign
11
Chapter 2. Configuring Authentication
6. Use the certificate you created earlier to sign the javascript file and to regenerate the
configure.jar file.
Service principals are typically released per service, although it is possible for one service principal to
be used for more than one service.
For example, if a user tries to mount an NFS directory using Kerberos, then both the NFS server and
the user require a valid principal, and share a secret key with the KDC. This is established during the
IPA NFS configuration on the server. If the secret key is replaced on the server, for example, by getting
a new keytab, then you must export the new keytab to any clients that need NFS mount access to the
server.
• Mode: 0600
For example, set the owner of the Apache keytab (/etc/httpd/conf/ipa.keytab) to httpd and
the mode to 0600.
Warning
Clients attempting to mount NFS exports rely on the existence of a valid principal and
secret key on both the NFS server and the client machine.
12
Creating and Using Service Principals
Failure to export an updated keytab can cause problems that are difficult to isolate. For
example, existing service connections may continue to function, but no new connections
may be possible.
Due to the critical role that keytabs play in authenticating users and services, and the
issues that can arise if they are compromised, ensure that all keytab files are appropriately
secured, and have suitable file ownership and permissions established.
The following example demonstrates creating a service principal and keytab on a client machine
for the SSH service. The client machine is ipaclient.example.com and the IPA server is
ipaserver.example.com:
# kinit admin
# ipa-addservice host/ipaclient.example.com@EXAMPLE.COM
Note
The realm name is optional. The IPA server automatically appends the Kerberos realm
for which it is configured. You cannot specify a different realm.
The hostname must resolve to a DNS A record for it to work with Kerberos. You can use
the --force flag to force the creation of a principal should this prove necessary.
The ipa-getkeytab command is part of the ipa-client package, which is only available
for clients running Red Hat Enterprise Linux 4 or 5, Fedora 7, 8, or 9. For other clients,
you need to use this procedure on the server and manually copy the keytab to the client.
You can use the -e flag to include a comma-separated list of encryption types to include
in the keytab. This supersedes any default encryption type. Refer to the ipa-getkeytab
man page for more information.
Warning
The ipa-getkeytab command resets the secret for the specified principal. This means
that all other keytabs for that principal are rendered invalid.
13
Chapter 2. Configuring Authentication
# mkdir /export
/export *(rw,fsid=0,insecure,no_subtree_check)
/export gss/krb5(rw,fsid=0,insecure,no_subtree_check)
/export gss/krb5i(rw,fsid=0,insecure,no_subtree_check)
/export gss/krb5p(rw,fsid=0,insecure,no_subtree_check)
SECURE_NFS=yes
# ipa-addservice nfs/ipaserver.example.com
Note
The LinuxNFS implementation still has limited encryption type support. You may
need to use the -e des-cbc-crc option to the ipa-getkeytab command for any
nfs/<FQDN> service keytab you want to set up, both on the server and on all clients.
This instructs the KDC to generate only DES keys.
5. Run the following commands to reload the NFS configuration and restart the required services:
# exportfs -a
# restart services
14
Chapter 3.
Configuring Authorization
3.1. Configuring Access Control
IPA provides different mechanisms to support different types of access control. Host-Based Access
Control provides a means of specifying which users can log in on which machines, while Delegation
provides a means of controlling access to identity data.
When the IPA server is initially configured, it creates an administrative account named admin. Use
this initial account to create any further administrative or other accounts that your deployment requires.
Important
The admin account is created in the cn=users,cn=accounts container, the same as
all other users. However, the admin account cannot be deleted or renamed, nor can it be
removed from the admins group.
You normally delegate access control to a group, or role. For example, you might create one group
called "EngineeringManager" and another called "OfficeManager", as dedicated groups for the
Engineering Manager and Office Manager, respectively.
You would then create a delegation to specify the permissions associated with each group. An
Engineering Manager might be able to modify the attributes of everyone in the Engineering group, and
the Office Manager would be able to change details such as the office fax number, office contacts, and
other office-related details.
When you add the Engineering Manager to the EngineeringManager group, that user automatically
gains all of the associated permissions. If the person holding that position changes, you simply change
the groups that the user belongs to. There is no need to modify any other values.
2. Create the group over which this group should have administrative privileges (the target).
3. On the IPA homepage, click Delegations in the Tasks list to open the Delegations page.
5. In the Delegation Name field, type a descriptive name for the delegation.
15
Chapter 3. Configuring Authorization
6. In the People in Group field, enter the CN of the group or type a suitable search term and click
Find. This is where you select the source, or the group that will receive the delegation.
7. In the search results, click the required group name. If the required group does not appear in the
search results, try using broader search terms.
8. In the Can Modify list, select the appropriate check boxes for the delegations that you want to
apply. For example, you can specify that this group can modify the home directory, login shell, and
organizational unit of its subjects.
9. In the For People in Group field, enter the CN of the group or type a suitable search term and
click Find. This is where you select the target, or the group that will be subject to the delegation.
Note
You can only create a delegation for one target at a time. If you require that a source have
administrative control over several targets, you need to create a separate delegation for
each target.
The following diagram illustrates creating a delegation for the Engineering Manager over the
Engineering group.
16
Managing IPA Policy
+ : root : ALL
+ : ipausers : ALL
- : ALL : ALL
• IPA administrators can not log in (because the admin account is not a member of the ipausers
group).
Note
This example only demonstrates the procedures required to configure host-based access
control. It is not intended as a recommended configuration. You need to design your own
configuration based on the requirements of your site.
• Search Time Limit: The maximum time, in seconds, that a search will run before failing.
• Search Records Limit: The maximum number of records that a search can return. Set this value to
zero (0) to specify no limit. The directory server limit (the default value is 2000) still applies.
• User Search Fields: For a user search, specifies the fields to search for the values entered by a
user.
17
Chapter 3. Configuring Authorization
• Group Search Fields: For a group search, specifies the fields to search for the values entered by a
user.
If you add attributes to the user or group search fields, you should also create a new LDAP index for
those attributes to avoid performance degradation. Conversely, the existence of too many indexes can
impact write performance, so you need to balance one against the other.
1
Refer to Creating Indexes in the Directory Server Administration Guide for information on creating
indexes.
3.2.2.1. Introduction
IPA supports the specification of various password attributes that help to ensure the security of your
system, and also that of individual user accounts. You can specify the password lifetime, length, and
the types of characters required in a password, all as part of the IPA Password Policy.
Note
In freeIPA 1.2.1, the password policy is enforced by the KDC. Only a limited number of
attributes are currently supported, however this will be extended in later versions.
Because the password policy is enforced by the KDC, any further policy specifications that
you implement as part of the Directory Server password policy will not be visible in IPA,
and neither will they be enforced.
Consequently, the IPA Administrator can easily create users with "default" passwords and reset user's
passwords, but will not know the actual, final password entered by the user. Further, any password
that is transmitted from the IPA Administrator to the user, even over insecure channels, is a temporary
password. Consequently, it is not critical if it is accidentally disclosed, provided that the user promptly
resets it.
1
http://www.redhat.com/docs/manuals/dir-server/ag/8.0/Managing_Indexes-Creating_Indexes.html
18
Specifying the Password Policy
Procedure 3.3. To edit the password policy using the web interface:
1. Click Manage Policy in the Tasks list, and then click IPA Policy to display the Manage IPA
Policy page.
2. Click Edit Policy to display the Edit IPA Policy page, where you can edit different aspects of the
IPA policy.
3. In the Password Policy section, edit the password attributes as required, and click Update
Policy.
For example, to update the minimum password length to 10 characters, and to specify that no history
of passwords be kept:
Refer to Section 3.2.2.4, “Password Policy Attributes” for information on password policy attributes.
Refer to the ipa-pwpolicy man page for more information on this command.
• Minimum Password Lifetime (krbMinPwdLife): The minimum period of time, in hours, that a user's
password must be in effect before the user can change it. The default value is one hour.
You can use this attribute to prevent users from changing their password to a "temporary" value and
then immediately changing it back to the original value.
• Maximum Password Lifetime (krbMaxPwdLife): The maximum period of time, in days, that a
user's password can be in effect before it must be changed. The default value is 90 days.
19
Chapter 3. Configuring Authorization
For example, setting krbPwdMinDiffChars = 3 requires that passwords contain at least one
character from three of the supported classes.
• Upper-case characters
• Lower-case characters
• Digits
This weights in the opposite direction, so that if you have too many repeated characters you will
not meet the quorum to satisfy the "level" expressed by krbPwdMinDiffChars.
• Minimum Length of Password (krbPwdMinLength): The minimum number of characters that must
exist in a password before it is considered valid. The default value is eight characters.
• Password History Size (krbPwdHistoryLength): The number of previous passwords that IPA
stores, and which a user is prevented from using. For example, if you set this value to 10, IPA
prevents a user from reusing any of their previous 10 passwords. The default value is zero (0)
(disable password history).
Note
If password history checking is enabled, and a user attempts to use one of the
passwords in the history list, the error message returned by the system may be
misleading. For example, you may see the following error:
Note
Even with krbPwdHistoryLength set to zero, users cannot reuse their existing password.
20
Specifying User Settings
For example, to retrieve all user entries whose password is due to expire before March 1st, 2008, run
the following command:
This is not enabled by default because some older SSL clients may not support Challenge-Response
authentication, and it is needed only if the password has expired.
Warning
These timeout settings are only set on operating systems that support the IPA installation
script. Currently this only includes Red Hat Enterprise Linux 4 and 5. On other operating
systems, you need to specify these values manually. Failure to do so can result in the
inability to log in to the machine if no IPA servers are available.
21
Chapter 3. Configuring Authorization
2. Click Edit Policy to display the Edit IPA Policy page, where you can edit different aspects of the
IPA policy.
3. In the User Settings section, edit the user setting attributes as required, and then click Update
Policy.
Figure 3.2. Editing the default user settings for the IPA policy.
• Max. Username Length (ipaMaxUsernameLength): The maximum length of any username. The
default value is 8.
• Root for Home Directories (ipaHomesRootDir): The root directory for all home directories. The
default value is /home
• Default Shell (ipaDefaultLoginShell): The default shell for all user accounts. The default value is /
bin/sh
• Default User Group (ipaDefaultPrimaryGroup): The default group to which all newly created
accounts are added. The default value is ipausers, which is automatically created during IPA
server installation process.
22
Specifying User Settings
• Default E-mail Domain (ipaDefaultEmailDomain): The default domain used to create email
addresses for all newly created accounts. The default is the domain to which the IPA server
belongs.
Note
The default root directory for all home directories is /home, but it is the responsibility of
the system administrator to ensure that whatever value is specified for this attribute is
actually available.
Red Hat Enterprise Linux and most other Linux distributions include a PAM module called
pam_mkhomedir that can automatically create a home directory if one does not exist
for the user authenticating against the system. IPA does not force the use of this module
because it may try to create home directories even when the shared storage is simply not
available. It is the responsibility of the system administrator to activate this module on the
clients if needed.
23
24
Chapter 4.
After you have configured Apache, you can test the configuration by attempting to retrieve an
appropriate keytab, as follows:
# kinit admin
# ipa-addservice HTTP/web.example.com
1
http://modauthkerb.sourceforge.net/index.html
25
26
Chapter 5.
Each element is displayed as a separate field in the web interface in the Custom Fields section.
"See Also,seealso,false$Country,c,false"
1
Refer to the Extending the Directory Schema section of the Directory Server Administration Guide for
more information on how to extend and customize the schema.
When you create new users using the web interface, they are always added to the
cn=users,cn=accounts,$SUFFIX container. If you want to create your own hierarchical
organization, you need to use the command-line, or some other tool that supports direct manipulation
of the DIT.
1
http://www.redhat.com/docs/manuals/dir-server/ag/8.0/Extending_the_Directory_Schema.html
27
28
Chapter 6.
It is the responsibility of the site to develop and implement a backup strategy to suit the needs of the
deployment. This includes backing up user information and other data.
29
30
Chapter 7.
Troubleshooting
This chapter provides a range of troubleshooting tips and ideas related to different aspects of your
IPA deployment. These are based on a simple IPA deployment, using standard operating system
configurations as much as possible. If you have made extensive changes to your deployment, or if you
have customized your operating systems, more extensive troubleshooting may be required if your IPA
installation does not function as expected.
$ kinit admin
You can use the klist command to verify that you received an appropriate ticket. The following is an
example session of this process:
$ kinit admin
Password for admin@EXAMPLE.COM:
$ klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin@EXAMPLE.COM
If you receive an error message similar to the following, ensure that you have installed Fedora
Directory Server version 1.1 or later.
31
Chapter 7. Troubleshooting
This causes the ipa_kpasswd service to lose access to the credentials cache and also causes
password changes using either kinit or kpasswd to fail. This is because ipa_kpasswd reads the /
var/kerberos/krb5kdc/kpasswd.keytab file when it searches for credentials.
Should this problem occur, you need to copy the new kadm5.keytab file over the original
kpasswd.keytab file. You need to copy this new keytab file to all replicas, because they all share the
same keytab.
# cp /var/kerberos/krb5kdc/kadm5.keytab /var/kerberos/krb5kdc/
kpasswd.keytab
This can occur when the host where the KDC is running has failed. After three attempts to contact the
KDC, SSH falls back to other authentication methods. This can take several minutes.
To resolve this issue, restart the host where the KDC is running, and ensure that the KDC restarts as
well.
If the KDC has failed, but the actual host is still running, the timeout is relatively quick. In this case, you
only need to restart the KDC.
If the ipa-* tools still fail, enable debug output in Apache, as follows:
This provides more verbose output that might help to identify the problem.
32
Firefox Problems
The following sections discuss issues specifically related to using Firefox with IPA.
# export NSPR_LOG_MODULES=negotiateauth:5
# export NSPR_LOG_FILE=/tmp/moz.log
This enables verbose logging, and all information is logged to /tmp/moz.log, which may give a
clue to the problem. Restart your browser from that shell, and visit the website you were unable to
authenticate to earlier.
it means that you do not have a Kerberos ticket, and need to run kinit.
2. If you can run kinit successfully but you are unable to authenticate, and the log file contains
output similar to the following:
it generally indicates a Kerberos configuration problem. Ensure you have the following in the
[domain_realm] section of the /etc/krb5.conf file:
33
Chapter 7. Troubleshooting
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
3. If nothing appears in the log file it is possible that you are behind a proxy, and that proxy is
removing the HTTP headers required for Negotiate authentication. Try to connect to the server
using HTTPS instead, which allows the request to pass through unmodified. Then proceed to
debug using the log file, as described above.
To overcome this problem, you need to add an exception for the IPA server.
34
Service Principal Problems
To circumvent this problem, remove the CA from the list of known CAs in Firefox, and then restart
Firefox. If you receive a sec_error_untrusted_issuer error when you navigate to the IPA homepage,
add an exception for this CA to add it to the list of known CAs.
A SASL bind failure indicates either that you do not have a Kerberos ticket or that you have an invalid
ticket (it has expired or is for the wrong user). Ensure that your ticket is valid and retry the operation.
If this does not solve the problem, check the /var/log/krb5kdc.log file on the IPA server for
entries that contain the following (or similar) messages:
35
Chapter 7. Troubleshooting
This indicates a DNS reverse look-up failure. Service principals must be constructed from host names,
and the existence of an IP address indicates that the system was unable to resolve the IP address to
a host name.
To address this problem, ensure that your reverse look-up zone on the DNS is correctly configured, and
retry the operation.
This can occur if you have multiple entries for the same host created by different KDCs.
This can occur when the Apache server is not accepting connections on the SSL port.
• Verify that the /etc/httpd/conf.d/nss.conf file exists. If this file does not exist, ensure that
you have installed the mod_nss rpm package.
• Verify that all references to 8443 have been changed to 443 in the /etc/httpd/conf.d/
nss.conf file.
• Restart httpd after you have installed mod_nss and edited the /etc/httpd/conf.d/
nss.conf file.
• The Web browser might return a Service Temporarily Unavailable message, when all indications are
that the service is functioning normally. You may also see Connection Refused entries in the /var/
log/httpd/nss_error_log file.
This can occur if you have an incorrectly configured /etc/hosts file. Refer to the Configuring the /
etc/hosts File section in the IPA Installation and Deployment Guide for more information.
# ipa-server-install --uninstall
You also need to remove the Kerberos keytab before you begin the reinstallation process:
# rm -f /var/kerberos/krb5kdc/kpasswd.keytab
36
DNS and Service Discovery Problems
The following sections detail some common mistakes that could prevent the DNS from functioning
correctly.
If you do not increment the serial number, slave nameservers will never be notified of the changes
that have occurred on the master nameserver. Consequently, they will not attempt to refresh their
data for that zone.
After editing a zone file, either reload the file (# service named reload) or restart the named
service (# service named restart).
• Ensure that you use ellipses and semi-colons correctly in the /etc/named.conf file. An omitted
semi-colon or unclosed ellipsis can prevent named from starting.
• Remember to place periods (.) in zone files after all FQDNs and omit them on hostnames.
A period at the end of a domain name denotes a fully qualified domain name. If the period is
omitted, then named appends the name of the zone or the $ORIGIN value, resulting in an invalid
value.
By default, BIND version 9 uses random ports above 1024 to query other nameservers. Some
firewalls, however, expect all nameservers to communicate using only port 53. To force named to
use port 53, add the following line to the options statement of the /etc/named.conf file:
Refer to the Required Ports section in the IPA Installation and Deployment Guide for more
information.
37
Chapter 7. Troubleshooting
38
Appendix A. Revision History
Revision 1.1 6 Jan, 2009 David O'Brien davido@redhat.com
BZ 475295. Document limit to number of groups for Solaris and AIX.
Update troubleshooting section for SSH connectivity.
BZ 473155. Document need to rename keytab file if kadmin is started.
BZ 453782. Clarify section on deleting user accounts.
BZ 469599. Updates from tech review.
BZ 471511. Update Password History information.
BZ 469981. Added backup & recovery information.
BZ 470420. Troubleshooting web browser connectivity problems.
Added Configuring Apache for Kerberos Authentication.
Modified section on Creating User Accounts to account for UNIX username restrictions.
Added definition for supported usernames in IPA.
BZ 469790. Updates to troubleshooting.
39
40