Crate pam

source · []
Expand description

Interface to the pluggable authentication module framework (PAM).

The goal of this library is to provide a type-safe API that can be used to interact with PAM. The library is incomplete - currently it supports a subset of functions for use in a pam authentication module. A pam module is a shared library that is invoked to authenticate a user, or to perform other functions.

For general information on writing pam modules, see The Linux-PAM Module Writers’ Guide

A typical authentication module will define an external function called pam_sm_authenticate(), which will use functions in this library to interrogate the program that requested authentication for more information, and to render a result. For a working example that uses this library, see toznyauth-pam.

Note that constants that are normally read from pam header files are hard-coded in the constants module. The values there are taken from a Linux system. That means that it might take some work to get this library to work on other platforms.

Modules

Functions for use in pam modules.

Macros

Macro to generate the extern "C" entrypoint bindings needed by PAM