Come posso forzare altri utenti a disconnettersi?


14

Esiste un modo semplice per forzare un altro utente fuori da una scatola di Linux, mentre ho effettuato l'accesso come root? Capisco che potrei determinare quale tipo di sessione hanno aperto e uccidere il pid - ma sto pensando che ci debba essere un comando per fare questo che non conosco.

Qualche idea?

Risposte:


15

Puoi semplicemente slay(1)lui. :-)


Ha! Neat. Non avevo mai sentito parlare di questo comando prima. È disponibile su tutti i sistemi? Certo sembra che batte uccidere il loro processo di shell.
Jonathon Watney,

Probabilmente è confezionato per tutte le distro, ma se hai bisogno di qualcosa che funzioni ovunque, l'abilità dei procps - come sottolinea Mihai --- potrebbe essere una scelta migliore. Tuttavia ha meno stile ;-)
David Schmitt,

1
openSuse 11.4 - slay: comando non trovato :( :(
usr-local-ΕΨΗΕΛΩΝ

Non installato sugli host Ubuntu 12.04 o RHEL 3 che ho attualmente disponibile, ho il skillcomando dettagliato da Mihai Limbăşan. YMMV
David,


10

Puoi uccidere tutti i processi di un utente tramite skill. Esempio:

  • skill -TERM -u username

invierà SIGTERM a tutti usernamei processi. Per ucciderli per sempre (tramite SIGKILL) usa -KILL invece di -TERM - tieni presente, tuttavia, che molto probabilmente li farai perdere dati in quel modo. È molto efficace, intendiamoci ...

skillfa parte del procpspacchetto che è installato da tutte le distribuzioni di default.


Per gli altri che vogliono farlo per tutte le sessioni utente remote, il flag -v ( -v pts/*), che è dalla pagina man potrebbe essere utile.
David,

2

I pkille killallsono preferiti sopra skill. Questo è dalla skillpagina man:

Questi strumenti sono probabilmente obsoleti e non portabili. La sintassi del comando è mal definita. Considerare l'utilizzo di i killall, pkille pgrepcomandi invece.

Questo dovrebbe fare il trucco:

sudo pkill -KILL -u [user]

o

sudo killall -u [user]


0

Un altro modo semplice per farlo è eseguire kill -1 <pid>dove pid è il numero ID del processo della sessione SSH.

Eseguendo questo comando, puoi vedere tutti gli alberi del processo sshd , uccidendo l'ID del processo genitore ucciderai effettivamente la sessione utente ad esso associata:

$ ptree -p

Cerca sshd ed esegui:

$ kill -1 39383

Dove 39383 è un esempio di un numero ID processo arbitrario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.