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)