chiark / gitweb /
debugging for thing that crashed
[innduct.git] / doc / pod / auth_krb5.pod
1 =head1 NAME
2
3 auth_krb5 - nnrpd Kerberos v5 authenticator
4
5 =head1 SYNOPSIS
6
7 B<auth_krb5> [B<-i> I<instance>]
8
9 =head1 DESCRIPTION
10
11 This program does authentication for B<nnrpd> against a Kerberos v5 KDC.
12 This is NOT real Kerberos authentication using service tickets; instead, a
13 username and password is used to attempt to obtain a Kerberos v5 TGT to
14 confirm that they are valid.  As such, this authenticator assumes that
15 B<nnrpd> has been given the user's username and password, and therefore is
16 not as secure as real Kerberos authentication.  It generally should only
17 be used with NNTP over SSL to protect the password from sniffing.
18
19 =head1 OPTIONS
20
21 =over 4
22
23 =item B<-i> I<instance>
24
25 If this option is given, I<instance> will be used as the instance of the
26 principal received from B<nnrpd> and authentication will be done against
27 that principal instead of the base principal.  In other words, a principal
28 like C<user>, when passed to B<auth_krb5> invoked with C<-i nntp>, will be
29 transformed into C<user/nntp> before attempting Kerberos authentication.
30
31 Since giving one's password to B<nnrpd> is not as secure as normal
32 Kerberos authentication, this option supports a configuration where all
33 users are given a separate instance just for news authentication with its
34 own password, so their regular account password isn't exposed via NNTP.
35
36 =back
37
38 =head1 EXAMPLE
39
40 The following readers.conf(5) fragment tells nnrpd to authenticate users
41 by attempting to obtain Kerberos v5 TGTs for them, appending an instance
42 of C<nntp> to usernames before doing so:
43
44     auth kerberos {
45         auth: "auth_krb5 -i nntp"
46     }
47
48     access kerberos {
49         users: "*/nntp"
50         newsgroups: example.*
51     }
52
53 Access is granted to the example.* groups for all users who successfully
54 authenticate.
55
56 =head1 BUGS
57
58 Currently, any username containing realm information (containing C<@>) is
59 rejected.  This is to prevent someone from passing in a username
60 corresponding to a principal in another realm that they have access to and
61 gaining access to the news server via it.  However, this is also something
62 that people may wish to do under some circumstances, so there should be a
63 better way of handling it (such as, perhaps, a list of acceptable realms
64 or a -r flag specifying the realm in which to attempt authentication).
65
66 It's not clear the right thing to do when the username passed in contains
67 a C</> and B<-i> was also given.  Right now, B<auth_krb5> will create a
68 malformed Kerberos principal with multiple instances and attempt to
69 authenticate against it, which will fail but perhaps not with the best
70 error message.
71
72 =head1 HISTORY
73
74 Originally written by Christopher P. Lindsey.  This documentation was
75 written by Russ Allbery <rra@stanford.edu> based on Christopher's original
76 README file.
77
78 $Id: auth_krb5.pod 5897 2002-12-03 03:41:06Z rra $
79
80 =head1 SEE ALSO
81
82 nnrpd(8), readers.conf(5)
83
84 The latest version of Christopher's original B<nnrpkrb5auth> may be found
85 on his web site at L<http://www.mallorn.com/tools/>.
86
87 =cut