doc/PAM.txt: add a slightly more useful example
[ngircd-alex.git] / doc / PAM.txt
1
2                      ngIRCd - Next Generation IRC Server
3                            http://ngircd.barton.de/
4
5                (c)2001-2013 Alexander Barton and Contributors.
6                ngIRCd is free software and published under the
7                    terms of the GNU General Public License.
8
9                                  -- PAM.txt --
10
11
12 ngIRCd can optionally be compiled to use PAM, the Pluggable Authentication
13 Modules library, for user authentication. When compiled with PAM support,
14 ngIRCd will authenticate all users connecting to the daemon using the
15 configured PAM modules in an asynchronous child process.
16
17 To enable PAM, you have to pass the command line parameter "--with-pam" to
18 the "configure" script. Please see the PAM documentation ("man 7 pam") for
19 details and information about configuring PAM and its individual modules.
20
21 A very simple -- and quite useless ;-) -- example would be:
22
23         /etc/pam.d/ngircd:
24           auth  required  pam_debug.so
25
26 Here the "pam_debug" module will be called each time a client connects to
27 the ngIRCd and has sent its PASS, NICK, and USER commands.
28
29 Please note ONE VERY IMPORTANT THING:
30
31 All the PAM modules are executed with the privileges of the user ngIRCd
32 is running as. Therefore a lot of PAM modules aren't working as expected,
33 because they need root privileges ("pam_unix", for example)!
34 Only PAM modules not(!) requiring root privileges (such as "pam_pgsql",
35 "pam_mysql", "pam_opendirectory" ...) can be used in conjunction with ngIRCd.
36
37 More Examples:
38
39  * Use an own "password file" for ngIRCd:
40
41    Note: you can use the htpasswd(1) utility of Apache to manage password
42    files used by pam_pwdfile, see "man htpasswd"!
43
44         /etc/pam.d/ngircd:
45           auth  required  pam_pwdfile.so pwdfile=/etc/ngircd/ngircd.passwd