Po pierwsze, zakładam, że jeśli jest to możliwe, należy to zrobić jako root (lub jako użytkownik, który udostępnia identyfikator użytkownika root o wartości 0).
Jak może być uruchomiony proces tak, że nie pojawiają się w sposób ps aux
lub ps ef
czy top
wystawianie jeżeli polecenie jest prowadzony przez non-root?
Czy to w ogóle możliwe?
Dystrybucje, które zazwyczaj uruchamiam, to RHEL / CentOS i Ubuntu - więc jeśli jest odpowiedź specyficzna dla dystrybucji, to też jest w porządku.
Odpowiedzi:
Masz tutaj kilka opcji. Najłatwiejszym sposobem byłoby zamienić ps i najlepsze programy ze zmodyfikowanymi wersjami, które ukrywają to, co chcesz ukryć.
Alternatywą byłoby uruchomienie kodu osadzonego w istniejącym procesie lub napisanie wokół niego skryptu o niewinnej nazwie.
W niektórych wersjach PS możesz to zmienić, zmieniając argv [], ale nie jestem pewien, czy to działa na top, i nie jestem pewien, czy działa w systemie Linux (jest to głównie konwencja BSD).
Wszystko zależy od tego, co dokładnie chcesz osiągnąć, robiąc to?
źródło
python myScript.py
a wszystkiesubprocess.Popen
polecenia (które mogą, ale nie muszą zawierać hasła) nie są wyświetlane, o ile jest to ten sam proces?Zgodnie z łatką jądra http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=0499680a42141d86417a8fbaa8c8db806bea1201 , możesz użyć opcji hidepid dla systemu plików proc:
Nie możesz kontrolować widoczności na poziomie procesu, ale możesz zapewnić, że użytkownicy będą widzieć tylko własne procesy.
Jeśli masz wersję jądra większą niż 3.3, możesz spróbować za pomocą następującego polecenia:
źródło
hidepid=2
, aby miało to wpływ tylko na określonych użytkowników (lub tak, aby umieściło na białej liście niektórych użytkowników)?root
?użyj polecenia F w poleceniu top in, na przykład, aby skonfigurować to, co chcesz zobaczyć. użyj polecenia W, aby napisać konfigurację, którą chcesz ~ / .toprc - użyć? aby zobaczyć najlepsze polecenia. To może szybko rozwiązać twój problem - zrobiło to dla mnie. Za pomocą F mogę dodawać / usuwać pola, które chcę zobaczyć, podczas gdy w f można użyć s, aby ustawić sortowanie, a następnie q, aby wrócić do wyświetlania. następnie n, aby ustawić liczbę procesów, które chcę zobaczyć, a W, aby zapisać w .toprc
źródło