6.9. pam_filter-过滤器模块

pam_filter.so [调试] [new_term] [non_term] run1 | run2 * filter * [* +13+ *]

6.9.1. DESCRIPTION

该模块旨在成为一个平台,用于提供对在用户和应用程序之间传递的所有 Importing/输出的访问。它仅适用于基于 tty 和(stdin/stdout)的应用程序。

要运行此模块,需要在系统上安装* filters *。模块随附的单个过滤器可简单地在 Importing 和输出流中转置大小写字母。 (这可能非常烦人,对基于 termcap 的编辑器也不友好)。

模块的每个组件都有可能调用所需的过滤器。筛选器始终是 execv(2),具有调用应用程序的特权,而不是用户的特权。因此,用户通常必须在不关闭会话的情况下将其杀死。

6.9.2. OPTIONS

  • debug

    • 打印调试信息。
  • new_term

    • 筛选器的默认操作是设置* PAM_TTY 项目以指示用户用于连接到应用程序的终端。此参数指示过滤器应将 PAM_TTY *设置为已过滤的伪终端。
  • non_term

    • 不要尝试设置* PAM_TTY *项目。
  • runX

    • 为了使模块可以调用过滤器,它应该知道何时调用它。需要此参数来告诉过滤器何时执行此操作。
  • X 的允许值为 1 2 。这些指示了运行过滤器的准确时间。要理解这个概念,阅读 pam(3)手册页将很有用。基本上,对于每个 Management 组,最多有两种调用模块功能的方式。对于 authentication session 组件,实际上有两个独立的功能。对于身份验证,这些函数是 pam_authenticate(3)和 pam_setcred(3),此处run1表示从pam_authenticate函数运行过滤器,而run2表示从pam_setcred运行过滤器。对于会话模块, run1 表示在 pam_open_session(3)阶段调用过滤器,对于 pam_close_session(3)则使用 run2 *调用。

对于帐户组件。 * run1 run2 *均可使用。

对于密码组件,* run1 用于指示过滤器在 pam_chauthtok(3)的第一次运行( PAM_PRELIM_CHECK 阶段),而 run2 用于指示过滤器在以下情况下运行第二次( PAM_UPDATE_AUTHTOK *阶段)。

  • filter

    • 要运行的过滤器的完整路径名,以及过滤器可能期望的任何命令行参数。

6.9.3. 提供的模块类型

提供了所有模块类型(authaccountpasswordsession)。

6.9.4. 返回值

  • PAM_SUCCESS

    • 新过滤器已成功设置。
  • PAM_ABORT

    • 严重错误,立即中止。

6.9.5. EXAMPLES

将以下行添加到/etc/pam.d/login,以查看如何配置登录名以在用户登录后转置大小写字母:

session required pam_filter.so run1 /lib/security/pam_filter/upperLOWER

6.9.6. AUTHOR

pam_filter 由 Andrew G. Morgan<[email protected]>编写。