Я запускаю tmux на своих серверах, и при настройке мне нравится просто заходить в root и обо всем позаботиться. Есть ли возможность автоматически выйти из системы root после отключения сеанса tmux?
Есть 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.
Проблема в том, что для этого требуется совместимая оболочка.
Альтернативой может быть Тайм-аут, но я не знаю, где он доступен (похоже, на основе debian он есть, а на основе rhel - нет).
sudo tmux attach
подключает вас к существующему сеансу tmux, запущенному пользователем root. Как только вы отключите сеанс tmux, sudo
команда выполнена, и вы вернулись к обычному пользователю.
Точно так же вы можете использовать sudo bash
получить рут-оболочку.
TMUX разработан, чтобы выдерживать непреднамеренные и преднамеренные отключения, как вы уже знаете.
Вы могли бы иметь bash_logout
файл, который убивает сервер с помощью kill-server
команда. Очевидно, это не будет внутренним для tmux, но даст желаемый эффект.
В качестве альтернативы можно использовать kill-session
конкретно.