Server IP : 103.119.228.120 / Your IP : 18.118.37.85 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/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 Application Developers' Guide</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><meta name="description" content="This manual documents what an application developer needs to know about the Linux-PAM library. It describes how an application might use the Linux-PAM library to authenticate users. In addition it contains a description of the functions to be found in libpam_misc library, that can be used in general applications. Finally, it contains some comments on PAM related security issues for the application developer."><link rel="home" href="Linux-PAM_ADG.html" title="The Linux-PAM Application Developers' Guide"><link rel="next" href="adg-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 Application Developers' 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="adg-introduction.html">Next</a></td></tr></table><hr></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a name="adg"></a>The Linux-PAM Application Developers' 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 an application developer needs to know about the <span class="emphasis"><em>Linux-PAM</em></span> library. It describes how an application might use the <span class="emphasis"><em>Linux-PAM</em></span> library to authenticate users. In addition it contains a description of the functions to be found in <code class="filename">libpam_misc</code> library, that can be used in general applications. Finally, it contains some comments on PAM related security issues for the application developer. </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="adg-introduction.html">1. Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="adg-introduction-description.html">1.1. Description</a></span></dt><dt><span class="section"><a href="adg-introduction-synopsis.html">1.2. Synopsis</a></span></dt></dl></dd><dt><span class="chapter"><a href="adg-overview.html">2. Overview</a></span></dt><dt><span class="chapter"><a href="adg-interface.html">3. The public interface to <span class="emphasis"><em>Linux-PAM</em></span> </a></span></dt><dd><dl><dt><span class="section"><a href="adg-interface-by-app-expected.html">3.1. What can be expected by the application</a></span></dt><dd><dl><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_start">3.1.1. Initialization of PAM transaction</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_end">3.1.2. Termination of PAM transaction</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_set_item">3.1.3. Setting PAM items</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_get_item">3.1.4. Getting PAM items</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_strerror">3.1.5. Strings describing PAM error codes</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_fail_delay">3.1.6. Request a delay on failure</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_authenticate">3.1.7. Authenticating the user</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_setcred">3.1.8. Setting user credentials</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_acct_mgmt">3.1.9. Account validation management</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_chauthtok">3.1.10. Updating authentication tokens</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_open_session">3.1.11. Start PAM session management</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_close_session">3.1.12. terminating PAM session management</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_putenv">3.1.13. Set or change PAM environment variable</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_getenv">3.1.14. Get a PAM environment variable</a></span></dt><dt><span class="section"><a href="adg-interface-by-app-expected.html#adg-pam_getenvlist">3.1.15. Getting the PAM environment</a></span></dt></dl></dd><dt><span class="section"><a href="adg-interface-of-app-expected.html">3.2. What is expected of an application</a></span></dt><dd><dl><dt><span class="section"><a href="adg-interface-of-app-expected.html#adg-pam_conv">3.2.1. The conversation function</a></span></dt></dl></dd><dt><span class="section"><a href="adg-interface-programming-notes.html">3.3. Programming notes</a></span></dt></dl></dd><dt><span class="chapter"><a href="adg-security.html">4. Security issues of <span class="emphasis"><em>Linux-PAM</em></span> </a></span></dt><dd><dl><dt><span class="section"><a href="adg-security-library-calls.html">4.1. Care about standard library calls</a></span></dt><dt><span class="section"><a href="adg-security-service-name.html">4.2. Choice of a service name</a></span></dt><dt><span class="section"><a href="adg-security-conv-function.html">4.3. The conversation function</a></span></dt><dt><span class="section"><a href="adg-security-user-identity.html">4.4. The identity of the user</a></span></dt><dt><span class="section"><a href="adg-security-resources.html">4.5. Sufficient resources</a></span></dt></dl></dd><dt><span class="chapter"><a href="adg-libpam_misc.html">5. A library of miscellaneous helper functions</a></span></dt><dd><dl><dt><span class="section"><a href="adg-libpam-functions.html">5.1. Functions supplied</a></span></dt><dd><dl><dt><span class="section"><a href="adg-libpam-functions.html#adg-misc_conv">5.1.1. Text based conversation function</a></span></dt><dt><span class="section"><a href="adg-libpam-functions.html#adg-pam_misc_paste_env">5.1.2. Transcribing an environment to that of PAM</a></span></dt><dt><span class="section"><a href="adg-libpam-functions.html#adg-pam_misc_drop_env">5.1.3. Liberating a locally saved environment</a></span></dt><dt><span class="section"><a href="adg-libpam-functions.html#adg-pam_misc_setenv">5.1.4. BSD like PAM environment variable setting</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="adg-porting.html">6. Porting legacy applications</a></span></dt><dt><span class="chapter"><a href="adg-glossary.html">7. Glossary of PAM related terms</a></span></dt><dt><span class="chapter"><a href="adg-example.html">8. An example application</a></span></dt><dt><span class="chapter"><a href="adg-files.html">9. Files</a></span></dt><dt><span class="chapter"><a href="adg-see-also.html">10. See also</a></span></dt><dt><span class="chapter"><a href="adg-author.html">11. Author/acknowledgments</a></span></dt><dt><span class="chapter"><a href="adg-copyright.html">12. 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="adg-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>