FastNetMon

Monday, 1 November 2010

Как выкинуть определенного пользователя из ssh?

Иногда нужно выбросить определенного пользователя из 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

После этого можно смело продолжать работать с машиной не беспокоясь, что кто-либо помешает.

Источник: http://www.cyberciti.biz/tips/howto-linux-kill-and-logout-users.html

7 comments :

  1. Как вариант можно для yy.yy.yy.yy запретить через iptables коннект на 22-й порт, а потом дропнуть правило.

    ReplyDelete
  2. Но вышибить подключенного все равно будет нужно :)

    ReplyDelete
  3. ещё стоит заметить что обычно не бывает 2х пользователей с логином рут
    нечего им там с таким логином делать
    пусть пользуются su

    ReplyDelete
  4. Это один пользователь, но вошло под ним два разных человека.

    ReplyDelete
  5. угу, я именно про это
    зачем эти 2 человек оба вошли как рут ?
    это как минимум затрудняет их дальнейшую идентификацию
    не говоря уже о усложнении управления пользователями и их доступом

    ReplyDelete
  6. Это такая вот особенность работы при поддержке клиентов :)

    ReplyDelete
  7. мда, протупил
    это всё объясняет :)

    ReplyDelete

Note: only a member of this blog may post a comment.