Jak więc wyrzucić [łagodnych] użytkowników ze swojego Linux-a?
Ostatecznie sprowadza się to do identyfikacji i zakończenia procesów, które są własnością, są powiązane lub odradzają się na podstawie identyfikatora użytkownika. Jakiekolwiek polecenia użyjesz do osiągnięcia tego celu, niekoniecznie ma to znaczenie, dopóki tam dotrzesz.
Zasadniczo dwie odpowiedzi ...
Opcja A: spowodowanie wylogowania wspomnianego użytkownika, dla którego zawsze i bez względu na liczbę loginów. Oznaczałoby to więc identyfikację procesów, które są własnością użytkownika, identyfikowalne przez użytkownika i sklasyfikowane jako część procesu logowania dla danej dystrybucji Linuksa, którą prowadzisz. Zdaj sobie sprawę, że istnieją procesy nadrzędne, takie jak SSH lub VNC przed „logowaniem”, a procesy podrzędne, takie jak GDM po „logowaniu”. Zwykle zabicie procesu nadrzędnego zabije proces podrzędny, ale nie zawsze. Więc chcesz zabić te inne procesy, które oczywiście nie są już potrzebne po wylogowaniu. Robiąc to wszystko, utrzymałoby to działanie zadań w tle ... ponieważ jest to łagodny użytkownik i może po prostu chcesz je wylogować. O ile wiem /usr/bin/w
i /usr/bin/who
poinformuję, kto przeszedł przez proces logowania.
opcja B: całkowite zakończenie wszystkich procesów należących do określonego identyfikatora użytkownika, co oznaczałoby po prostu zabicie wszystkich procesów należących do tego użytkownika, to również wylogowałoby je, jeśli są zalogowane. Spowodowałoby to usunięcie ich z systemu . To musi być tylko proste, ps -ef | grep <uid>
a następnie zakończenie wszystkich tych procesów w dowolny możliwy sposób.
fwiw w SLES 11 zgłasza
umiejętność człowieka ... Te narzędzia są prawdopodobnie przestarzałe i nieprzenośne. Składnia polecenia jest źle zdefiniowana. Zamiast tego rozważ użycie poleceń killall, pkill i pgrep.
kill -9
FTW!
who(1)
lubw(1)
. Jedynym niezawodnym sposobem na pozbycie się wszelkich potencjalnych rootkitów, które mogą być zainstalowane, jest całkowite wyczyszczenie i ponowna instalacja systemu.