f1aa3788f3c455ed5c5d59369a04f18c6ec352a6
[krb5.git] / doc / rst_source / krb_admins / install_clients.rst
1 Installing and configuring UNIX client machines
2 ===============================================
3
4 The Kerberized client programs are :ref:`kinit(1)`, :ref:`klist(1)`,
5 :ref:`kdestroy(1)`, :ref:`kpasswd(1)`, and :ref:`ksu(1)`.  All of
6 these programs are in the directory ``/usr/local/bin``.  MIT
7 recommends that you use login.krb5 in place of ``/bin/login`` to give
8 your users a single-sign-on system. You will need to make sure your
9 users know to use their Kerberos passwords when they log in.
10
11 You will also need to educate your users to use the ticket management
12 programs kinit, klist, kdestroy, and to use the Kerberos programs ksu
13 and kpasswd in place of their non-Kerberos counterparts su and passwd.
14
15
16 Client machine configuration files
17 ----------------------------------
18
19 Each machine running Kerberos must have a :ref:`krb5.conf(5)` file.
20
21 Also, for most UNIX systems, you must add the appropriate Kerberos
22 services to each client machine's ``/etc/services`` file.  If you are
23 using the default configuration for Kerberos V5, you should be able to
24 just insert the following code::
25
26     kerberos      88/udp    kdc    # Kerberos V5 KDC
27     kerberos      88/tcp    kdc    # Kerberos V5 KDC
28     kerberos-adm  749/tcp          # Kerberos 5 admin/changepw
29     kerberos-adm  749/udp          # Kerberos 5 admin/changepw
30     krb5_prop     754/tcp          # Kerberos slave propagation
31     krb524        4444/tcp         # Kerberos 5 to 4 ticket translator
32
33
34 Mac OS X configuration
35 ----------------------
36
37 To install Kerberos V5 on Mac OS X and Mac OS X Server, follow the
38 directions for generic Unix-based OS's, except for the
39 ``/etc/services`` updates described above.
40
41 Mac OS X and Mac OS X Server use a database called NetInfo to store
42 the contents of files normally found in ``/etc``.  Instead of
43 modifying ``/etc/services``, you should run the following commands to
44 add the Kerberos service entries to NetInfo::
45
46     $ niutil -create . /services/kerberos
47     $ niutil -createprop . /services/kerberos name kerberos kdc
48     $ niutil -createprop . /services/kerberos port 750
49     $ niutil -createprop . /services/kerberos protocol tcp udp
50     $ niutil -create . /services/krbupdate
51     $ niutil -createprop . /services/krbupdate name krbupdate kreg
52     $ niutil -createprop . /services/krbupdate port 760
53     $ niutil -createprop . /services/krbupdate protocol tcp
54     $ niutil -create . /services/kpasswd
55     $ niutil -createprop . /services/kpasswd name kpasswd kpwd
56     $ niutil -createprop . /services/kpasswd port 761
57     $ niutil -createprop . /services/kpasswd protocol tcp
58     $ niutil -create . /services/klogin
59     $ niutil -createprop . /services/klogin port 543
60     $ niutil -createprop . /services/klogin protocol tcp
61     $ niutil -create . /services/eklogin
62     $ niutil -createprop . /services/eklogin port 2105
63     $ niutil -createprop . /services/eklogin protocol tcp
64     $ niutil -create . /services/kshell
65     $ niutil -createprop . /services/kshell name kshell krcmd
66     $ niutil -createprop . /services/kshell port 544
67     $ niutil -createprop . /services/kshell protocol tcp
68
69 In addition to adding services to NetInfo, you must also modify the
70 resolver configuration in NetInfo so that the machine resolves its own
71 hostname as a FQDN (fully qualified domain name).  By default, Mac OS
72 X and Mac OS X Server machines query NetInfo to resolve hostnames
73 before falling back to DNS.  Because NetInfo has an unqualified name
74 for all the machines in the NetInfo database, the machine's own
75 hostname will resolve to an unqualified name.  Kerberos needs a FQDN
76 to look up keys in the machine's keytab file.
77
78 Fortunately, you can change the lookupd caching order to query DNS
79 first.  Run the following NetInfo commands and reboot the machine::
80
81     $ niutil -create . /locations/lookupd/hosts
82     $ niutil -createprop . /locations/lookupd/hosts LookupOrder CacheAgent DNSAgent NIAgent NILAgent
83
84 Once you have rebooted, you can verify that the resolver now behaves
85 correctly.  Compile the Kerberos 5 distribution and run::
86
87     $ cd .../src/tests/resolve
88     $ ./resolve
89
90 This will tell you whether or not your machine returns FQDNs on name
91 lookups.  If the test still fails, you can also try turning off DNS
92 caching.  Run the following commands and reboot::
93
94     $ niutil -create . /locations/lookupd/hosts
95     $ niutil -createprop . /locations/lookupd/hosts LookupOrder DNSAgent CacheAgent NIAgent NILAgent
96
97 The remainder of the setup of a Mac OS X client machine or application
98 server should be the same as for other UNIX-based systems.