KRB5_AUTH_RULES(7) Standards, Environments, and Macros KRB5_AUTH_RULES(7)

NAME


krb5_auth_rules - overview of Kerberos V5 authorization

DESCRIPTION


When kerberized versions of the ftp, rdist, rcp, rlogin, rsh, telnet, or
ssh clients are used to connect to a server, the identity of the
originating user must be authenticated to the Kerberos V5 authentication
system. Account access can then be authorized if appropriate entries
exist in the ~/.k5login file, the gsscred table, or if the default
GSS/Kerberos authentication rules successfully map the Kerberos principal
name to Unix login name.


To avoid security problems, the ~/.k5login file must be owned by the
remote user on the server the client is attempting to access. The file
should contain a private authorization list comprised of Kerberos
principal names of the form principal/instance@realm. The /instance
variable is optional in Kerberos principal names. For example, different
principal names such as jdb@ENG.EXAMPLE.COM and
jdb/happy.eng.example.com@ENG.EXAMPLE.COM would each be legal, though not
equivalent, Kerberos principals. The client is granted access if the
~/.k5login file is located in the login directory of the remote user
account and if the originating user can be authenticated to one of the
principals named in the file. See kadm5.acl(5) for more information on
Kerberos principal names.


When no ~/.k5login file is found in the remote user's login account, the
Kerberos V5 principal name associated with the originating user is
checked against the gsscred table. If a gsscred table exists and the
principal name is matched in the table, access is granted if the Unix
user ID listed in the table corresponds to the user account the client is
attempting to access. If the Unix user ID does not match, access is
denied. See gsscred(8).


For example, an originating user listed in the gsscred table with the
principal name jdb@ENG.EXAMPLE.COM and the uid 23154 is granted access to
the jdb-user account if 23154 is also the uid of jdb-user listed in the
user account database. See passwd(5).


Finally, if there is no ~/.k5login file and the Kerberos V5 identity of
the originating user is not in the gsscred table, or if the gsscred table
does not exist, the client is granted access to the account under the
following conditions (default GSS/Kerberos auth rules):

o The user part of the authenticated principal name is the same
as the Unix account name specified by the client.

o The realm part of the client and server are the same, unless
the krb5.conf(5) auth_to_local_realm parameter is used to
create equivalence.

o The Unix account name exists on the server.


For example, if the originating user has the principal name
jdb@ENG.EXAMPLE.COM and if the server is in realm SALES.EXAMPLE.COM, the
client would be denied access even if jdb is a valid account name on the
server. This is because the realms SALES.EXAMPLE.COM and ENG.EXAMPLE.COM
differ.


The krb5.conf(5) auth_to_local_realm parameter also affects
authorization. Non-default realms can be equated with the default realm
for authenticated name-to-local name mapping.

FILES


~/.k5login
Per user-account authorization file.


/etc/passwd
System account file. This information may also be in a
directory service. See passwd(5).


ATTRIBUTES


See attributes(7) for a description of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Evolving |
+--------------------+-----------------+

SEE ALSO


ftp(1), rcp(1), rdist(1), rlogin(1), rsh(1), telnet(1), kadm5.acl(5),
krb5.conf(5), passwd(5), attributes(7), gss_auth_rules(7), gsscred(8)

November 22, 2021 KRB5_AUTH_RULES(7)