source: postlfs/security/heimdal.xml@ 359e1043

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 359e1043 was 359e1043, checked in by Randy McMurchy <randy@…>, 20 years ago

Minor modifications to Heimdal; added IANA to Glossary

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

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