Это случалось со мной несколько раз, когда я хотел выключить свой собственный компьютер, взять следующий лучший терминал (всегда их было около двух десятков) и набрать sudo halt , только чтобы понять, что я только что выключил один из моих серверов, потому что я не закрыл ssh-соединение, которое использовал полчаса назад.

Я думаю, что самый простой способ справиться с этим - использовать мой файл zshrc для псевдонима sudo halt к чему-то другому, в зависимости от имени хоста. Я не уверен, что вы можете использовать псевдоним для этого. Есть идеи?

2 ответа2

2

Я думаю, что лучшим решением было бы написать правило sudo, которое всегда требует ввода пароля для команды 'halt'. Это должно обеспечить хорошую проверку, особенно если у вас есть другой пароль на производственных серверах.

Я думаю, что запись sudoers будет выглядеть так, но вам, возможно, придется обратиться к странице руководства:

ALL (LOCALHOST) = PASSWD: /sbin /halt

0

Решение, которое я использую, чтобы избежать запуска команд на хостах SSH, не подозревающих о том, где я его выполняю, состоит в том, чтобы использовать другой цвет подсказки, когда я запускаю ssh на другом компьютере:

autoload -U colors && colors
if [[ $+SSH_TTY -eq 1 ]]; then
     prompt_color=%{$fg[green]%}
else
     prompt_color=%{$fg[red]%}
fi
# define your prompt here
export PROMPT="$prompt_color %U%2v%u %~ %# %{${reset_color}%}"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .