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. 提供的模块类型
提供了所有模块类型(auth
,account
,password
和session
)。
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]>编写。