今天在网上看到个用shell限时让ssh登录,这个本人没有亲自实验,但这个思路很不错,共享给大家. 通过以下三个脚本程序调用at和系统维护功能即可实现限时登录: 1. 在指定的时间执行该脚本,将在/etc下生成一名为nologin的文件,登录程序在执行时会自动判断此文件是否存,如果存在将不允许用户登录,内容为: vi /sbin/login.denied echo " Login Denied " > /etc/nologin chmod 700 login.denied 2. 在指定的时间执行该脚本,删除/etc/下的nologin文件以允许用户登录,内容为: vi /sbin/login.allowed if [ -f /etc/nologin ]; then rm /etc/nologin fi chmod 700 login.allowed 3. 编写一个限制时间的脚本,内容为: vi /sbin/login.rollback if [ -f /sbin/login.denied ]; then at -f /sbin/login.denid 22:00 fi if [ -f /sbin/login.allowed ]; then at -f /sbin/login.allowed 8:00 if chmod 744 /sbin/login.rollback 创建完成以后,把/sbin/login.rollback脚本放进crontab中,在每天凌晨执行: crontab -e # roll login script 00 1 * * * /sbin/login.rollback 此种设置的功能是:从晚上10:00到第二天早上8:00静止非root用户登录,显示为系统维护状态. (责任编辑:IT) |