source: postlfs/security/heimdal.xml@ dc04b84

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.0 6.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since dc04b84 was dc04b84, checked in by Randy McMurchy <randy@…>, 20 years ago

Removed moving and symlinking libcom_err libraries from MIT Kerberos and Heimdal instructions

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@2465 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 21.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3 "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY heimdal-download-http "http://ftp.vc-graz.ac.at/mirror/crypto/kerberos/heimdal/heimdal-&heimdal-version;.tar.gz">
8 <!ENTITY heimdal-download-ftp "ftp://ftp.pdc.kth.se/pub/heimdal/src/heimdal-&heimdal-version;.tar.gz">
9 <!ENTITY heimdal-size "3.2 MB">
10 <!ENTITY heimdal-buildsize "142 MB">
11 <!ENTITY heimdal-time "2.55 SBU">
12]>
13
14<sect1 id="heimdal" xreflabel="Heimdal-&heimdal-version;">
15<?dbhtml filename="heimdal.html"?>
16<title>Heimdal-&heimdal-version;</title>
17
18<sect2>
19<title>Introduction to <application>Heimdal</application></title>
20
21<para><application>Heimdal</application> is a free implementation of Kerberos
225, that aims to be compatible with <acronym>MIT</acronym> krb5 and is backwards
23compatible with krb4. Kerberos is a network authentication protocol. Basically
24it preserves the integrity of passwords in any untrusted network (like the
25Internet). Kerberized applications work hand-in-hand with sites that support
26Kerberos to ensure that passwords cannot be stolen. A Kerberos installation
27will make changes to the authentication mechanisms on your network and will
28overwrite several programs and daemons from the
29<application>Coreutils</application>, <application>Inetutils</application>,
30<application>Qpopper</application> and <application>Shadow</application>
31packages.</para>
32
33<sect3><title>Package information</title>
34<itemizedlist spacing='compact'>
35<listitem><para>Download (HTTP): <ulink url="&heimdal-download-http;"/></para></listitem>
36<listitem><para>Download (FTP): <ulink url="&heimdal-download-ftp;"/></para></listitem>
37<listitem><para>Download size: &heimdal-size;</para></listitem>
38<listitem><para>Estimated Disk space required: &heimdal-buildsize;</para></listitem>
39<listitem><para>Estimated build time: &heimdal-time;</para></listitem></itemizedlist>
40</sect3>
41
42<sect3><title>Additional downloads</title>
43<itemizedlist spacing='compact'>
44<listitem><para>Required Patch: <ulink
45url="&patch-root;/heimdal-&heimdal-version;-fhs_compliance-1.patch"/></para>
46</listitem>
47<listitem><para>Required patch for cracklib: <ulink
48url="&patch-root;/heimdal-&heimdal-version;-cracklib-1.patch"/></para>
49</listitem>
50</itemizedlist>
51
52</sect3>
53
54<sect3><title><application>Heimdal</application> dependencies</title>
55<sect4><title>Required</title>
56<para>
57<xref linkend="openssl"/> and
58<xref linkend="db"/>
59</para></sect4>
60<sect4><title>Optional</title>
61<para>
62<xref linkend="Linux_PAM"/>,
63<xref linkend="openldap"/>,
64X (<xref linkend="xorg"/> or <xref linkend="xfree86"/>),
65<xref linkend="cracklib"/> and
66<ulink url="http://www.pdc.kth.se/kth-krb/">krb4</ulink>
67</para>
68
69<note><para>
70Some sort of time synchronization facility on your system (like <xref
71linkend="ntp"/>) is required since Kerberos won't authenticate if the
72time differential between a kerberized client and the
73<acronym>KDC</acronym> server is more than 5 minutes.</para></note>
74</sect4>
75
76</sect3>
77
78</sect2>
79
80<sect2>
81<title>Installation of <application>Heimdal</application></title>
82
83<para>
84Before installing the package, you may want to preserve the
85<command>ftp</command> program from the <application>Inetutils</application>
86package. This is because using the <application>Heimdal</application>
87<command>ftp</command> program to connect to non-kerberized ftp servers may
88not work properly. It will allow you to connect (letting you know that
89transmission of the password is clear text) but will have problems doing puts
90and gets.
91</para>
92
93<screen><userinput><command>mv /usr/bin/ftp /usr/bin/ftpn</command></userinput></screen>
94
95<para>
96If you wish the <application>Heimdal</application> package to link against the
97<application>cracklib</application> library, you must apply a patch:
98</para>
99
100<screen><userinput><command>patch -Np1 -i ../heimdal-&heimdal-version;-cracklib-1.patch</command></userinput></screen>
101
102<para>Install <application>Heimdal</application> by running the following commands:</para>
103
104<screen><userinput><command>patch -Np1 -i ../heimdal-&heimdal-version;-fhs_compliance-1.patch &amp;&amp;
105./configure --prefix=/usr --sysconfdir=/etc/heimdal \
106 --datadir=/var/lib/heimdal --libexecdir=/usr/sbin \
107 --sharedstatedir=/usr/share --localstatedir=/var/lib/heimdal \
108 --enable-shared --with-openssl=/usr &amp;&amp;
109make &amp;&amp;
110make install &amp;&amp;
111mv /bin/login /bin/login.shadow &amp;&amp;
112mv /bin/su /bin/su.coreutils &amp;&amp;
113mv /usr/bin/{login,su} /bin &amp;&amp;
114ln -sf ../../bin/login /usr/bin &amp;&amp;
115mv /usr/lib/lib{otp.so.0,otp.so.0.1.4,kafs.so.0,kafs.so.0.4.0} /lib &amp;&amp;
116mv /usr/lib/lib{krb5.so.17,krb5.so.17.3.0,asn1.so.6,asn1.so.6.0.2} /lib &amp;&amp;
117mv /usr/lib/lib{roken.so.16,roken.so.16.0.3,crypto.so.0.9.7} /lib &amp;&amp;
118mv /usr/lib/libdb-4.1.so /lib &amp;&amp;
119ln -sf ../../lib/lib{otp.so.0,otp.so.0.1.4,kafs.so.0,kafs.so.0.4.0} /usr/lib &amp;&amp;
120ln -sf ../../lib/lib{krb5.so.17,krb5.so.17.3.0,asn1.so.6,asn1.so.6.0.2} /usr/lib &amp;&amp;
121ln -sf ../../lib/lib{roken.so.16,roken.so.16.0.3,crypto.so.0.9.7} /usr/lib &amp;&amp;
122ln -sf ../../lib/libdb-4.1.so /usr/lib &amp;&amp;
123ldconfig</command></userinput></screen>
124
125</sect2>
126
127<sect2>
128<title>Command explanations</title>
129
130<para><parameter>--libexecdir=/usr/sbin</parameter>: This switch puts the
131daemon programs into <filename class="directory">/usr/sbin</filename>.
132</para>
133
134<note><para>
135If you want to preserve all your existing <application>Inetutils</application>
136package daemons, install the <application>Heimdal</application> daemons into
137<filename class="directory">/usr/sbin/heimdal</filename> (or wherever you want).
138Since these programs will be called from <command>(x)inetd</command> or
139<filename>rc</filename> scripts, it really doesn't matter where they are
140installed, as long as they are correctly specified in the
141<filename>/etc/(x)inetd.conf</filename> file and <filename>rc</filename>
142scripts. If you choose something other than
143<filename class="directory">/usr/sbin</filename>, you may want to move some of
144the user programs (such as <command>kadmin</command>) to
145<filename class="directory">/usr/sbin</filename> manually so they'll be in the
146privileged user's default path.</para></note>
147
148<para>
149<screen><command>mv /bin/login /bin/login.shadow
150mv /bin/su /bin/su.coreutils
151mv /usr/bin/{login,su} /bin
152ln -sf ../../bin/login /usr/bin</command></screen>
153
154The <command>login</command> and <command>su</command> programs installed by
155<application>Heimdal</application> belong in the
156<filename class="directory">/bin</filename> directory. The
157<command>login</command> program is symlinked because
158<application>Heimdal</application> is expecting to find it in
159<filename class="directory">/usr/bin</filename>. The old executables are
160preserved before the move to keep things sane should breaks occur.
161</para>
162
163<para>
164<screen><command>mv /usr/lib/lib{otp.so.0,otp.so.0.1.4,kafs.so.0,kafs.so.0.4.0} /lib
165mv /usr/lib/lib{krb5.so.17,krb5.so.17.3.0,asn1.so.6,asn1.so.6.0.2} /lib
166mv /usr/lib/lib{roken.so.16,roken.so.16.0.3,crypto.so.0.9.7} /lib
167mv /usr/lib/libdb-4.1.so /lib
168ln -sf ../../lib/lib{otp.so.0,otp.so.0.1.4,kafs.so.0,kafs.so.0.4.0} /usr/lib
169ln -sf ../../lib/lib{krb5.so.17,krb5.so.17.3.0,asn1.so.6,asn1.so.6.0.2} /usr/lib
170ln -sf ../../lib/lib{roken.so.16,roken.so.16.0.3,crypto.so.0.9.7} /usr/lib
171ln -sf ../../lib/libdb-4.1.so /usr/lib</command></screen>
172
173The <command>login</command> and <command>su</command> programs
174installed by <application>Heimdal</application> link against
175<application>Heimdal</application> libraries as well as libraries provided by
176the <application>OpenSSL</application>, <application>Berkeley DB</application>
177and <application>E2fsprogs</application> packages. These libraries are moved
178to <filename class="directory">/lib</filename> to be <acronym>FHS</acronym>
179compliant and also in case <filename class="directory">/usr</filename> is
180located on a separate partition which may not always be mounted.
181</para>
182
183</sect2>
184
185<sect2>
186<title>Configuring <application>Heimdal</application></title>
187
188<sect3><title>Config files</title>
189<para><filename>/etc/heimdal/*</filename></para>
190</sect3>
191
192<sect3><title>Configuration Information</title>
193
194<sect4><title>Master <acronym>KDC</acronym> Server Configuration</title>
195
196<para>
197Create the Kerberos configuration file with the following commands:
198</para>
199
200<screen><userinput><command>install -d /etc/heimdal &amp;&amp;
201cat &gt; /etc/heimdal/krb5.conf &lt;&lt; "EOF"</command>
202# Begin /etc/heimdal/krb5.conf
203
204[libdefaults]
205 default_realm = <replaceable>[EXAMPLE.COM]</replaceable>
206 encrypt = true
207
208[realms]
209 <replaceable>[EXAMPLE.COM]</replaceable> = {
210 kdc = <replaceable>[hostname.example.com]</replaceable>
211 admin_server = <replaceable>[hostname.example.com]</replaceable>
212 kpasswd_server = <replaceable>[hostname.example.com]</replaceable>
213 }
214
215[domain_realm]
216 .<replaceable>[example.com]</replaceable> = <replaceable>[EXAMPLE.COM]</replaceable>
217
218[logging]
219 kdc = FILE:/var/log/kdc.log
220 admin_server = FILE:/var/log/kadmin.log
221 default = FILE:/var/log/krb.log
222
223# End /etc/heimdal/krb5.conf
224<command>EOF</command></userinput></screen>
225
226<para>
227You will need to substitute your domain and proper hostname for the
228occurrences of the <replaceable>[hostname]</replaceable> and
229<replaceable>[EXAMPLE.COM]</replaceable> names.
230</para>
231
232<para>
233<userinput>default_realm</userinput> should be the name of your domain changed
234to ALL CAPS. This isn't required, but both <application>Heimdal</application>
235and <application><acronym>MIT</acronym> krb5</application> recommend it.
236</para>
237
238<para>
239<userinput>encrypt = true</userinput> provides encryption of all traffic
240between kerberized clients and servers. It's not necessary and can be left
241off. If you leave it off, you can encrypt all traffic from the client to the
242server using a switch on the client program instead.
243</para>
244
245<para>
246The <userinput>[realms]</userinput> parameters tell the client programs where
247to look for the <acronym>KDC</acronym> authentication services.
248</para>
249
250<para>
251The <userinput>[domain_realm]</userinput> section maps a domain to a realm.
252</para>
253
254<para>
255Store the master password in a key file using the following commands:
256</para>
257
258<screen><userinput><command>install -d -m 755 /var/lib/heimdal &amp;&amp;
259kstash</command></userinput></screen>
260
261<para>
262Create the <acronym>KDC</acronym> database:
263</para>
264
265<screen><userinput><command>kadmin -l</command></userinput></screen>
266
267<para>
268Choose the defaults for now. You can go in later and change the
269defaults, should you feel the need. At the
270<userinput>kadmin&gt;</userinput> prompt, issue the following statement:
271</para>
272
273<screen><userinput><command>init <replaceable>[EXAMPLE.COM]</replaceable></command></userinput></screen>
274
275<para>
276The database must now be populated with at least one principle (user). For now,
277just use your regular login name or root. You may create as few, or as many
278principles as you wish using the following statement:
279</para>
280
281<screen><userinput><command>add <replaceable>[loginname]</replaceable></command></userinput></screen>
282
283<para>
284The <acronym>KDC</acronym> server and any machine running kerberized
285server daemons must have a host key installed:
286</para>
287
288<screen><userinput><command>add --random-key host/<replaceable>[hostname.example.com]</replaceable></command></userinput></screen>
289
290<para>
291After choosing the defaults when prompted, you will have to export the
292data to a keytab file:
293</para>
294
295<screen><userinput><command>ext host/<replaceable>[hostname.example.com]</replaceable></command></userinput></screen>
296
297<para>
298This should have created two files in
299<filename class="directory">/etc/heimdal</filename>:
300<filename>krb5.keytab</filename> (Kerberos 5) and
301<filename>srvtab</filename> (Kerberos 4). Both files should have 600
302(root rw only) permissions. Keeping the keytab files from public access
303is crucial to the overall security of the Kerberos installation.
304</para>
305
306<para>
307Eventually, you'll want to add server daemon principles to the database
308and extract them to the keytab file. You do this in the same way you
309created the host principles. Below is an example:
310</para>
311
312<screen><userinput><command>add --random-key ftp/<replaceable>[hostname.example.com]</replaceable></command></userinput></screen>
313
314<para>
315(choose the defaults)
316</para>
317
318<screen><userinput><command>ext ftp/<replaceable>[hostname.example.com]</replaceable></command></userinput></screen>
319
320<para>
321Exit the <command>kadmin</command> program (use <command>quit</command>
322or <command>exit</command>) and return back to the shell prompt. Start
323the <acronym>KDC</acronym> daemon manually, just to test out the
324installation:
325</para>
326
327<screen><userinput><command>/usr/sbin/kdc &amp;</command></userinput></screen>
328
329<para>
330Attempt to get a <acronym>TGT</acronym> (ticket granting ticket) with the
331following command:
332</para>
333
334<screen><userinput><command>kinit <replaceable>[loginname]</replaceable></command></userinput></screen>
335
336<para>
337You will be prompted for the password you created. After you get your
338ticket, you should list it with the following command:
339</para>
340
341<screen><userinput><command>klist</command></userinput></screen>
342
343<para>
344Information about the ticket should be displayed on the screen.
345</para>
346
347<para>
348To test the functionality of the keytab file, issue the following command:
349</para>
350
351<screen><userinput><command>ktutil list</command></userinput></screen>
352
353<para>
354This should dump a list of the host principals, along with the encryption
355methods used to access the principals.
356</para>
357
358<para>
359At this point, if everything has been successful so far, you can feel
360fairly confident in the installation and configuration of the package.
361</para>
362
363<para>Install the <filename>/etc/rc.d/init.d/heimdal</filename> init script
364included in the <xref linkend="intro-important-bootscripts"/>
365package:</para>
366
367<screen><userinput><command>make install-heimdal</command></userinput></screen>
368
369</sect4>
370
371<sect4><title>Using Kerberized Client Programs</title>
372
373<para>
374To use the kerberized client programs (<command>telnet</command>,
375<command>ftp</command>, <command>rsh</command>,
376<command>rxterm</command>, <command>rxtelnet</command>,
377<command>rcp</command>, <command>xnlock</command>), you first must get
378a <acronym>TGT</acronym>. Use the <command>kinit</command> program to
379get the ticket. After you've acquired the ticket, you can use the
380kerberized programs to connect to any kerberized server on the network.
381You will not be prompted for authentication until your ticket expires
382(default is one day), unless you specify a different user as a command
383line argument to the program.
384</para>
385
386<para>
387The kerberized programs will connect to non-kerberized daemons, warning
388you that authentication is not encrypted. As mentioned earlier, only the
389<command>ftp</command> program gives any trouble connecting to
390non-kerberized daemons.
391</para>
392
393<para>In order to use the <application>Heimdal</application>
394<application>X</application> programs, you'll need to add a service port
395entry to the <filename>/etc/services</filename> file for the
396<command>kxd</command> server. There is no 'standardized port number' for
397the 'kx' service in the IANA database, so you'll have to pick an unused port
398number. Add an entry to the <filename>services</filename> file similar to the
399entry below (substitute your chosen port number for
400<replaceable>[49150]</replaceable>):</para>
401
402<screen><userinput>kx <replaceable>[49150]</replaceable>/tcp # Heimdal kerberos X
403kx <replaceable>[49150]</replaceable>/udp # Heimdal kerberos X</userinput></screen>
404
405<para>
406For additional information consult <ulink
407url="http://www.linuxfromscratch.org/hints/downloads/files/heimdal.txt">the
408Heimdal hint</ulink> on which the above instructions are based.
409</para>
410
411</sect4>
412
413</sect3>
414
415</sect2>
416
417<sect2>
418<title>Contents</title>
419
420<para>The <application>Heimdal</application> package contains
421<command>afslog</command>,
422<command>dump_log</command>,
423<command>ftp</command>,
424<command>ftpd</command>,
425<command>hprop</command>,
426<command>hpropd</command>,
427<command>ipropd-master</command>,
428<command>ipropd-slave</command>,
429<command>kadmin</command>,
430<command>kadmind</command>,
431<command>kauth</command>,
432<command>kdc</command>,
433<command>kdestroy</command>,
434<command>kf</command>,
435<command>kfd</command>,
436<command>kgetcred</command>,
437<command>kinit</command>,
438<command>klist</command>,
439<command>kpasswd</command>,
440<command>kpasswdd</command>,
441<command>krb5-config</command>,
442<command>kstash</command>,
443<command>ktutil</command>,
444<command>kx</command>,
445<command>kxd</command>,
446<command>login</command>,
447<command>mk_cmds</command>,
448<command>otp</command>,
449<command>otpprint</command>,
450<command>pagsh</command>,
451<command>pfrom</command>,
452<command>popper</command>,
453<command>push</command>,
454<command>rcp</command>,
455<command>replay_log</command>,
456<command>rsh</command>,
457<command>rshd</command>,
458<command>rxtelnet</command>,
459<command>rxterm</command>,
460<command>string2key</command>,
461<command>su</command>,
462<command>telnet</command>,
463<command>telnetd</command>,
464<command>tenletxr</command>,
465<command>truncate_log</command>,
466<command>verify_krb5_conf</command>,
467<command>xnlock</command>,
468<filename class="libraryfile">libasn1</filename>,
469<filename class="libraryfile">libeditline</filename>,
470<filename class="libraryfile">libgssapi</filename>,
471<filename class="libraryfile">libhdb</filename>,
472<filename class="libraryfile">libkadm5clnt</filename>,
473<filename class="libraryfile">libkadm5srv</filename>,
474<filename class="libraryfile">libkafs</filename>,
475<filename class="libraryfile">libkrb5</filename>,
476<filename class="libraryfile">libotp</filename>,
477<filename class="libraryfile">libroken</filename>,
478<filename class="libraryfile">libsl</filename> and
479<filename class="libraryfile">libss</filename>.
480</para>
481
482</sect2>
483
484<sect2><title>Description</title>
485
486<sect3><title>afslog</title>
487<para><command>afslog</command> obtains <acronym>AFS</acronym> tokens for a
488number of cells.</para></sect3>
489
490<sect3><title>hprop</title>
491<para><command>hprop</command> takes a principal database in a specified
492format and converts it into a stream of <application>Heimdal</application>
493database records.</para></sect3>
494
495<sect3><title>hpropd</title>
496<para><command>hpropd</command> receives a database sent by
497<command>hprop</command> and writes it as a local database.</para></sect3>
498
499<sect3><title>kadmin</title>
500<para><command>kadmin</command> is a utility used to make modifications
501to the Kerberos database.</para></sect3>
502
503<sect3><title>kadmind</title>
504<para><command>kadmind</command> is a server for administrative access
505to the Kerberos database.</para></sect3>
506
507<sect3><title>kauth, kinit</title>
508<para><command>kauth</command> and <command>kinit</command> are used to
509authenticate to the Kerberos server as a principal and acquire a ticket
510granting ticket that can later be used to obtain tickets for other
511services.</para></sect3>
512
513<sect3><title>kdc</title>
514<para><command>kdc</command> is a Kerberos 5 server.</para></sect3>
515
516<sect3><title>kdestroy</title>
517<para><command>kdestroy</command> removes a principle's current set of
518tickets.</para></sect3>
519
520<sect3><title>kf</title>
521<para><command>kf</command> is a program which forwards tickets to a
522remote host through an authenticated and encrypted
523stream.</para></sect3>
524
525<sect3><title>kfd</title>
526<para><command>kfd</command> receives forwarded tickets.</para></sect3>
527
528<sect3><title>kgetcred</title>
529<para><command>kgetcred</command> obtains a ticket for a
530service.</para></sect3>
531
532<sect3><title>klist</title>
533<para><command>klist</command> reads and displays the current tickets in
534the credential cache.</para></sect3>
535
536<sect3><title>kpasswd</title>
537<para><command>kpasswd</command> is a program for changing Kerberos 5
538passwords.</para></sect3>
539
540<sect3><title>kpasswdd</title>
541<para><command>kpasswdd</command> is a Kerberos 5 password changing
542server.</para></sect3>
543
544<sect3><title>krb5-config</title>
545<para><command>krb5-config</command> gives information on how to link
546programs against <application>Heimdal</application> libraries.</para></sect3>
547
548<sect3><title>kstash</title>
549<para><command>kstash</command> stores the <acronym>KDC</acronym> master
550password in a file.</para></sect3>
551
552<sect3><title>ktutil</title>
553<para><command>ktutil</command> is a program for managing Kerberos
554keytabs.</para></sect3>
555
556<sect3><title>kx</title>
557<para><command>kx</command> is a program which securely forwards
558<application>X</application> connections.</para></sect3>
559
560<sect3><title>kxd</title>
561<para><command>kxd</command> is the daemon for
562<command>kx</command>.</para></sect3>
563
564<sect3><title>otp</title>
565<para><command>otp</command> manages one-time passwords.</para></sect3>
566
567<sect3><title>otpprint</title>
568<para><command>otpprint</command> prints lists of one-time
569passwords.</para></sect3>
570
571<sect3><title>rxtelnet</title>
572<para><command>rxtelnet</command> starts an <command>xterm</command>
573window with a telnet to a given host and forwards
574<application>X</application> connections.</para></sect3>
575
576<sect3><title>rxterm</title>
577<para><command>rxterm</command> starts a secure remote
578<command>xterm</command>.</para></sect3>
579
580<sect3><title>string2key</title>
581<para><command>string2key</command> maps a password into a
582key.</para></sect3>
583
584<sect3><title>tenletxr</title>
585<para><command>tenletxr</command> forwards <application>X</application>
586connections backwards.</para></sect3>
587
588<sect3><title>verify_krb5_conf</title>
589<para><command>verify_krb5_conf</command> checks
590<filename>krb5.conf</filename> file for obvious errors.</para></sect3>
591
592<sect3><title>xnlock</title>
593<para><command>xnlock</command> is a program that acts as a secure screen
594saver for workstations running <application>X</application>.</para></sect3>
595
596</sect2>
597
598</sect1>
Note: See TracBrowser for help on using the repository browser.