
                     ngIRCd - Next Generation IRC Server
                           http://ngircd.barton.de/

               (c)2001-2013 Alexander Barton and Contributors.
               ngIRCd is free software and published under the
                   terms of the GNU General Public License.

                                 -- PAM.txt --


ngIRCd can optionally be compiled to use PAM, the Pluggable Authentication
Modules library, for user authentication. When compiled with PAM support,
ngIRCd will authenticate all users connecting to the daemon using the
configured PAM modules in an asynchronous child process.

To enable PAM, you have to pass the command line parameter "--with-pam" to
the "configure" script. Please see the PAM documentation ("man 7 pam") for
details and information about configuring PAM and its individual modules.

A very simple -- and quite useless ;-) -- example would be:

	/etc/pam.d/ngircd:
	  auth  required  pam_debug.so

Here the "pam_debug" module will be called each time a client connects to
the ngIRCd and has sent its PASS, NICK, and USER commands.

The PAM library used by the ngIRCd daemon must be able to access its
configuration file, so don't forget to check permissions and run something
like this: "chmod 644 /etc/pam.d/ngircd".

Please note ONE VERY IMPORTANT THING:

All the PAM modules are executed with the privileges of the user ngIRCd
is running as. Therefore a lot of PAM modules aren't working as expected,
because they need root privileges ("pam_unix", for example)!
Only PAM modules not(!) requiring root privileges (such as "pam_pgsql",
"pam_mysql", "pam_opendirectory" ...) can be used in conjunction with ngIRCd.

More Examples:

 * Use an own "password file" for ngIRCd:

   Note: you can use the htpasswd(1) utility of Apache to manage password
   files used by pam_pwdfile, see "man htpasswd"!

	/etc/pam.d/ngircd:
	  auth  required  pam_pwdfile.so pwdfile=/etc/ngircd/ngircd.passwd
