Daniel Parthey <daniel.parthey@informatik.tu-chemnitz.de>:
The PAM documentation can be found at: http://www.linux-pam.org/Linux-PAM-html/
This one I have already visited, if the link colour in the browser is to be belived. However it didn't make much of an impression at the time.
Now, however, after actually writing a PAM module, what that document says, makes sens to me... so there is probably something about that document that needs improvement.
My suggestion for improvement would be: start with a simple example, and explain out from that. First "how", then later you can explain "why" and "what".
The Linux-PAM System Administrators' Guide http://www.linux-pam.org/Linux-PAM-html/Linux-PAM_SAG.html contains a list of standard modules.
Many interesting modules here. Wonder why this one never showed up in my sources.
The Linux-PAM Application Developers' Guide http://www.linux-pam.org/Linux-PAM-html/Linux-PAM_ADG.html explains how to develop modules.
This one I hadn't visited before. But again: starting with a simple example and explaining ot from that would probably be a good idea.
Here was a good module: http://www.rkeene.org/projects/info/wiki/222
In retrospect, after writing this module https://github.com/steinarb/pam_dovecotmd5pwd it was suprisingly easy to get the module up and running.