如果要启用SSH远程登录时间的限制,需要设置可插拔认证模块(PAM)。在时间限制方面的模块是pam_time.so。
需要在下面的文件中增加该模块:
/lib/security/pam_time.so
下面是针对该文件进行修改的例子:
#%PAM-1.0
auth required pam_stack.so service=system-auth
auth required pam_nologin.so
account required pam_stack.so service=system-auth
account required pam_time.so
password required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
session required pam_limits.so
session optional pam_console.so
然后剩下的配置就在/etc/security/time.conf文件中,该文件的语法如下:
services;ttys;users;times
service 由pam进行控制的服务的列表 tty 开启服务的虚拟终端 users 使用服务的用户 time 该字段的格式是日期/时间,对日期的定义通常是两个字符。例如:MoTuSa就是周一、周二和周三。 可接受的两个字符的组合是Mo Tu We Th Fr Sa Su Wk Wd Al
同时,ALFr指除了星期五之外的所有日期,另外日期/时间的格式也可以通过在前面加“!”前缀表示取反值。而时间范围的部分是通过横线所隔开的起始时间和中止时间,具体时间格式也是两字符的HHMM表示小时和分钟。如果终止时间比起始时间小,那么系统会识别终止时间在第二天。
所以现在要限制用户jlim在周一、周三和周六的早上八点到下午五点使用ssh登录,可以参照下面的例子:
sshd;*;jlim;MoWeWk0800-1700
对该文件的修改会在任何用户重新登录的时候生效。注意要测试对该限制的修改,以防错误锁定用户甚至是root用户。
(责任编辑:IT)