Как разлогинить юзеров?

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

user
Сообщения: 163
Статус: ~
ОС: Debian GNU/Linux

Как разлогинить юзеров?

Сообщение user »

В users творится такая картина, остались они, а вернее это все - я после криво завершенных SSH сессий с глючной сетевухой.

debian:~# users
root root root root root root



Как их можно "разлогинить" без ребута?
Спасибо сказали:
Аватара пользователя
aLexx programmer
Сообщения: 985
Статус: Турук-Макто
ОС: Gentoo -> Ubuntu

Re: Как разлогинить юзеров?

Сообщение aLexx programmer »

(user @ Jan 27 2007, в 15:29) писал(а):Как их можно "разлогинить" без ребута?

Может, убить их оболочки по pid'у?
Спасибо сказали:
Аватара пользователя
Aectann
Бывший модератор
Сообщения: 3491
Статус: ...
ОС: OS X, GNU_и_не_только/Linux

Re: Как разлогинить юзеров?

Сообщение Aectann »

user писал(а):
27.01.2007 15:32
Как их можно "разлогинить" без ребута?

Если всех и сразу - killall login
My god... it's full of stars!...
Спасибо сказали:
user
Сообщения: 163
Статус: ~
ОС: Debian GNU/Linux

Re: Как разлогинить юзеров?

Сообщение user »

debian:~# killall login
login: no process killed
явно не так, нет такого процесса.

Код: Выделить всё

debian:~# ps -u root
  PID TTY          TIME CMD
    1 ?        00:00:00 init
    2 ?        00:00:00 keventd
    3 ?        00:00:06 ksoftirqd_CPU0
    4 ?        00:03:44 kswapd
    5 ?        00:00:02 bdflush
    6 ?        00:00:00 kupdated
   99 ?        00:00:46 kjournald
  462 ?        00:00:00 khubd
 1227 ?        00:00:02 syslogd
 1230 ?        00:00:00 klogd
 1250 ?        00:00:00 lwresd
 1254 ?        00:00:00 lwresd
 1255 ?        00:00:00 lwresd
 1256 ?        00:00:00 lwresd
 1257 ?        00:00:00 lwresd
 1421 ?        00:00:00 inetd
 1441 ?        00:00:00 winbindd
 1443 ?        00:00:00 winbindd
 1562 ?        00:00:00 rpc.statd
 1643 ?        00:00:00 cron
 1665 tty2     00:00:00 getty
 1666 tty3     00:00:00 getty
 1667 tty4     00:00:00 getty
 1668 tty5     00:00:00 getty
 1670 tty6     00:00:00 getty
29525 ?        00:00:00 dirmngr
11436 ?        00:00:00 cupsd
15897 ?        00:00:00 sshd
16018 tty1     00:00:00 getty
16460 ?        00:00:00 sshd
16462 ?        00:00:00 sshd
16464 pts/1    00:00:00 bash
17452 pts/1    00:00:00 mysqld_safe
17488 pts/1    00:00:00 mysqld_safe
17490 pts/1    00:00:00 logger
18187 ?        00:00:00 apache2
18360 pts/1    00:00:00 ps

юзеров сейчас 5, один из них я живой, 1 мистически исчез. было 6 всего %)
Спасибо сказали:
Аватара пользователя
Aectann
Бывший модератор
Сообщения: 3491
Статус: ...
ОС: OS X, GNU_и_не_только/Linux

Re: Как разлогинить юзеров?

Сообщение Aectann »

Тогда может killall getty ?
My god... it's full of stars!...
Спасибо сказали:
user
Сообщения: 163
Статус: ~
ОС: Debian GNU/Linux

Re: Как разлогинить юзеров?

Сообщение user »

Неа. Оно восстанавливается и ничего не меняет.

18439 tty2 00:00:00 getty
18440 tty3 00:00:00 getty
18441 tty4 00:00:00 getty
18442 tty5 00:00:00 getty
18443 tty6 00:00:00 getty
18444 tty1 00:00:00 getty

И их число явно не соотвествует числу юзеров, т.е. 5-ти :В
Спасибо сказали:
Аватара пользователя
pzp-5
Сообщения: 558
Статус: Главный модератор "Пингвинария" на Лафоксе.

Re: Как разлогинить юзеров?

Сообщение pzp-5 »

Код: Выделить всё

echo > /var/run/utmp

Уничтожит всю информацию о текущих подключениях юзеров.
Угадайте: где на фотографии, которая представляет мой аватавр, спрятана птичка?
Спасибо сказали:
Труханов Д. А.
Сообщения: 3
ОС: Debian

Re: Как разлогинить юзеров?

Сообщение Труханов Д. А. »

login отвечает лишь за вывод строки логин: и принятие имени пользователя, после входа ни как не связан
getty - процесс отвечает за обслуживание терминалов и убивать их не совсем корректно имхо
Я думаю надо убивать шеллы или sshd.
В тот день когда я умер, рядом не было никого, кто мог бы сказать обратное.
Спасибо сказали:
Аватара пользователя
pzp-5
Сообщения: 558
Статус: Главный модератор "Пингвинария" на Лафоксе.

Re: Как разлогинить юзеров?

Сообщение pzp-5 »

Труханов Д. А. писал(а):
27.01.2007 23:46
Я думаю надо убивать ... sshd.

Попробовал еще до этого - на свою голову.
На роутере (без клавиатуры и дисплея) - этой командой отключился сервер ССШ. Вылечилось "резетом".
Перезапуск ссш тоже не дает "обнуления" подключений.
Мой совет топиком выше - действенен, но кроме информации о соединениях, "убивает" еще несколько полезных (но некритичных) параметров.
Угадайте: где на фотографии, которая представляет мой аватавр, спрятана птичка?
Спасибо сказали:
iZEN
Сообщения: 225

Re: Как разлогинить юзеров?

Сообщение iZEN »

# shutdown -k
Спасибо сказали:
Труханов Д. А.
Сообщения: 3
ОС: Debian

Re: Как разлогинить юзеров?

Сообщение Труханов Д. А. »

Ну так надо убивать не все ссш самый родительский из всех оставить бы надо. А вот форкнутые от него можно и прибить можно бы. (Определить самый родительский можно по ppid в выводе ps). А вообще w -d покажет каким именно рутом что знаято и какой шелл у кого, так и выяснишь что прибивать
В тот день когда я умер, рядом не было никого, кто мог бы сказать обратное.
Спасибо сказали:
Аватара пользователя
Olden Gremlin
Сообщения: 365
Статус: RAP22-RIPE
ОС: Debian GNU/Linux Wheezy

Re: Как разлогинить юзеров?

Сообщение Olden Gremlin »

Для тех, кому лень работать лапками.
Убить все sshd процессы (вместе с сервером):

Код: Выделить всё

pkill sshd

Убить все sshd процессы для конкретного пользователя:

Код: Выделить всё

pkill sshd -u логин_пользователя

Убить все процессы для конкретного пользователя:

Код: Выделить всё

pkill -u логин_пользователя

Для тех, кто не ищет простых путей.
Убить все sshd процессы (оставив сервер):

Код: Выделить всё

kill $( ps ax | grep "[s]shd:" | awk '{ print $1 }' )

Убить все sshd процессы для конкретного пользователя:

Код: Выделить всё

kill $( ps ax | grep "[s]shd:" | egrep ": логин_пользователя[ @]" | awk '{ print $1 }' )

Убить все процессы для конкретного пользователя:

Код: Выделить всё

kill $( ps aux | egrep "^логин_пользователя *[0-9]" | awk '{ print $2 }' )
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
Спасибо сказали:
user
Сообщения: 163
Статус: ~
ОС: Debian GNU/Linux

Re: Как разлогинить юзеров?

Сообщение user »

pzp-5 писал(а):
28.01.2007 00:32
Мой совет топиком выше - действенен, но кроме информации о соединениях, "убивает" еще несколько полезных (но некритичных) параметров.


Каких, например?

kill ssh только наращивает чило юзеров :))) при новом залогинивании.
Спасибо сказали:
Аватара пользователя
StasikOS
Сообщения: 82
ОС: Ubuntu Lucid Lynx

Re: Как разлогинить юзеров?

Сообщение StasikOS »

pzp-5 писал(а):
27.01.2007 18:42

Код: Выделить всё

echo > /var/run/utmp

Уничтожит всю информацию о текущих подключениях юзеров.


Правильный ответ дали уже. Эти "юзеры" - следствие появления записей о логине в utmp и непоявления записей о разлогинивании вследствие нештатного завершения работы шеллов.

P.S. эх... а я думал тут адекватный форум...
Спасибо сказали:
user
Сообщения: 163
Статус: ~
ОС: Debian GNU/Linux

Re: Как разлогинить юзеров?

Сообщение user »

Я тоже так думал.
Я спросил, что имели ввиду под "еще несколько полезных (но некритичных) параметров.".
Ваш ответ не очень понятно к чему вообще был.
Спасибо сказали:
Аватара пользователя
Olden Gremlin
Сообщения: 365
Статус: RAP22-RIPE
ОС: Debian GNU/Linux Wheezy

Re: Как разлогинить юзеров?

Сообщение Olden Gremlin »

Aectann писал(а):
27.01.2007 18:04
Тогда может killall getty ?
прошу прощанья, а какое отношение getty имеет к ssh? ;) что-то новенькое в демонологии :)
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
Спасибо сказали: