Как получить список активных сеансов входа в систему?

16

9 ноября 17:55:46 swi007 systemd-logind [927]: новый сеанс 27 пользователя swi007.

Я хочу увидеть список активных сеансов входа в систему на сервере Ubuntu и хотел бы закрыть конкретный сеанс на моем сервере.

zapoxkrishna
источник

Ответы:

29

Вот несколько альтернатив, чтобы получить список текущего сеанса:

  • Команда who- показать, кто находится в системе:

    $ who
    spas     pts/1        2017-11-05 21:43 (tmux(1597).%0)
    spas     pts/14       2017-11-09 13:02 (192.168.100.110)
    guest    tty2         2017-11-09 16:15 (:1)
    
  • Команда w- отображает информацию о пользователях, находящихся на данный момент на компьютере:

    $ w
     16:16:12 up 3 days, 18:33,  9 users,  load average: 4,33, 2,79, 2,44
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    spas     pts/1    tmux(1597).%0    нд21    3days  3days  3days tmux new-session -d -s my-tmux-session
    spas     pts/14   192.168.100.110  13:02    1.00s  0.29s  0.01s sshd: spas [priv]
    guest    tty2     :1               16:15    3days  1.27s  0.17s /sbin/upstart --user
    
  • Команда last lastb- показать (историю) список последних зарегистрированных пользователей. Предоставляет несколько аналитических опций, как --until, --sinceи т. Д.

  • Команда users- выводит имена пользователей, которые в данный момент вошли в систему на текущем хосте. Это действительно ограниченное использование:

    $ users
    guest spas spas
    

Чтобы убить определенный сеанс, вы можете использовать who -u(или who -a) для печати номеров процессов, а затем sudo kill -9 <session-process-number>:

$ who -u
spas     pts/1        2017-11-05 21:43  old         1597 (tmux(1597).%0)
spas     pts/14       2017-11-09 13:02   .         31822 (192.168.100.110)
guest    tty2         2017-11-09 16:15  old         2225 (:1)

$ sudo kill -9 2225   # this command will kill the third session from the above list

Кроме того, вы можете убить все процессы конкретного пользователя ( ссылка ):

sudo pkill -9 -u <username>

Смотрите также:

pa4080
источник
как убить конкретную сессию
zapoxkrishna
@zapoxkrishna, проверьте обновление.
pa4080
Вы пропустили lastкоманду, которая также перечисляет все активные сессии :)
Videonauth
Спасибо, @Videonauth! На самом деле я никогда не использовал эту команду. Я обновил ответ.
pa4080