如何通过/etc/security/time.conf配置spedytorzy组的登录时间限制
如何通过/etc/security/time.conf配置spedytorzy组的登录时间限制
看起来你已经找对了核心思路——用PAM的时间控制模块配合time.conf,完全不需要额外脚本就能实现组级别的登录时间限制,我帮你把配置的细节和注意事项理清楚:
一、修正PAM模块配置
你提到在/etc/pam.d/sshd里加了account required pam_exec.so,这里需要做个小调整:和/etc/security/time.conf配套生效的是pam_time.so模块(pam_exec.so是用来执行外部脚本的,和当前需求不匹配),所以你要把这行改成:
account required pam_time.so
如果想让这个时间限制覆盖所有登录方式(比如本地终端登录、su切换用户、SSH远程登录),更高效的方式是把这行添加到/etc/pam.d/common-account文件中,这样所有依赖这个公共配置的服务都会自动应用时间规则。
二、确认time.conf的规则正确性
你当前写的规则*;*;@spedytorzy;Wk0700-1500其实已经完全符合需求,我给你拆解下每个字段的含义,方便你后续灵活调整:
- 第一个
*:匹配所有登录服务(如果只想限制SSH登录,可以改成sshd) - 第二个
*:匹配所有终端类型(包括物理终端、虚拟终端、SSH连接等) @spedytorzy:指定要限制的目标用户组(@符号是组的标识,直接写用户名则是限制单个用户)Wk0700-1500:时间规则,Wk代表周一到周五,0700对应早上7点,1500对应下午3点
三、验证配置是否生效
找一个属于spedytorzy组的测试用户,在非允许时间(比如晚上6点)尝试登录测试:
su - test_user_in_spedytorzy
如果配置生效,你会收到类似“登录时间不允许”的提示,无法成功进入用户会话。
补充小技巧
- 时间采用24小时制,日期标识还支持:
We代表周末(周六+周日),Mo、Tu、Th、Fr、Sa、Su可以单独指定某一天 - 如果需要给组内特定用户开例外(比如组管理员不受时间限制),可以在
time.conf里添加一条优先级更高的规则,例如:*;*;例外用户名;Al0000-2400(Al代表所有时间)
备注:内容来源于stack exchange,提问作者czehu102
相关产品推荐
相关产品推荐

