factorize AdSense code in a markdown template
[homepage.git] / hacking / software / pam-hooks.mdwn
1 # pam-hooks - PAM module for login/logout hooks
2 [[template id=adsense]]
3
4 **pam-hooks** is a tiny teeny [PAM](http://www.kernel.org/pub/linux/libs/pam/)
5 module enabling the execution of hook scripts when a PAM session is opened or
6 closed. The typical use case (actually, my use case) is the need of doing some
7 per-user set-up when a user logs via a PAM-aware login mechanism (e.g.
8 [GDM](http://www.gnome.org/projects/gdm/) in my case) and/or the need of doing
9 some per-user clean-up when the user logs out.
10
11 In order to use pam-hooks you need to add a line like the following at the end
12 of the PAM configuration file of the service you want the hooks to be attached
13 to (e.g. `/etc/pam.d/gdm`):
14
15     session required pam_hooks.so /some/where/pam-hook param1 ... paramN
16
17 The script `/some/where/pam-hook` will be invoked both when the corresponding
18 PAM session will be opened and when it will be closed. The script will be
19 executed using [`system()`](http://man.cx/system) (so beware of what you do!),
20 and passed the following arguments in the following order:
21
22 * all the *positional parameters* appended to the PAM configuration line (will
23 be `param1 ... paramN` in the sample line above)
24 * a single *tag* argument which will be one of `"open"` (passed when the session
25 is being opened), `"close"` (passed when the session is being closed)
26 * a single *username* argument, corresponding to the user which is being
27 opening/closing the session
28
29 ## Download
30
31 pam-hooks is freely distributed under the [GNU General Public
32 License](http://www.gnu.org/copyleft/gpl.html); it is available here for
33 **download**:
34
35 * [[changelog]], aka **news**
36 * version **0.0.1**:
37   * tarball (sources): [[.tar.gz|pam-hooks_0.0.1.orig.tar.gz]]
38   * unofficial [Debian](http://www.debian.org) packages for lenny/sid, i386:
39   [[.deb|libpam-hooks_0.0.1-1_i386.deb]], [[.dsc|pam-hooks_0.0.1-1.dsc]],
40   [[.orig.tar.gz|pam-hooks_0.0.1.orig.tar.gz]],
41   [[.diff.gz|pam-hooks_0.0.1-1.diff.gz]]  
42   <small>(I'm willing to upload pam-hooks to the Debian archive if there is
43   interest, just email me about it.)</small>
44