LINUX 安全加固之TMOUT
TMOUT 是一个环境变量,用于设置 Shell 会话的超时时间。当设置了 TMOUT 后,如果用户在指定的时间内没有进行任何操作,Shell 会话将自动退出。这个功能通常用于增强安全性,防止用户忘记退出会话而导致未授权的访问。
TMOUT 的作用
- 超时时间:
TMOUT的值以秒为单位。例如,TMOUT=600表示如果用户 600 秒(10 分钟)内没有输入任何命令,会话将自动终止。 - 只读保护:可以将
TMOUT设置为readonly,防止用户修改或取消超时设置。 - 适用于交互式 Shell:
TMOUT仅对交互式 Shell 会话有效,对非交互式 Shell(如脚本执行)无效。
使用场景
- 远程会话管理:通过 SSH 登录的远程会话中设置
TMOUT,防止用户长时间不操作导致会话保持连接。 - 安全加固:在多用户环境中,防止用户离开终端后未注销会话,导致他人滥用权限。
- 资源释放:自动终止长时间未活动的会话,释放系统资源。
示例
-
设置 10 分钟超时:
TMOUT=600 export TMOUT -
设置为只读,防止修改:
TMOUT=600 readonly TMOUT export TMOUT -
仅在远程会话中设置:
if [ -n "$SSH_CONNECTION" ]; then TMOUT=600 readonly TMOUT export TMOUT fi
注意事项
- 如果设置为
0或未设置,会话不会超时。 - 在某些 Shell(如
zsh)中,TMOUT的行为可能略有不同。 - 如果用户正在运行长时间任务(如编译或数据传输),设置
TMOUT可能会导致任务中断。
希望这个解释对你有帮助!如果还有其他问题,欢迎随时提问。
浙公网安备 33010602011771号