⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1118.html

📁 著名的linux英雄站点的文档打包
💻 HTML
📖 第 1 页 / 共 3 页
字号:
    }<br>
<br>
    /* 通过帐户管理检查之后则打开会话 */<br>
    if (status = pam_open_session(pamh, 0) != PAM_SUCCESS)<br>
        login_exit(status);<br>
<br>
    /* 设置用户组 */<br>
    setgid(pwd-&gt;pw_gid);<br>
<br>
    /*<br>
    * Initialize the supplementary group access list before<br>
    * pam_setcred because PAM modules might add groups<br>
    * during the pam_setcred call<br>
    */<br>
    initgroups(user_name, pwd-&gt;pw_gid);<br>
<br>
    status = pam_setcred(pamh, PAM_ESTABLISH_CRED);<br>
    if (status != PAM_SUCCESS)<br>
        login_exit(status);<br>
<br>
    /* 设置真实的用户ID(或者有效的用户ID)*/<br>
    setuid(pwd-&gt;pw_uid);<br>
<br>
    pam_end(pamh, PAM_SUCCESS);  /* PAM事务的结束 */<br>
<br>
<br>
    /*<br>
    此处可用来实现与login有关的其它内容<br>
    */<br>
}<br>
<br>
/* 出错则清理现场并退出 */<br>
static void login_exit(int exit_code)<br>
{<br>
    if (pamh)<br>
        pam_end(pamh, PAM_ABORT);<br>
    exit(exit_code);<br>
}<br>
<br>
<br>
/* 这个回调函数被PAM认证模块调用以便显示错误信息或者或者用来取得用户输入,采用图<br>
形界面的服务程序则应使用图形界面来取得 用户输入或显示提示信息*/<br>
int login_conv(int num_msg, struct pam_message **msg, struct pam_response **resp<br>
onse, void *appdata_ptr)<br>
{<br>
    while (num_msg--)<br>
    {<br>
        switch (m-&gt;msg_style)<br>
        {<br>
            case PAM_PROMPT_ECHO_OFF:<br>
                r-&gt;resp = strdup(getpass(m-&gt;msg));<br>
                break;<br>
            case PAM_PROMPT_ECHO_ON:<br>
                (void) fputs(m-&gt;msg, stdout);<br>
                r-&gt;resp = malloc(PAM_MAX_RESP_SIZE);<br>
                fgets(r-&gt;resp, PAM_MAX_RESP_SIZE, stdin);<br>
                /* add code here to remove  from fputs */<br>
                break;<br>
            case PAM_ERROR_MSG:<br>
                (void) fputs(m-&gt;msg, stderr);<br>
                break;<br>
            case PAM_TEXT_INFO:<br>
                (void) fputs(m-&gt;msg, stdout);<br>
                break;<br>
            default:<br>
                log_error();<br>
                break;<br>
        }<br>
    }<br>
    return (PAM_SUCCESS);<br>
}<br>
<br>
七、PAM SPI<br>
<br>
当服务程序(ftpd、telnetd等)调用PAM API函数pam_xxx( )时,由PAM 框架(libpam)根<br>
据该服务在/etc/pam.conf文件中的配置调用指 定的PAM模块中对应的SPI函数pam_sm_xxx( <br>
)。如下:<br>
<br>
<br>
<br>
<br>
API函数的名字为pam_xxx( ),对应的SPI函数的名字为pam_sm_xxx( ),即每个服务模块需要<br>
引出相应的函数以供libpam调用。为方便对 照,再列一下。<br>
<br>
<br>
API                                    对应的 SPI<br>
<br>
帐号管理 pam_acct_mgmt( )              pam_sm_acct_mgmt( )<br>
<br>
认证管理 pam_authenticate( )          pam_ sm_authenticate( )<br>
<br>
密码管理 pam_chauthtok( )              pam_ sm_chauthtok( )<br>
<br>
会话管理 pam_open_session( )          pam_ sm_open_session( )<br>
<br>
会话管理 pam_close_session( )          pam_ sm_close_session( )<br>
<br>
认证管理 pam_setcred( )                pam_ sm_setcred( )<br>
<br>
<br>
<br>
<br>
八、常用的PAM服务模块<br>
<br>
下面是Linux提供的PAM模块列表(只是其中一部分):<br>
<br>
模块文件          模块功能描述                  相关配置文件<br>
<br>
pam_access      提供logdaemon风格的登录控制    /etc/security/access.conf<br>
<br>
pam_chroot      提供类似chroot命令的功能<br>
<br>
<br>
pam_cracklib    对密码的强度进行一定的检查    库文件libcrack和字典文件<br>
                                                /usr/lib/cracklib_dict<br>
<br>
pam_deny        总是无条件地使认证失败<br>
<br>
pam_env          设置或取消环境变量            /etc/security/pam_env.conf<br>
<br>
pam_filter      对输入输出流进行过滤          filters<br>
<br>
pam_ftp.so      对匿名ftp用户进行认证<br>
<br>
pam_group        当用户在指定的终端上请求指定的 /etc/security/group.conf<br>
                服务时赋予该用户相应的组权限<br>
<br>
pam_issue        在提示用户输入用户名之前显示  /etc/issue<br>
                /etc/issue文件的内容<br>
<br>
pam_krb4        对用户密码进行Kerberos认证    相应的Kerberos库文件<br>
<br>
pam_lastlog      在用户登录成功后显示关于      /var/log/lastlog<br>
                用户上次登录的信息,并维护<br>
                /var/log/lastlog文件。<br>
<br>
pam_limits      限制用户会话所能使用的系统资源 /etc/security/limits.conf<br>
<br>
pam_listfile    根据指定的某个文件决定是否    例如/etc/ftpusers<br>
                允许或禁止提供服务<br>
<br>
pam_mail        检查用户的邮箱中是否有新邮件    /var/spool/mail/xxxx<br>
<br>
pam_mkhomedir    为用户建立主目录                /etc/skel/<br>
<br>
pam_motd        显示/etc/motd文件的内容        /etc/motd<br>
<br>
pam_nologin      根据/etc/nologin文件的存在与否  /etc/nologin<br>
                来决定用户认证是否成功<br>
<br>
pam_permit      总是无条件地使认证成功<br>
<br>
<br>
pam_pwdb        作为pam_unix_xxxx模块的一个替代。/etc/pwdb.conf<br>
                使用Password Database通用接口<br>
                进行认证。<br>
<br>
pam_radius      提供远程身份验证拨入用户服务<br>
                (RADIUS)的认证<br>
<br>
<br>
pam_rhosts_auth  利用文件~/.rhosts和            /etc/hosts.equiv和~/.rhosts<br>
                /etc/hosts.equiv对用户进行认证。<br>
<br>
pam_rootok      检查用户是否为超级用户,如果<br>
                是超级用户则无条件地通过认证。<br>
<br>
<br>
pam_securetty    提供标准的Unix securetty检查  /etc/securetty<br>
<br>
pam_time        提供基于时间的控制,比如限制  /etc/security/time.conf<br>
                用户只能在某个时间段内才能登录<br>
<br>
pam_unix        提供标准的Unix认证            /etc/passwd和 /etc/shadow<br>
<br>
pam_userdb      利用Berkeley DB数据库来检查    Berkeley DB<br>
                用户/密码<br>
<br>
pam_warn        利用syslog( )记录一条告警信息<br>
<br>
<br>
pam_wheel        只允许wheel组的用户有超级用户<br>
                的存取权限<br>
<br>
参考资料:<br>
<br>
1、DCE/OSF-RFC 86.0<br>
2、Linux-PAM documentation & source code<br>
3、Sun Solaris PAM documentation<br>
<br>
-- <br>
</FONT><br>
                                      </TD>
                                    </TR>
                                <TR>
                                <TD colSpan=2><FONT 
                                class=middlefont></FONT><BR>
                                        <FONT 
                                class=normalfont>全文结束</FONT> </TD>
                                    </TR>
                                <TR>
                                <TD background="images/dot.gif" tppabs="http://www.linuxhero.com/docs/images/dot.gif" colSpan=2 
                                height=10></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV></TD>
                        <TD vAlign=top width="20%" 
                      background="images/line.gif" tppabs="http://www.linuxhero.com/docs/images/line.gif" rowSpan=2> 
                          <DIV align=center> 
                            <table class=tableoutline cellspacing=1 cellpadding=4 
                        width="100%" align=center border=0>
                              <tr class=firstalt> 
                                <td noWrap background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colspan=2 height=21>
                                <font class=normalfont><b>所有分类</b></font></td>
                              </tr>
<tr class=secondalt> <td noWrap width=27%> <font class=normalfont>1:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type1.html" tppabs="http://www.linuxhero.com/docs/type1.html">非技术类</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>2:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type2.html" tppabs="http://www.linuxhero.com/docs/type2.html">基础知识</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>3:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type3.html" tppabs="http://www.linuxhero.com/docs/type3.html">指令大全</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>4:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type4.html" tppabs="http://www.linuxhero.com/docs/type4.html">shell</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>5:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type5.html" tppabs="http://www.linuxhero.com/docs/type5.html">安装启动</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>6:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type6.html" tppabs="http://www.linuxhero.com/docs/type6.html">xwindow</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>7:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type7.html" tppabs="http://www.linuxhero.com/docs/type7.html">kde</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>8:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type8.html" tppabs="http://www.linuxhero.com/docs/type8.html">gnome</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>9:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type9.html" tppabs="http://www.linuxhero.com/docs/type9.html">输入法类</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>10:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type10.html" tppabs="http://www.linuxhero.com/docs/type10.html">美化汉化</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>11:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type11.html" tppabs="http://www.linuxhero.com/docs/type11.html">网络配置</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>12:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type12.html" tppabs="http://www.linuxhero.com/docs/type12.html">存储备份</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>13:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type13.html" tppabs="http://www.linuxhero.com/docs/type13.html">杂项工具</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>14:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type14.html" tppabs="http://www.linuxhero.com/docs/type14.html">编程技术</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>15:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type15.html" tppabs="http://www.linuxhero.com/docs/type15.html">网络安全</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>16:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type16.html" tppabs="http://www.linuxhero.com/docs/type16.html">内核技术</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>17:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type17.html" tppabs="http://www.linuxhero.com/docs/type17.html">速度优化</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>18:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type18.html" tppabs="http://www.linuxhero.com/docs/type18.html">apache</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>19:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type19.html" tppabs="http://www.linuxhero.com/docs/type19.html">email</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>20:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type20.html" tppabs="http://www.linuxhero.com/docs/type20.html">ftp服务</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>21:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type21.html" tppabs="http://www.linuxhero.com/docs/type21.html">cvs服务</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>22:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type22.html" tppabs="http://www.linuxhero.com/docs/type22.html">代理服务</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>23:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type23.html" tppabs="http://www.linuxhero.com/docs/type23.html">samba</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>24:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type24.html" tppabs="http://www.linuxhero.com/docs/type24.html">域名服务</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>25:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type25.html" tppabs="http://www.linuxhero.com/docs/type25.html">网络过滤</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>26:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type26.html" tppabs="http://www.linuxhero.com/docs/type26.html">其他服务</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>27:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type27.html" tppabs="http://www.linuxhero.com/docs/type27.html">nfs</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>28:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type28.html" tppabs="http://www.linuxhero.com/docs/type28.html">oracle</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>29:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type29.html" tppabs="http://www.linuxhero.com/docs/type29.html">dhcp</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>30:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type30.html" tppabs="http://www.linuxhero.com/docs/type30.html">mysql</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>31:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type31.html" tppabs="http://www.linuxhero.com/docs/type31.html">php</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>32:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type32.html" tppabs="http://www.linuxhero.com/docs/type32.html">ldap</a></font></td>    </tr>  </table></td></tr>                            </table>
                          </DIV></TD></TR>
                    <TR vAlign=top>
                        <TD width="80%"> 
                          <DIV align=center><BR>
                          </DIV>
                        </TD></TR></TBODY></TABLE></TD></TR>
                </TABLE></TD></TR>
          </TABLE>
      <TABLE cellSpacing=0 cellPadding=4 width="100%" bgColor=#eeeeee 
        border=0><TBODY>
        <TR>
          <TD width="50%">
              <P><FONT class=middlefont>版权所有 &copy; 2004 <A 
            href="mailto:bjchenxu@sina.com">linux知识宝库</A><BR>
                违者必究. </FONT></P>
            </TD>
          <TD width="50%">
              <DIV align=right><FONT class=middlefont>Powered by: <A 
            href="mailto:bjchenxu@sina.com">Linux知识宝库</A> Version 0.9.0 </FONT></DIV>
            </TD></TR></TBODY></TABLE>
      <CENTER></CENTER></TD></TR>
    </TABLE></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -