Jak zapobiec bombom widelcowym?


14

Aby zapobiec bombom widełkowym, śledziłem to http://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htm

ulimit -aodzwierciedla nowe ustawienia, ale po uruchomieniu (jak rootw bash) :(){ :|:&};:maszyna wirtualna nadal działa na maksimum procesora + pamięci RAM i system zawiesza się.

Jak zapewnić, że użytkownicy nie zostaną wyłączeni z systemu za pomocą bomb widłowych lub uruchamiania błędnej aplikacji?

System operacyjny: RHEL 6.4


Nie mogę tego tutaj odtworzyć. Próbujesz to rootjakoś przypadkiem? Z której powłoki próbujesz? (brak miejsca po {sugeruje, zshale nie mogę go też odtworzyć).
— Stéphane Chazelas,

Stephane Chazelas: 1] Pracowałem jako root, próbowałem go z normalnym użytkownikiem, działa. 2] Brakujące miejsce to literówka, używam bash.Sorry. 3] Czy to, że ulimit nie może moderować użytkownika root?
— user44441,

@ stephane-chazelas 1] Pracowałem jako root, próbowałem go z normalnym użytkownikiem, działa. 2] Brakujące miejsce to literówka, używam bash.Sorry. 3] Czy to, że ulimit nie może moderować użytkownika root?
— user44441,

Odpowiedzi:


8

Superużytkownik lub jakikolwiek proces z funkcjami CAP_SYS_ADMIN lub CAP_SYS_RESOURCE nie ma wpływu na to ograniczenie, nie można tego zmienić. rootzawsze może rozwidlać procesy.

Jeśli pewne oprogramowanie nie jest zaufane, i tak nie powinno działać root.


3
Jeśli nie zrobi czegoś specjalnego, właściwie nic nie powinno działać jako root. root to konto, którego używasz, gdy masz dość próbowania dowiedzieć się, jakie przywileje / prawa potrzebujesz, aby je zorientować lub jakiejś podstawowej usługi systemowej.
— Bratchley,

11

Aby ta zmiana była wszechobecna, musisz dodać te ograniczenia do całego środowiska. Zmiany za pomocą ulimitpolecenia dotyczą tylko bieżącego środowiska.

UWAGA: Nie będzie to miało wpływu na użytkownika root!

Przykład

Edytuj ten plik: vi /etc/security/limits.confi dodaj do pliku wpisy ograniczające liczbę procesów ( nproc), które może mieć określony użytkownik lub grupa użytkowników.

vivek hard nproc 300
@student hard nproc 50
@faculty soft nproc 100
@pusers hard nproc 200

UWAGA: W tym pliku jest więcej przykładów. Ostrożnie korzystaj z „all” (alias. *), To też ograniczy konta systemowe.

Bibliografia


Chociaż „wszystko” ograniczy konta systemowe, większość usług obsługiwanych przez te konta systemowe nie przechodzi pam_limits.
— jordanm

Czy to dlatego, że ulimit nie może moderować użytkownika root?
— user44441,

Podobnie jak ogólny pomysł na dodanie więcej do postu, możesz chcieć dodać coś o pam_cgroup do postu, ponieważ platforma PO obsługuje go i pam_limitsostatecznie zostanie zastąpiona tym, gdy grupy zostaną szersze.
— Bratchley,

Ponadto, ponieważ wydaje się, że OP bawi się zasadami polityki wykorzystania zasobów, cgroupsdałoby im lepsze pokrętła do wykorzystania sieci i procesora.
— Bratchley,
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.