- = [ anszom::projects->ulim ] = -

q_q_q

Co to jest ulim?

Ulim to moduł do jądra linuxa, który wymusza limity zasobów na każdym procesie w systemie (wiem że brzmi głupio, ale cóż, czytaj dalej :)

Dlaczego nie pam_limit/coś innego?

Ponieważ pam_limit działa oczywiście tylko tam, gdzie używa się PAM-ów, a istnieje wiele miejsc, gdzie użyszkodnik może uruchamiać swoje programy bez udziału PAM (np. pliki .forward/.procmailrc, skrypty cgi/php pracujące pod suexec itp.). Inne user-space'owe (kurde no nie wiem jak to przetłumaczyć na polski.. przecież nie powiem że 'pracujące w przestrzeni użytkownika' :) rozwiązania opierają się na tym, że w taki czy inny sposób proces sam sobie nakłada limity, więc istnieje wiele sposobów aby to "złamać", czy to ptrace-m, czy czymś innym... Przyszło mi do głowy że jedyny sposób na zablokowanie "wszystkiego" to sprawienie, żeby jądro ustawiało limity wtedy, kiedy proces zmienia swój (rzeczywisty) uid. I właśnie to robi 'ulim'. Od wersji 1.1 ustawia też początkową wartość 'nice'

Szczegóły

Ulim składa się z dwóch części: modułu jądra (ulim.o) i programu sterującego (limctl). Moduł jest odpowiedzialny za przechowywanie konfiguracji w pamięci i nadawanie limitów wtedy kiedy trzeba. Limctl steruje modułem przez /dev/limctl i pozwala ręcznie sprawdzać/zmieniać ustawienia, lub ładować je z pliku konfiguracyjnego. Więcej informacji na temat używania limctl jest w pliku README.

Download

Najnowsza wersja jest zawsze tutaj.

README - po angielsku, jak zwykle



- = [ best viewed with links or mozilla (preferably firefox) ] = -
M$IE users click here
^``'``^^'''^'`'"