Иногда нужно выбросить определенного пользователя из ssh, допустим, на время выполнения тех работ. Есть ряд нестандартных решений (ps aux + kill -9), но оказывается есть вполне стандартное решение задачи.
Итак, имеем двух пользователей root одновременно работающих на сервере (это разные люди):
w
18:08:13 up 17:03, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 xx.xx.xx.xx 18:07 0.00s 0.00s 0.00s w
root pts/1 yy.yy.yy.yy 18:08 9.00s 0.00s 0.00s -bash
Нам нужно выкинуть пользователя с IP yy.yy.yy.yy, смотрим, какой tty (терминал) ему соответствует, это pts/1 и отключаем его:
skill -KILL -t pts/1
Вуаля, мы остались в гордом одиночестве:
w
18:08:36 up 17:03, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 xx.xx.xx.xx 18:07 0.00s 0.00s 0.00s w
А выброшенный пользователь увидел примерно следующее:
Connection to xx.yy.zz.kk closed.
Далее возникает вопрос — как избежать того, чтобы пользователь вошел снова. Можно сделать это вот так, просто сгенерировав новый пароль для пользователя и установив его:
apt-get install -y pwgen # ставим генератор паролей
pwgen 16 1
passwd
После смены еще раз убеждаем, не переподключился ли второй пользователь снова командой:
w
После этого можно смело продолжать работать с машиной не беспокоясь, что кто-либо помешает.
|