运行 sudo su 后设置 shell 的超时

运行 sudo su 后设置 shell 的超时

我的问题是关于在一定时间不活动之后让 shell 会话超时,即使sudo su已经使用过。

我尝试编辑 /etc/profile 文件并添加:

export TMOUT=600  
readonly TMOUT.

它适用于我常用的帐户,但如果我输入sudo su,shell 将不再在设置的时间量后退出。我的问题很简单,我该如何实现我的目标?

答案1

您可以使用

visudo

找到默认行并添加

Defaults env_reset,timestamp_timeout=5

我也相信你的

 export TMOUT=600  
 readonly TMOUT.

也必须添加在那里,希望有帮助

答案2

以下是如何通过 sudo su 来完成此操作,

在 /etc/profile.d 中添加一个设置超时的文件,例如

root@dlc-john2:/home/dlc# cat /etc/profile.d/autologout.sh 

TMOUT=7200
readonly TMOUT
export TMOUT

这对于任何登录 shell 都有效,然后通过 sudo 让它持续:

以 root 身份编辑 sudoers,添加以下内容:sudo visudo

添加行(通常在顶部),将 TMOUT 添加到要保留的变量列表中:

Defaults        env_keep+="TMOUT"

如果您的 sudoers 文件使用 Include /etc/sudoers.d -- 那么您可以在那里创建一个包含上述内容的文件。

希望这可以帮助!

相关内容