svn rev #25434: trunk/doc/rst_source/ krb_admins/install_kdc/ relay/

tsitkova@MIT.EDU tsitkova at MIT.EDU
Fri Nov 4 13:13:40 EDT 2011


http://src.mit.edu/fisheye/changelog/krb5/?cs=25434
Commit By: tsitkova
Log Message:
Updated the documentation for the propagation.




Changed Files:
U   trunk/doc/rst_source/krb_admins/install_kdc/admins_to_acl.rst
U   trunk/doc/rst_source/krb_admins/install_kdc/admins_to_db.rst
U   trunk/doc/rst_source/krb_admins/install_kdc/kadmind_kt.rst
U   trunk/doc/rst_source/krb_admins/install_kdc/kdc_prop_slave.rst
U   trunk/doc/rst_source/krb_admins/install_kdc/krb_daemon.rst
U   trunk/doc/rst_source/krb_admins/install_kdc/mod_conf.rst
U   trunk/doc/rst_source/krb_admins/install_kdc/slave_install.rst
U   trunk/doc/rst_source/relay/build_this.rst
U   trunk/doc/rst_source/relay/index.rst
Modified: trunk/doc/rst_source/krb_admins/install_kdc/admins_to_acl.rst
===================================================================
--- trunk/doc/rst_source/krb_admins/install_kdc/admins_to_acl.rst	2011-11-04 05:53:23 UTC (rev 25433)
+++ trunk/doc/rst_source/krb_admins/install_kdc/admins_to_acl.rst	2011-11-04 17:13:39 UTC (rev 25434)
@@ -78,6 +78,8 @@
 Finally, any principal with an *admin* instance in *EXAMPLE.COM* has *all* permissions, 
 but any principal that they create or modify will not be able to get *postdateable* tickets or tickets with a life of longer than 9 hours. 
 
+.. warning:: If the *kadmind*'s ACL file is modified, the *kadmind* daemon needs to be restarted for changes to take effect.
+
 ------------
 
 Feedback:

Modified: trunk/doc/rst_source/krb_admins/install_kdc/admins_to_db.rst
===================================================================
--- trunk/doc/rst_source/krb_admins/install_kdc/admins_to_db.rst	2011-11-04 05:53:23 UTC (rev 25433)
+++ trunk/doc/rst_source/krb_admins/install_kdc/admins_to_db.rst	2011-11-04 17:13:39 UTC (rev 25434)
@@ -1,3 +1,5 @@
+.. _addadmin_kdb:
+
 Add administrators to the Kerberos database
 ===============================================
 
@@ -19,7 +21,7 @@
 
      kadmin.local: addprinc admin/admin at ATHENA.MIT.EDU
 
-     NOTICE: no policy specified for "admin/admin at ATHENA.MIT.EDU";
+     WARNING: no policy specified for "admin/admin at ATHENA.MIT.EDU";
      assigning "default".
      Enter password for principal admin/admin at ATHENA.MIT.EDU:  <= Enter a password.
      Re-enter password for principal admin/admin at ATHENA.MIT.EDU:  <= Type it again.

Modified: trunk/doc/rst_source/krb_admins/install_kdc/kadmind_kt.rst
===================================================================
--- trunk/doc/rst_source/krb_admins/install_kdc/kadmind_kt.rst	2011-11-04 05:53:23 UTC (rev 25433)
+++ trunk/doc/rst_source/krb_admins/install_kdc/kadmind_kt.rst	2011-11-04 17:13:39 UTC (rev 25434)
@@ -11,7 +11,7 @@
 (These principals are placed in the Kerberos database automatically when you create it.) 
 To create the *kadmin* keytab, run *kadmin.local* and use the :ref:`ktadd` command, as in the following example::
 
-     shell% /usr/local/sbin/admin.local
+     shell% /usr/local/sbin/kadmin.local
 
      kadmin.local: ktadd -k /usr/local/var/krb5kdc/kadm5.keytab kadmin/admin kadmin/changepw
       Entry for principal kadmin/admin with kvno 5, encryption

Modified: trunk/doc/rst_source/krb_admins/install_kdc/kdc_prop_slave.rst
===================================================================
--- trunk/doc/rst_source/krb_admins/install_kdc/kdc_prop_slave.rst	2011-11-04 05:53:23 UTC (rev 25433)
+++ trunk/doc/rst_source/krb_admins/install_kdc/kdc_prop_slave.rst	2011-11-04 17:13:39 UTC (rev 25434)
@@ -13,10 +13,18 @@
 
      Database propagation to kerberos-1.mit.edu: SUCCEEDED
 
+Just in case you need an additional confirmation of the successful propagation, 
+do the following on the slave:
+    - make sure that only this slave's *kdc* is listed in the *krb5.conf* file, then
+    - start *krb5kdc* on the slave server and
+    - run "kinit  admin/admin\@ATHENA.MIT.EDU" which should succeed once the correct password 
+      (i.e. password that was entered on the master server for this principal) is provided.
+    - now *klist* should display the message similar to  "Default principal: admin/admin\@ATHENA.MIT.EDU"
 
+
 You will need a script to dump and propagate the database. The following is an example of a bourne shell script that will do this. 
 
-.. note:: Remember that you need to replace */usr/local* with the name of the directory in which you installed Kerberos V5.
+.. note:: Remember that you need to replace */usr/local/var* with the name of the directory in which you installed Kerberos V5.
 
 ::
 
@@ -53,61 +61,25 @@
 Propagation failed?
 ------------------------
 
-
-If propagation failed with a loud:
-   
 .. _prop_failed_start: 
 
-.. error:: kprop: Connection refused in call to connect while opening connection
+.. error:: kprop:  No route to host in call to connect while opening connection
 
-it means that *kprop* did not manage to contact *kpropd* on the remote slave KDC.
+           kprop:  Connection refused in call to connect while opening connection
 
-This will occur if you set restrictive access rules with a firewall, or if *kpropd* did not start upon connection.
+           kprop:  Server rejected authentication (during sendauth exchange) while authenticating to server 
 
-The propagation is done through a tcp stream on port 754. Usually, *kpropd* is not a daemon running on its own: 
-it is started by *inetd* (or its equivalent *xinetd*). However, many systems do not register *kpropd* as a service in their *inetd* database.
+Make sure that
 
-You can launch *kpropd* by two different means: either by starting it during boot up with the **-S** argument (see :ref:`kpropd(8)` for details), 
-or register *kprop* as a potential services to *inetd*.
+#. the time is syncronized between the master-slaves participants;
+#. master stash and keytab files (e.g. *.k5.ATHENA.MIT.EDU* and *host/kerberos-1.mit.edu\@ATHENA.MIT.EDU*) are copied from the master to the expected location on the slaves; 
+#. Kerberos database was created on the slaves prior the propagation from the master.  
+#. if *kpropd* is invoked from *inetd* (or its equivalent *xinetd*),
+   the *inetd* daemon was restarted after the configuration files
+   */etc/inetd.conf* and */etc/services* were updated;
+#. *kpropd* is running on the slave server; 
+#. if the locations of the configuration/keytab files differ from the default ones, provide the proper environment variables and/or options to the programs;
 
-To register *kpropd*, it depends on whether your are using inetd or its more sophisticated equivalent *xinetd*.
-First, edit */etc/services*, and look for *kprop* service; the line should look like this::
-
-   kprop 754/tcp
-
-If you did not find it, please add it to the bottom of the file. Save and close.
-
-
-Now we should edit */etc/inetd.conf* (see below for *xinetd*), and add the following line to setup the database propagation daemon ::
-
-    kprop stream tcp nowait root /usr/local/sbin/kpropd kpropd
-
-Please note that the path to executable may vary from one system to another. Save and close *inetd.conf*, and restart *inetd*::
-
-    \# /etc/rc.d/inetd restart
-
-
-All config file for *xinetd* resides in the */etc/xinetd.d* directory. We must add the *kprop* config file, so that *xinetd* knows its existence.
-Create and edit the */etc/xinetd.d/kpropd* file ::
-
-    service kprop
-    {
-    socket_type = stream
-    wait = no
-    user = root
-    server = /usr/local/sbin/kpropd
-    only_from = 0.0.0.0 # Allow anybody to connect to it. Restrictions may apply here.
-    log_on_success = PID HOST EXIT DURATION
-    log_on_failure = PID HOST
-    }
-
-Save and close the file, and restart *xinetd*::
-
-    \# /etc/init.d/xinetd restart
-
-You should now be able to propagate the dumps from master to slave.
-
-
 .. _prop_failed_end: 
 
 

Modified: trunk/doc/rst_source/krb_admins/install_kdc/krb_daemon.rst
===================================================================
--- trunk/doc/rst_source/krb_admins/install_kdc/krb_daemon.rst	2011-11-04 05:53:23 UTC (rev 25433)
+++ trunk/doc/rst_source/krb_admins/install_kdc/krb_daemon.rst	2011-11-04 17:13:39 UTC (rev 25434)
@@ -1,7 +1,8 @@
 Start the Kerberos daemons on the master KDC
 ===============================================
 
-At this point, you are ready to start the Kerberos KDC and administrative daemons on the Master KDC. To do so, type::
+At this point, you are ready to start the Kerberos KDC (:ref:`krb5kdc(8)`)  and 
+administrative daemons on the Master KDC. To do so, type::
 
      shell% /usr/local/sbin/krb5kdc
      shell% /usr/local/sbin/kadmind
@@ -13,6 +14,8 @@
           you can add them to the KDC's */etc/rc* or */etc/inittab* file. 
           You need to have a :ref:`stash_definition` in order to do this.
 
+
+
 You can verify that they started properly by checking for their startup messages in the logging locations 
 you defined in */etc/krb5.conf*. (See :ref:`logging`).
 For example::
@@ -25,6 +28,12 @@
 
 Any errors the daemons encounter while starting will also be listed in the logging output. 
 
+As an additional verification, check if *kinit* succeeds against the principals that 
+you have created on the previous step (:ref:`addadmin_kdb`). Run::
+
+     shell% /usr/local/bin/kinit admin/admin at ATHENA.MIT.EDU
+
+
 You are now ready to start configuring the slave KDCs. 
 
 .. note:: Assuming you are setting the KDCs up so that you can easily switch the master KDC with one of the slaves, 

Modified: trunk/doc/rst_source/krb_admins/install_kdc/mod_conf.rst
===================================================================
--- trunk/doc/rst_source/krb_admins/install_kdc/mod_conf.rst	2011-11-04 05:53:23 UTC (rev 25433)
+++ trunk/doc/rst_source/krb_admins/install_kdc/mod_conf.rst	2011-11-04 17:13:39 UTC (rev 25434)
@@ -10,6 +10,14 @@
 and this section will explain those. 
 For more information on Kerberos V5 configuration files see :ref:`krb5.conf` and :ref:`kdc.conf`.
 
+If the locations for these configuration files differs from the default ones,
+set *KRB5_CONFIG* and *KRB5_KDC_PROFILE* environment variables to point to the 
+*krb5.conf* and *kdc.conf* respectively.
+For example::
+
+   export KRB5_CONFIG=/yourdir/krb5.conf
+   export KRB5_KDC_PROFILE=/yourdir/kdc.conf
+
 *krb5.conf*
 -------------
 
@@ -26,6 +34,9 @@
 
      [libdefaults]
          default_realm = ATHENA.MIT.EDU
+         # if the default location does not suit your setup,
+         # explicitly configure the keytab location:
+         #    default_keytab_name = FILE:/var/krb5kdc/krb5.keytab
      
      [realms]
          ATHENA.MIT.EDU = {
@@ -53,11 +64,23 @@
              max_renewable_life = 7d 0h 0m 0s
              master_key_type = des3-hmac-sha1
              supported_enctypes = des3-hmac-sha1:normal aes128-cts-hmac-sha1-96:normal
+             # if the default location does not suit your setup,
+             # explicitly configure the following four values:
+             #    database_name = /var/krb5kdc/principal             
+             #    key_stash_file = /var/krb5kdc/.k5.ATHENA.MIT.EDU
+             #    admin_keytab = FILE:/var/krb5kdc/kadm5.keytab
+             #    acl_file = /var/krb5kdc/kadm5.acl
          }
      
 
-Replace *ATHENA.MIT.EDU* and *kerberos.mit.edu*  with the name of your Kerberos realm and server respectively.
+Replace *ATHENA.MIT.EDU* and *kerberos.mit.edu*  with the name of your Kerberos *realm* and *server* respectively.
 
+.. note:: You have to have write permission on the target directories 
+          (these directories must exist) used by
+          *database_name, key_stash_file, admin_keytab* and *acl_file*
+
+
+
 ------------
 
 Feedback:

Modified: trunk/doc/rst_source/krb_admins/install_kdc/slave_install.rst
===================================================================
--- trunk/doc/rst_source/krb_admins/install_kdc/slave_install.rst	2011-11-04 05:53:23 UTC (rev 25433)
+++ trunk/doc/rst_source/krb_admins/install_kdc/slave_install.rst	2011-11-04 17:13:39 UTC (rev 25434)
@@ -16,7 +16,7 @@
 For example, if the master KDC were called *kerberos.mit.edu*, and you had slave KDC named *kerberos-1.mit.edu*, 
 you would type the following::
 
-     shell% /usr/local/sbin/kadmin
+     shell% /usr/local/bin/kadmin
      kadmin: addprinc -randkey host/kerberos.mit.edu
      NOTICE: no policy specified for "host/kerberos.mit.edu at ATHENA.MIT.EDU"; assigning "default"
      Principal "host/kerberos.mit.edu at ATHENA.MIT.EDU" created.
@@ -73,10 +73,11 @@
 
 You will now initialize the slave database::
 
-      kdb5_util create
+      shell%  /usr/local/sbin/kdb5_util create
 
-Caution: you will use :ref:`kdb5_util(8)` but without exporting the stash file (-s argument), i
-thus avoiding the obliteration of the one you just copied from the master.
+.. caution:: You will use :ref:`kdb5_util(8)` but without exporting the stash file (-s argument), i
+             thus avoiding the obliteration of the one you just copied from the master.
+
 When asking for the database Master Password, type in anything you want. 
 The whole dummy database will be erased upon the first propagation from master.
 
@@ -96,6 +97,8 @@
 Then, add the following line to */etc/inetd.conf* file on each KDC (Adjust the path to *kpropd*)::
 
      krb5_prop stream tcp nowait root /usr/local/sbin/kpropd kpropd
+     eklogin stream tcp nowait root  /usr/local/sbin/klogind klogind -5 -c -e
+
      
 
 You also need to add the following lines to */etc/services* on each KDC (assuming that default ports are used)::
@@ -105,12 +108,22 @@
      krb5_prop       754/tcp               # Kerberos slave propagation
      kerberos-adm    749/tcp               # Kerberos 5 admin/changepw (tcp)
      kerberos-adm    749/udp               # Kerberos 5 admin/changepw (udp)
-     
-.. note:: Do not start slave KDC -  you still do not have a copy of the master's database.
 
+Restart *inetd* daemon.
+
+
+Alternatively, start :ref:`kpropd(8)` as a stand-alone daemon "kpropd -S" or,
+if the default locations must be overridden,::
+
+    shell% /usr/local/sbin/kpropd -S -a path-to-kpropd.acl -r ATHENA.MIT.EDU -f /var/krb5kdc/from_master
+
+    waiting for a kprop connection
+
 Now that the slave KDC is able to accept database propagation, you’ll need to propagate the database from the master server.
 
+NOTE: Do not start slave KDC -  you still do not have a copy of the master's database.
 
+
 ------------
 
 Feedback:

Modified: trunk/doc/rst_source/relay/build_this.rst
===================================================================
--- trunk/doc/rst_source/relay/build_this.rst	2011-11-04 05:53:23 UTC (rev 25433)
+++ trunk/doc/rst_source/relay/build_this.rst	2011-11-04 17:13:39 UTC (rev 25434)
@@ -96,7 +96,7 @@
 
 6.    Rebuild Sphinx source. From the *trunk/doc/rst_source*  run::
 
-      sphinx-build .  output_dir
+         sphinx-build .  output_dir
 
 
 .. _Part_B:

Modified: trunk/doc/rst_source/relay/index.rst
===================================================================
--- trunk/doc/rst_source/relay/index.rst	2011-11-04 05:53:23 UTC (rev 25433)
+++ trunk/doc/rst_source/relay/index.rst	2011-11-04 17:13:39 UTC (rev 25434)
@@ -1,3 +1,5 @@
+About this project
+======================
 
 .. toctree::
    :maxdepth: 1




More information about the cvs-krb5 mailing list