PAM_KRB5_MIGRATE(7) Standards, Environments, and Macros PAM_KRB5_MIGRATE(7)
NAME
pam_krb5_migrate - authentication PAM module for the KerberosV5 auto-
migration of users feature
SYNOPSIS
pam_krb5_migrate.so.1DESCRIPTION
The KerberosV5 auto-migrate service module for
PAM,
pam_krb5_migrate.so.1, provides functionality for the PAM
authentication component. The service module helps in the automatic
migration of
PAM_USER to the client's local Kerberos realm, using
PAM_AUTHTOK (the PAM authentication token associated with
PAM_USER)
as the new Kerberos principal's password.
KerberosV5 Auto-migrate Authentication Module The KerberosV5 auto-migrate authentication component provides the
pam_sm_authenticate(3PAM) function to migrate a user who does not
have a corresponding
krb5 principal account to the default Kerberos
realm of the client.
pam_sm_authenticate(3PAM) uses a host-based client service principal,
present in the local
keytab (
/etc/krb5/krb5.keytab) to authenticate
to
kadmind(8) (defaults to the
host/nodename.fqdn service principal),
for the principal creation operation. Also, for successful creation
of the
krb5 user principal account, the host-based client service
principal being used needs to be assigned the appropriate privilege
on the master KDC's
kadm5.acl(5) file.
kadmind(8) checks for the
appropriate privilege and validates the user password using PAM by
calling
pam_authenticate(3PAM) and
pam_acct_mgmt(3PAM) for the
k5migrate service.
If migration of the user to the KerberosV5 infrastructure is
successful, the module will inform users about it by means of a
PAM_TEXT_INFO message, unless instructed otherwise by the presence of
the
quiet option.
The authentication component always returns
PAM_IGNORE and is meant
to be stacked in
pam.conf with a requirement that it be listed below
pam_authtok_get(7) in the authentication stack. Also, if
pam_krb5_migrate is used in the authentication stack of a particular
service, it is mandatory that
pam_krb5(7) be listed in the PAM
account stack of that service for proper operation (see EXAMPLES).
OPTIONS
The following options can be passed to the KerberosV5 auto-migrate
authentication module:
debug Provides
syslog(3C) debugging information at
LOG_DEBUG level.
client_service=<service name> Name of the service used to authenticate to
kadmind(8) defaults
to
host. This means that the module uses
host/<nodename.fqdn> as
its client service principal name, KerberosV5 user principal
creation operation or
<service>/
<nodename.fqdn> if this option is
provided.
quiet Do not explain KerberosV5 migration to the user.
This has the same effect as passing the
PAM_SILENT flag to
pam_sm_authenticate(3PAM) and is useful where applications cannot
handle
PAM_TEXT_INFO messages.
If not set, the authentication component will issue a
PAM_TEXT_INFO message after creation of the Kerberos V5
principal, indicating that it has done so.
expire_pw Causes the creation of KerberosV5 user principals with password
expiration set to
now (current time).
EXAMPLES
Example 1: Sample Entries from pam.conf
The following entries from
pam.conf(5) demonstrate the use of the
pam_krb5_migrate.so.1 module:
login auth requisite pam_authtok_get.so.1
login auth required pam_dhkeys.so.1
login auth required pam_unix_cred.so.1
login auth sufficient pam_krb5.so.1
login auth requisite pam_unix_auth.so.1
login auth optional pam_krb5_migrate.so.1 expire_pw
login auth required pam_dial_auth.so.1
other account requisite pam_roles.so.1
other account required pam_krb5.so.1
other account required pam_unix_account.so.1
The
pam_krb5_migrate module can generally be present on the
authentication stack of any service where the application calls
pam_sm_authenticate(3PAM) and an authentication token (in the
preceding example, the authentication token would be the user's Unix
password) is available for use as a Kerberos V5 password.
Example 2: Sample Entries from kadm5.acl
The following entries from
kadm5.acl(5) permit or deny privileges to
the host client service principal:
host/*@EXAMPLE.COM U root
host/*@EXAMPLE.COM ui *
The preceding entries permit the
pam_krb5_migrate add privilege to
the host client service principal of any machine in the
EXAMPLE.COM KerberosV5 realm, but denies the
add privilege to all host service
principals for addition of the root user account.
Example 3: Sample Entries in pam.conf of the Master KDC
The entries below enable
kadmind(8) on the master KDC to use the
k5migrate PAM service in order to validate Unix user passwords for
accounts that require migration to the Kerberos realm.
k5migrate auth required pam_unix_auth.so.1
k5migrate account required pam_unix_account.so.1
ATTRIBUTES
See
attributes(7) for a description of the following attribute:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Evolving |
+--------------------+-----------------+
SEE ALSO
syslog(3C),
pam_acct_mgmt(3PAM),
pam_authenticate(3PAM),
pam_sm_authenticate(3PAM),
kadm5.acl(5),
pam.conf(5),
attributes(7),
pam_authtok_get(7),
pam_krb5(7),
kadmind(8) August 19, 2023 PAM_KRB5_MIGRATE(7)