用户登录到linux控制台,长时间没有操作,为了安全和节约性能我们需要把这类用户强制logout掉,假设我们规定一个登录上来的用户如果5分钟内都无任何操作,那么就使其logout,我们只需要设定Bash的环境变量TMOUT就好,如:
- [root@qyeee 17:00:39 ~]# TMOUT=$((5 * 60))
- [root@qyeee 17:00:45 ~]# echo $TMOUT
- 300
用户5分钟内无任何操作,控制台就把用户断开了,这个设定写入用户登录配置文件中最合适。打开~/.bash_profile文件加入两行:
- TMOUT=300
- export TMOUT
记得要退出重新登录一次,这样就生效了。
第二个应用场合就是在bs脚本中了。
比如脚本运行的时候等待用户提供一些具体的数据,但是如果一段时间用户还没有输入的话,那就用默认值来代替用户输入,继续执行下面的任务。
这里有个简单密码生成脚本,如果用户没有在规定的时间内输入字符串,那就系统自动帮忙生成一个的密码。
- #!/bin/bash
- echo "当前系统的bash版本 $BASH_VERSION"
- TMOUT=5
- echo "输入简单字符串,系统会返回一个密码"
- echo "如果超过5秒还没有输入,系统自动生成一个健壮密码"
- read string
- test -z "$string" && {
- echo `mkpasswd`
- } || {
- psw=`echo $string | md5sum | cut -c 1-8 | tr 'a-z' 'A-Z'`
- echo $psw
- }
上面的内容都我都亲自测试过,测试环境是centos 5.6,bash 3.2.25(1)-release。
转载于:https://blog.51cto.com/10lover10/1085878