kerberos(8krb)
Name
kerberos − the kerberos daemon
Syntax
/usr/etc/kerberos [ −p pause_seconds ] [ −a max_age ]
[ −l log_file ] [ −r realm ] [ −s ] [ −n ] [ −m ]
Description
The kerberos daemon is used by a Kerberos principal, X, to assist it in authenticating its identity to another Kerberos principal Y. In the ULTRIX environment, X would typically be an application running on one machine while Y would be an application running on another machine. Because X and Y run on seperate machines, the authentication of X by Y and Y by X is not an easy task. If they ran on a single machine, A, the authentication of X could be performed easily by Y. All Y need do is ask A for the user ID of X. Since Y trusts the local machine, if the user ID of X is the user ID Y expects, then X must be X.
If Y were to authenticate X when X runs on a different machine, B, using the same user ID method, then Y would be forced to trust the machine B to provide a correct answer. The security of this method breaks down as soon as any one machine that Y is willing to trust is subverted by a hostile user. In addition, it breaks as soon as any machines that cannot be trusted by Y are allowed on the physical network to which A and B are connected. Hostile users that have control over these rogue machines can force them to produce messages that look as though they come from machine B.
The kerberos daemon serves as a single point of trust in a local area network (LAN). The authentication of X to Y depends upon the trust that both X and Y have in the kerberos daemon. X trusts the kerberos daemon to give Y only enough information to authenticate itself as Y to X, and Y trusts kerberos to give X only enough information to authenticate itself as X to Y. Y no longer needs to trust B to authenticate X.
If X were to authenticate itself to Y, X would first communicate with the kerberos daemon in order to obtain a ticket that would allow it to authenticate to Y. The ticket can be defined as the data that X needs to authenticate itself to Y. X passes the ticket to Y, along with other information, to authenticate itself to Y. Y then has the ability to send a message back to X in order to authenticate its identity to X.
There is one kerberos master daemon per LAN. The difference between a Kerberos master daemon and a Kerberos slave daemon is apparent in the way in which the Kerberos database on the machines on which they run, is updated. The Kerberos database stores information about Kerberos principals. It stores, for instance, the Data Encryption Standard (DES) encryption key that is associated with each principal.
There is only one Kerberos database per LAN, to which updates to individual principal entries should be performed. This is the Kerberos master database. The kerberos daemon that runs on the machine which stores the Kerberos master database is the kerberos master daemon. All the other Kerberos databases in the LAN are periodically updated by kprop(8krb) and kpropd(8krb), based upon the data stored in the Kerberos master database. The machines that store this type of database run kerberos slave daemons.
A realm is the common name given to a group of principals. All principals stored in one Kerberos database belong to a single realm, and an individual kerberos daemon uses only one Kerberos database. So, a kerberos daemon only allows one principal in the realm to authenticate another principal in the realm. Inter-realm authentication is not supported in the ULTRIX version of Kerberos.
Options
−p Allows the user to select the number of seconds that the kerberos daemon will pause, pause_seconds, after it has encountered an unrecoverable error, and before it exits. This time interval must be between five minutes (300), and one hour (3600). If neither this option nor the -s option is used, the kerberos daemon will pause forever before exiting.
−a Allows the user to specify the age in seconds, max_age, above which the Kerberos database should be considered too old for a Kerberos slave server to use. The kerberos daemon determines the age of the Kerberos database by comparing the last modification time of the /var/dss/kerberos/dbase/principal.ok file with the current time. The principal.ok file is modified every time the database is changed. Since a Kerberos slave server receives its database in whole from the Kerberos master, this option specifies the maximum amount of time allowed between database transfers. The time value must be between one hour (3600) and three days (259200). If neither this option nor the -s option is used, the maximum age of the database is infinite.
−l Allows the user to select a different file, log_file, into which the kerberos daemon will place Kerberos log messages. If neither this option nor the -s option is used, the log_file value is set to /var/dss/kerberos/log/kerberos.log.
−r Allows the user to change the name of the realm, realm, for which the kerberos daemon will serve information. If no realm name is specified with the -r option, the kerberos daemon will server the realm of which the local host is a member.
−s Allows the user to tell the kerberos daemon to use the default values for pause_seconds, max_age, and log_file of a slave server. If max_age has not been set with the -a option, the max_age value is set to the slave server default of one day (86400). If the pause_seconds value has not been set with the -p option, the pause_seconds value is set to the slave server default of 5 minutes (300). If the log_file value has not been set with the -l option, the log_file value is set to the slave server default, /var/dss/kerberos/log/kerberos_slave.log. Use of the -s option is equivalent to using the following list of options with the kerberos daemon:
-a 86400 -p 300 -l /var/dss/kerberos/log/kerberos_slave.log
−n Allows the user to tell the kerberos daemon that the maximum age of the Kerberos database should be infinite. This option is only useful if the -s option has been selected by the user, but the maximum age of the database should not be equal to the slave default (300), but should be infinite. This option also overrides the -a option.
−m Allows the user to run the kerberos daemon in manual mode. This implies that the master key of the Kerberos database will be input from stdin. If this option is not used, the master key of the Kerberos database is read from the data file kstash(8krb) placed in the system.
See Also
kdb_init(8krb), kdb_util(8krb), kdb_edit(8krb), kdb_destroy(8krb), kerberos(3krb), kprop(8krb) kpropd(8krb)