Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > fc533178f6297fcf3a4cf0bad9ddaece > files > 20

pam-devel-1.1.5-5.fc16.i686.rpm

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>The Linux-PAM Module Writers' Guide</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><meta name="description" content="This manual documents what a programmer needs to know in order to write a module that conforms to the Linux-PAM standard.It also discusses some security issues from the point of view of the module programmer."><link rel="home" href="Linux-PAM_MWG.html" title="The Linux-PAM Module Writers' Guide"><link rel="next" href="mwg-introduction.html" title="Chapter 1. Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The Linux-PAM Module Writers' Guide</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="mwg-introduction.html">Next</a></td></tr></table><hr></div><div class="book" title="The Linux-PAM Module Writers' Guide"><div class="titlepage"><div><div><h1 class="title"><a name="mwg"></a>The Linux-PAM Module Writers' Guide</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">Andrew G.</span> <span class="surname">Morgan</span></h3><code class="email">&lt;<a class="email" href="mailto:morgan@kernel.org">morgan@kernel.org</a>&gt;</code></div><div class="author"><h3 class="author"><span class="firstname">Thorsten</span> <span class="surname">Kukuk</span></h3><code class="email">&lt;<a class="email" href="mailto:kukuk@thkukuk.de">kukuk@thkukuk.de</a>&gt;</code></div></div></div><div><p class="releaseinfo">Version 1.1.2, 31. August 2010</p></div><div><div class="abstract" title="Abstract"><p class="title"><b>Abstract</b></p><p>
        This manual documents what a programmer needs to know in order
        to write a module that conforms to the
        <span class="emphasis"><em>Linux-PAM</em></span> standard.It also
        discusses some security issues from the point of view of the
        module programmer.
      </p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="mwg-introduction.html">1. Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="mwg-introduction-description.html">1.1. Description</a></span></dt><dt><span class="section"><a href="mwg-introduction-synopsis.html">1.2. Synopsis</a></span></dt></dl></dd><dt><span class="chapter"><a href="mwg-expected-by-module.html">2. What can be expected by the module</a></span></dt><dd><dl><dt><span class="section"><a href="mwg-expected-by-module-item.html">2.1. 
        Getting and setting <span class="emphasis"><em>PAM_ITEM</em></span>s and
        <span class="emphasis"><em>data</em></span>
      </a></span></dt><dd><dl><dt><span class="section"><a href="mwg-expected-by-module-item.html#mwg-pam_set_data">2.1.1. Set module internal data</a></span></dt><dt><span class="section"><a href="mwg-expected-by-module-item.html#mwg-pam_get_data">2.1.2. Get module internal data</a></span></dt><dt><span class="section"><a href="mwg-expected-by-module-item.html#mwg-pam_set_item">2.1.3. Setting PAM items</a></span></dt><dt><span class="section"><a href="mwg-expected-by-module-item.html#mwg-pam_get_item">2.1.4. Getting PAM items</a></span></dt><dt><span class="section"><a href="mwg-expected-by-module-item.html#mwg-pam_get_user">2.1.5. Get user name</a></span></dt><dt><span class="section"><a href="mwg-expected-by-module-item.html#mwg-pam_conv">2.1.6. The conversation function</a></span></dt><dt><span class="section"><a href="mwg-expected-by-module-item.html#adg-pam_putenv">2.1.7. Set or change PAM environment variable</a></span></dt><dt><span class="section"><a href="mwg-expected-by-module-item.html#adg-pam_getenv">2.1.8. Get a PAM environment variable</a></span></dt><dt><span class="section"><a href="mwg-expected-by-module-item.html#adg-pam_getenvlist">2.1.9. Getting the PAM environment</a></span></dt></dl></dd><dt><span class="section"><a href="mwg-expected-by-module-other.html">2.2. 
        Other functions provided by <code class="filename">libpam</code>
      </a></span></dt><dd><dl><dt><span class="section"><a href="mwg-expected-by-module-other.html#adg-pam_strerror">2.2.1. Strings describing PAM error codes</a></span></dt><dt><span class="section"><a href="mwg-expected-by-module-other.html#adg-pam_fail_delay">2.2.2. Request a delay on failure</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="mwg-expected-of-module.html">3. What is expected of a module</a></span></dt><dd><dl><dt><span class="section"><a href="mwg-expected-of-module-overview.html">3.1. Overview</a></span></dt><dd><dl><dt><span class="section"><a href="mwg-expected-of-module-overview.html#mwg-expected-of-module-overview-1">3.1.1. Functional independence</a></span></dt><dt><span class="section"><a href="mwg-expected-of-module-overview.html#mwg-expected-of-module-overview-2">3.1.2. Minimizing administration problems</a></span></dt><dt><span class="section"><a href="mwg-expected-of-module-overview.html#mwg-expected-of-module-overview-3">3.1.3. Arguments supplied to the module</a></span></dt></dl></dd><dt><span class="section"><a href="mwg-expected-of-module-auth.html">3.2. Authentication management</a></span></dt><dd><dl><dt><span class="section"><a href="mwg-expected-of-module-auth.html#mwg-pam_sm_authenticate">3.2.1. Service function for user authentication</a></span></dt><dt><span class="section"><a href="mwg-expected-of-module-auth.html#mwg-pam_sm_setcred">3.2.2. Service function to alter credentials</a></span></dt></dl></dd><dt><span class="section"><a href="mwg-expected-of-module-acct.html">3.3. Account management</a></span></dt><dd><dl><dt><span class="section"><a href="mwg-expected-of-module-acct.html#mwg-pam_sm_acct_mgmt">3.3.1. Service function for account management</a></span></dt></dl></dd><dt><span class="section"><a href="mwg-expected-of-module-session.html">3.4. Session management</a></span></dt><dd><dl><dt><span class="section"><a href="mwg-expected-of-module-session.html#mwg-pam_sm_open_session">3.4.1. Service function to start session management</a></span></dt><dt><span class="section"><a href="mwg-expected-of-module-session.html#mwg-pam_sm_close_session">3.4.2. Service function to terminate session management</a></span></dt></dl></dd><dt><span class="section"><a href="mwg-expected-of-module-chauthtok.html">3.5. Authentication token management</a></span></dt><dd><dl><dt><span class="section"><a href="mwg-expected-of-module-chauthtok.html#mwg-pam_sm_chauthtok">3.5.1. Service function to alter authentication token</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="mwg-see-options.html">4. Generic optional arguments</a></span></dt><dt><span class="chapter"><a href="mwg-see-programming.html">5. Programming notes</a></span></dt><dd><dl><dt><span class="section"><a href="mwg-see-programming-sec.html">5.1. Security issues for module creation</a></span></dt><dd><dl><dt><span class="section"><a href="mwg-see-programming-sec.html#mwg-see-programming-sec-res">5.1.1. Sufficient resources</a></span></dt><dt><span class="section"><a href="mwg-see-programming-sec.html#mwg-see-programming-sec-who">5.1.2. Who´s who?</a></span></dt><dt><span class="section"><a href="mwg-see-programming-sec.html#mwg-see-programming-sec-conv">5.1.3. Using the conversation function</a></span></dt><dt><span class="section"><a href="mwg-see-programming-sec.html#mwg-see-programming-sec-token">5.1.4. Authentication tokens</a></span></dt></dl></dd><dt><span class="section"><a href="mwg-see-programming-syslog.html">5.2. Use of <span class="citerefentry"><span class="refentrytitle">syslog</span>(3)</span></a></span></dt><dt><span class="section"><a href="mwg-see-programming-libs.html">5.3. Modules that require system libraries</a></span></dt></dl></dd><dt><span class="chapter"><a href="mwg-example.html">6. An example module</a></span></dt><dt><span class="chapter"><a href="mwg-see-also.html">7. See also</a></span></dt><dt><span class="chapter"><a href="mwg-author.html">8. Author/acknowledgments</a></span></dt><dt><span class="chapter"><a href="mwg-copyright.html">9. Copyright information for this document</a></span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="mwg-introduction.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. Introduction</td></tr></table></div></body></html>