Тож як ви відштовхуєте [доброякісних] користувачів зі своєї вікна Linux?
Зрештою, це зводиться до ідентифікації та припинення тих процесів, які належать, асоціюються або породжуються з ідентифікатора користувача. Якими б командами ви не користувалися, щоб досягти цієї мети, не обов'язково має значення, поки ви туди потрапите.
В основному дві відповіді ...
Варіант A: виведення журналу із зазначеного користувача, для якого коли-небудь і скільки б логін у них не було. Отже, це означатиме визначення тих процесів, які належать користувачеві, відслідковуються за допомогою uid та класифікуються як частина певного процесу входу для даного дистрибутива Linux, який ви виконуєте. Зрозумійте, що існують батьківські процеси, такі як SSH або VNC до "входу", і дочірні процеси, такі як GDM після "входу". Зазвичай убивство батьківського процесу вбиває дочірній процес, але не завжди. Тож ви хочете вбити ці інші процеси, які, очевидно, більше не потрібні після виходу з системи. Виконуючи все це, це дозволило б забезпечити роботу фонових завдань ... тому що це доброякісний користувач і, можливо, ви просто хочете їх вийти. Наскільки я знаю, /usr/bin/w
і /usr/bin/who
повідомлятиму, хто пройшов через процес входу.
варіант В: повністю припинити всі процеси, що належать певному uid, що просто означатиме вбивство будь-яких процесів, що належать вказаному користувачеві, це також виходитиме з них, якщо вони входили в систему . Це повинно бути просто, ps -ef | grep <uid>
а потім закінчити всі ці процеси будь-яким чином прийнятним чином.
fwiw в СЛЕС 11, про який він повідомляє
вміння людини ... Ці інструменти, мабуть, застарілі та непредставні. Синтаксис команд погано визначений. Спробуйте скористатися командами killall, pkill і pgrep.
kill -9
FTW!
who(1)
абоw(1)
. Єдиний нерозумний спосіб позбутися від будь-яких потенційних руткітів, які можуть бути встановлені, - це повністю стерти та перевстановити систему.