我在服务器上运行 tmux,配置时我喜欢直接进入 root 并处理所有事情。在分离 tmux 会话后,是否可以自动注销 root?
答案1
sudo tmux attach
将您连接到由 root 用户运行的现有 tmux 会话。一旦您断开 tmux 会话,命令sudo
就完成了,您将返回到普通用户。
类似地,您可以使用sudo bash
来获取 root shell。
答案2
有TMOUT
:
TMOUT If set to a value greater than zero, TMOUT is treated as the default timeout for the read builtin. The select command terminates if input does not arrive after TMOUT seconds when input is
coming from a terminal. In an interactive shell, the value is interpreted as the number of seconds to wait for input after issuing the primary prompt. Bash terminates after waiting for
that number of seconds if input does not arrive.
/etc/profile
如果 EUID 是 root,您可以设置此项。
问题在于它需要兼容的 shell。
另一种选择是超时,但我不知道它在哪里可用(基于 debian 的似乎有它,基于 rhel 的没有)。
答案3
正如您所知,TMUX 的设计可以承受无意和有意的断开连接。
你可以创建一个bash_logout
文件,使用命令来终止服务器kill-server
。这显然不是 tmux 内部的,但可以达到预期的效果。
或者,让它kill-session
专门使用。