6.34. pam_time-时间控制的访问

pam_time.so [conffile = conf-file] [调试] [noaudit]

6.34.1. DESCRIPTION

pam_time PAM 模块不对用户进行身份验证,而是限制在一天中的不同时间,特定日期或通过各种终端线路访问系统和/或特定应用程序。可以将该模块配置为根据用户的姓名,一天中的时间,一周中的一天,所申请的服务以及从其发出请求的终端来拒绝对(个人)用户的访问。

默认情况下,时间/端口访问规则来自配置文件/etc/security/time.conf。可以使用* conffile *选项指定备用文件。

如果 Linux PAM 是在审计支持下编译的,则该模块将在拒绝访问时报告。

6.34.2. DESCRIPTION

pam_time PAM 模块不对用户进行身份验证,而是限制在一天中的不同时间,特定日期或通过各种终端线路访问系统和/或特定应用程序。可以将该模块配置为根据用户的姓名,一天中的时间,一周中的一天,所申请的服务以及从其发出请求的终端来拒绝对(个人)用户的访问。

为了使该模块正常运行,必须存在格式正确的/etc/security/time.conf文件。空格被忽略,并且行可能以''扩展(换行符)。 '#'之后的文本将被忽略到行尾。

这些行的语法如下:

services ; ttys ; users ; times

换句话说,每个规则占据一行,以换行符或 Comments 的开头结尾;一个 ' # '。它包含四个用分号“ *; *”分隔的字段。

第一个字段* services *字段是规则适用的 PAM 服务名称的逻辑列表。

第二个字段* tty *字段是此规则适用的终端名称的逻辑列表。

第三个字段* users *字段是此规则适用的用户或用户网组的逻辑列表。

逻辑列表即表示各个标记,这些标记可选地以“!”为前缀(逻辑非),并以'&'(逻辑与)和'|'分隔(逻辑或)。

对于这些项目,简单的通配符'*'只能使用一次。使用网络组时,不允许使用通配符或逻辑运算符。

  • times *字段用于指示该规则的应用时间。此处的格式是日期/时间范围条目的逻辑列表。日期由两个字符 Importing 序列指定,例如 MoTuSa 是星期一,星期二和星期六。请注意,未设置重复的天数 MoMo =否,MoWk =周一的所有工作日。接受的两个字符组合是 Mo Tu We Th Fr Sa Su Wk Wd Al,最后两个分别是周末和一周中的所有 7 天。最后一个例子是,AlFr 表示除星期五外的所有日子。

每个日期/时间范围都可以加上“!”前缀表示“除了”。时间范围部分是两个 24 小时制 HHMM,中间用连字符隔开,指示开始时间和结束时间(如果结束时间小于第二天的开始时间,则视为开始时间)。

为了使规则有效,应用过程必须满足所有服务 ttys 用户的要求。

注意,当前没有守护程序强制会话结束。这需要纠正。

使用 syslog(3)将格式不正确的规则记录为错误。

6.34.3. OPTIONS

  • conffile=/path/to/time.conf

    • 指示替代的 time.conf 样式配置文件以覆盖默认值。
  • debug

    • 某些调试信息通过 syslog(3)打印。
  • noaudit

    • 不要在不允许的时间向审核子系统报告登录。

6.34.4. 提供的模块类型

仅提供account类型。

6.34.5. 返回值

  • PAM_SUCCESS

    • 授予访问权限。
  • PAM_ABORT

    • 并非所有相关数据都能获得。
  • PAM_BUF_ERR

    • 内存缓冲区错误。
  • PAM_PERM_DENIED

    • 没有授予访问权限。
  • PAM_USER_UNKNOWN

    • 该系统未知用户。

6.34.6. FILES

  • /etc/security/time.conf

    • 默认配置文件

6.34.7. EXAMPLES

这些是可能在/etc/security/time.conf中指定的示例行。

除* root *以外的所有用户都始终被拒绝访问控制台登录:

login ; tty* & !ttyp* ; !root ; !Al0000-2400

游戏(配置为使用 PAM)只能在工作时间以外访问。该规则不适用于用户* waster *:

games ; * ; !waster ; Wd0000-2400 | Wk1800-0800

6.34.8. AUTHOR

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