update for stretch
[hcoop/debian/libapache-mod-waklog.git] / README
... / ...
CommitLineData
1______________________________________________________________________________
2INTRO
3
4mod_waklog is an Apache module that provides aklog-like semantics
5for the web. mod_waklog will acquire (and store in the kernel) an
6AFS credential when a connection is opened, use the credential for
7the duration of the connection, and will remove the credential when
8the connection is closed.
9
10mod_waklog allows you to permit directories using AFS ACLs, and access
11them via a web browser. An ACL of "umweb:servers rl" is required for
12each mod_waklog-protected directory.
13
14mod_waklog allows scripts to run as you. Programs which use AFS
15credentials to authenticate themselves do so as you.
16
17mod_waklog often is used with mod_cosign, and uses the cosign-provided
18krbtgt to acquire an AFS credential; this extends single signon to AFS
19via the web.
20
21______________________________________________________________________________
22CONFIGURATION
23
24Mod_waklog understands these directives. Of these, only WaklogAFSCell
25is mandatory:
26
27WaklogAFSCell
28
29 Use the supplied AFS cell (required)
30
31WaklogEnabled
32
33 Enable waklog on a server, location, or directory basis
34
35WaklogDefaultPrincipal
36
37 Set the default principal that the server runs as; this principal
38 must have "l" access to every path that is served, regardless of
39 user credentials or WaklogLocationPrincipal directives.
40
41WaklogLocationPrincipal
42
43 Set the principal on a <Location>-specific basis
44
45WaklogDisableTokenCache (NOT YET IMPLEMENTED)
46
47 Ignore the token cache (<Location>-specific). This is useful for
48 scripts that need kerberos tickets; for example, a perl script that
49 uses kerberos authentication to contact a database. By supplying a
50 WaklogLocationPrincipal directive, mod_waklog can obtain the tickets
51 and tokens for the principal, but by not using the token cache the
52 script is assured that it will have tickets when it runs.
53
54WaklogUseUserTokens
55
56 Use the requesting user tokens (from webauth)
57
58______________________________________________________________________________
59PHASES
60
61Apache processes a request in multiple phases.
62
63mod_waklog runs at phase 0 to acquire credentials via a keytab, and
64runs at phase 2 to remove the credentials.
65
66mod_waklog runs at phase 7 to acquire credentials of whatever krbtgt
67is referenced via KRB5CCNAME (e.g., set by mod_cosign).
68
69mod_waklog runs at connection termination to remove the credentials
70it acquired at phase 0 or phase 7.
71
72Apache calls stat() between phase 1 and phase 2 to determine if it
73has access to the directory; if it doesn't have read access at that
74point, it won't try to read it again, even if later phases would
75acquire credentials which would allow it to do so. mod_waklog
76acquires an afs credential for a principal in the pts group
77umweb:servers at phase 0, and removes this credential at phase 2;
78directories permitted "umweb:servers rl" will allow the stat() call
79to succeed.
80
81______________________________________________________________________________
82BUILD
83
84make
85
86Be sure the paths to apxs, include files, and libraries are correct.
87
88If you compiled Apache 2 with large file support, be sure to have:
89
90 #define _LARGEFILE64_SOURCE
91
92in mod_waklog.c. If you run make and receive many errors about apr_off_t
93being undefined, you may need to add or comment out the above line.
94
95
96______________________________________________________________________________
97INSTALL
98
99Copy the ./.libs/mod_waklog.so to somewhere Apache can read and execute it.
100
101Add the following lines to your httpd.conf file:
102
103 LoadModule waklog_module /path/to/mod_waklog.so
104
105 <IfModule mod_waklog.c>
106 WaklogProtected On
107 </IfModule>
108