PAM_KRB5(8) | System Manager's Manual | PAM_KRB5(8) |
pam_krb5
—
Kerberos 5 PAM module
[service-name] function-class control-flag pam_krb5 [options]
The Kerberos 5 PAM module supports the authentication, account
management and password management function classes. In terms of the
function-class parameter, these are
“auth
” ,
“account
” and
“password
” respectively.
The Kerberos 5 authentication component provides functions to
verify the identity of a user
(pam_sm_authenticate
())
and to set user specific credentials
(pam_sm_setcred
()).
pam_sm_authenticate
() converts the supplied username
into a Kerberos principal, by appending the default local realm name. It
also supports usernames with explicit realm names. If a realm name is
supplied, then upon a successful return, it changes the username by mapping
the principal name into a local username (calling
krb5_aname_to_localname
()).
This typically just means the realm name is stripped.
It prompts the user for a password and obtains a new Kerberos TGT for the principal. The TGT is verified by obtaining a service ticket for the local host.
When prompting for the current password, the authentication module
will use the prompt “Password for
<principal>:
”.
The
pam_sm_setcred
()
function stores the newly acquired credentials in a credentials cache, and
sets the environment variable KRB5CCNAME
appropriately. The credentials cache should be destroyed by the user at
logout with kdestroy(1).
The following options may be passed to this authentication module:
debug
_LOG_DEBUG
level.use_first_pass
try_first_pass
use_first_pass
option, except that if the previously obtained password fails, the user is
prompted for another password.forwardable
no_auth_ccache
no_ccache
ccache
=name%u
’, to designate the
decimal UID of the user; and ‘%p
’,
to designate the current process ID; can be used in
name.default_principal
use_kcminit
optional
’ and some other module
‘required
’.The Kerberos 5 account management component provides a function to
perform account management,
pam_sm_acct_mgmt
().
The function verifies that the authenticated principal is allowed to login
to the local user account by calling
krb5_kuserok
()
(which checks the user's .k5login file).
The Kerberos 5 password management component provides a function
to change passwords
(pam_sm_chauthtok
()).
The username supplied (the user running the
passwd(1) command, or the username
given as an argument) is mapped into a Kerberos principal name, using the
same technique as in the authentication module. Note that if a realm name
was explicitly supplied during authentication, but not during a password
change, the mapping done by the password management module may not result in
the same principal as was used for authentication.
Unlike when changing a UNIX password, the password management module will allow any user to change any principal's password (if the user knows the principal's old password, of course). Also unlike UNIX, root is always prompted for the principal's old password.
The password management module uses the same heuristics as kpasswd(1) to determine how to contact the Kerberos password server.
The following options may be passed to this password management module:
debug
LOG_DEBUG
level.use_first_pass
try_first_pass
use_first_pass
option, except that if the previously obtained old or new passwords fail,
the user is prompted for them.KRB5CCNAME
kdestroy(1), passwd(1), syslog(3), pam.conf(5), DirectoryService(8), pam(8)
Applications should not call
pam_authenticate
()
more than once between calls to
pam_start
()
and
pam_end
()
when using the Kerberos 5 PAM module.
January 15, 1999 | macOS 14.6 |