Pluggable Authentication Module (PAM)

The Great Plains Free-Net was looking to create a User Management System for the users of its Internet service accounts. Their environment heavily leveraged RedHat  Linux 6.x at the time and there was a significant need to allow users to change their passwords on the system using a web-based interface. Unfortunately at the time, there was no library for PERL or any other web-friendly language.

I wrote this Application Package Interface (API) to interact with the Linux' "Pluggable Authentication Module" or PAM routines. Although the code is in C, it can easily be called as a system call from any scripting or programming language.

The files contain:

  1. The source code
  2. The makefile to create the entire package (if you are unfamiliar with makefiles, they are easy to learn)
  3. The list of required library files on the system to support this API
  4. A typescript output showing a test run of the compiled code.