Jak zmusić innych użytkowników do wylogowania?


14

Czy istnieje prosty sposób, aby zmusić innego użytkownika do usunięcia linuksa, gdy jestem zalogowany jako root? Rozumiem, że mogłem ustalić, jaki rodzaj sesji mają otwarty, i zabić pid - ale myślę, że musi istnieć polecenie, aby zrobić to, o czym nie wiem.

Jakieś pomysły?

Odpowiedzi:


15

Możesz po prostu slay(1)go. :-)


Ha! Schludny. Nigdy wcześniej nie słyszałem o tym poleceniu. Czy jest dostępny na wszystkich systemach? Na pewno wygląda na to, że zabija ich proces powłoki.
Jonathon Watney

Prawdopodobnie jest zapakowany dla wszystkich dystrybucji, ale jeśli potrzebujesz czegoś, co działa wszędzie, umiejętności z procps --- jak wskazuje Mihai, może być lepszym wyborem. Ma jednak mniej stylu ;-)
David Schmitt

1
openSuse 11.4 - slay: nie znaleziono polecenia :( :(
usr-local-ΕΨΗΕΛΩΝ

Nie jestem zainstalowany na hostach Ubuntu 12.04 lub RHEL 3, które mam obecnie dostępne, mam skillpolecenie szczegółowo opisane przez Mihai Limbăşan. YMMV
David

Zainstaluj z wszechświata: packages.ubuntu.com/search?ke
David Schmitt

10

Możesz zabić wszystkie procesy użytkownika za pośrednictwem skill. Przykład:

  • skill -TERM -u username

wyśle ​​SIGTERM do wszystkich usernameprocesów. Aby je zabić na dobre (przez SIGKILL) użyj -KILL zamiast -TERM - pamiętaj jednak, że najprawdopodobniej spowoduje to utratę danych w ten sposób. Jest bardzo skuteczny, pamiętaj ...

skilljest częścią procpspakietu, który jest domyślnie instalowany przez wszystkie dystrybucje.


Dla innych, którzy chcą to zrobić dla wszystkich sesji zdalnych użytkowników, -v pts/*przydatna może być opcja -v flag ( ), która pochodzi ze strony podręcznika man.
David

3

pkillI killallsą korzystniejsze skill. To jest ze strony skillman:

Narzędzia te są prawdopodobnie przestarzałe i nieprzenośne. Składnia polecenia jest źle zdefiniowana. Rozważyć zastosowanie killall, pkilloraz pgreppoleceń zamiast.

To powinno załatwić sprawę:

sudo pkill -KILL -u [user]

lub

sudo killall -u [user]


0

Innym łatwym sposobem na to jest uruchomienie, kill -1 <pid>gdzie pid jest numerem identyfikacyjnym procesu sesji SSH.

Uruchamiając to polecenie, możesz zobaczyć wszystkie drzewa procesów sshd , zabijając nadrzędny identyfikator procesu skutecznie zabijesz powiązaną z nim sesję użytkownika:

$ ptree -p

Poszukaj sshd, a następnie uruchom:

$ kill -1 39383

Gdzie 39383 jest przykładem numeru identyfikacyjnego dowolnego procesu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.