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<morgan@kernel.org>编写。