Server IP : 103.119.228.120 / Your IP : 18.221.102.0 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/ssl/local/ssl/local/ssl/share/doc/pam-devel-1.1.8/html/ |
Upload File : |
<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.78.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"><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"><<a class="email" href="mailto:morgan@kernel.org">morgan@kernel.org</a>></code></div><div class="author"><h3 class="author"><span class="firstname">Thorsten</span> <span class="surname">Kukuk</span></h3><code class="email"><<a class="email" href="mailto:kukuk@thkukuk.de">kukuk@thkukuk.de</a>></code></div></div></div><div><p class="releaseinfo">Version 1.1.2, 31. August 2010</p></div><div><div class="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 class="toc"><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>