LINUX 安全加固之TMOUT

TMOUT 是一个环境变量,用于设置 Shell 会话的超时时间。当设置了 TMOUT 后,如果用户在指定的时间内没有进行任何操作,Shell 会话将自动退出。这个功能通常用于增强安全性,防止用户忘记退出会话而导致未授权的访问。

TMOUT 的作用

  • 超时时间TMOUT 的值以秒为单位。例如,TMOUT=600 表示如果用户 600 秒(10 分钟)内没有输入任何命令,会话将自动终止。
  • 只读保护:可以将 TMOUT 设置为 readonly,防止用户修改或取消超时设置。
  • 适用于交互式 ShellTMOUT 仅对交互式 Shell 会话有效,对非交互式 Shell(如脚本执行)无效。

使用场景

  1. 远程会话管理:通过 SSH 登录的远程会话中设置 TMOUT,防止用户长时间不操作导致会话保持连接。
  2. 安全加固:在多用户环境中,防止用户离开终端后未注销会话,导致他人滥用权限。
  3. 资源释放:自动终止长时间未活动的会话,释放系统资源。

示例

  1. 设置 10 分钟超时:

    TMOUT=600
    export TMOUT
    
  2. 设置为只读,防止修改:

    TMOUT=600
    readonly TMOUT
    export TMOUT
    
  3. 仅在远程会话中设置:

    if [ -n "$SSH_CONNECTION" ]; then
        TMOUT=600
        readonly TMOUT
        export TMOUT
    fi
    

注意事项

  • 如果设置为 0 或未设置,会话不会超时。
  • 在某些 Shell(如 zsh)中,TMOUT 的行为可能略有不同。
  • 如果用户正在运行长时间任务(如编译或数据传输),设置 TMOUT 可能会导致任务中断。

希望这个解释对你有帮助!如果还有其他问题,欢迎随时提问。

posted @ 2025-03-21 10:22  圣光救赎者  阅读(530)  评论(0)    收藏  举报