<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>The Linux-PAM Module Writers' Guide</TITLE> <LINK HREF="pam_modules-1.html" REL=next> </HEAD> <BODY> <A HREF="pam_modules-1.html">Next</A> Previous Contents <HR> <H1>The Linux-PAM Module Writers' Guide</H1> <H2>Andrew G. Morgan, <CODE>morgan@kernel.org</CODE></H2>DRAFT v0.75 2001/02/21 <P><HR> <EM>This manual documents what a programmer needs to know in order to write a module that conforms to the <B>Linux-PAM</B> standard. It also discusses some security issues from the point of view of the module programmer.</EM> <HR> <P> <H2><A NAME="toc1">1.</A> <A HREF="pam_modules-1.html">Introduction</A></H2> <UL> <LI><A HREF="pam_modules-1.html#ss1.1">1.1 Synopsis</A> <LI><A HREF="pam_modules-1.html#ss1.2">1.2 Description</A> </UL> <P> <H2><A NAME="toc2">2.</A> <A HREF="pam_modules-2.html">What can be expected by the module</A></H2> <UL> <LI><A HREF="pam_modules-2.html#ss2.1">2.1 Getting and setting <CODE>PAM_ITEM</CODE>s and <EM>data</EM></A> <LI><A HREF="pam_modules-2.html#ss2.2">2.2 Other functions provided by <CODE>libpam</CODE></A> </UL> <P> <H2><A NAME="toc3">3.</A> <A HREF="pam_modules-3.html">What is expected of a module</A></H2> <UL> <LI><A HREF="pam_modules-3.html#ss3.1">3.1 Overview</A> <LI><A HREF="pam_modules-3.html#ss3.2">3.2 Authentication management</A> <LI><A HREF="pam_modules-3.html#ss3.3">3.3 Account management</A> <LI><A HREF="pam_modules-3.html#ss3.4">3.4 Session management</A> <LI><A HREF="pam_modules-3.html#ss3.5">3.5 Password management</A> </UL> <P> <H2><A NAME="toc4">4.</A> <A HREF="pam_modules-4.html">Generic optional arguments</A></H2> <P> <H2><A NAME="toc5">5.</A> <A HREF="pam_modules-5.html">Programming notes</A></H2> <UL> <LI><A HREF="pam_modules-5.html#ss5.1">5.1 Security issues for module creation</A> <LI><A HREF="pam_modules-5.html#ss5.2">5.2 Use of <CODE>syslog(3)</CODE></A> <LI><A HREF="pam_modules-5.html#ss5.3">5.3 Modules that require system libraries</A> <LI><A HREF="pam_modules-5.html#ss5.4">5.4 Added requirements for <EM>statically</EM> loaded modules.</A> </UL> <P> <H2><A NAME="toc6">6.</A> <A HREF="pam_modules-6.html">An example module file</A></H2> <P> <H2><A NAME="toc7">7.</A> <A HREF="pam_modules-7.html">Files</A></H2> <P> <H2><A NAME="toc8">8.</A> <A HREF="pam_modules-8.html">See also</A></H2> <P> <H2><A NAME="toc9">9.</A> <A HREF="pam_modules-9.html">Notes</A></H2> <P> <H2><A NAME="toc10">10.</A> <A HREF="pam_modules-10.html">Author/acknowledgments</A></H2> <P> <H2><A NAME="toc11">11.</A> <A HREF="pam_modules-11.html">Bugs/omissions</A></H2> <P> <H2><A NAME="toc12">12.</A> <A HREF="pam_modules-12.html">Copyright information for this document</A></H2> <HR> <A HREF="pam_modules-1.html">Next</A> Previous Contents </BODY> </HTML>