Ograniczenie pami

Tematy związane z oprogramowaniem, instalacją, konfiguracją
mnbvcx
Posty: 2
Rejestracja: 24 stycznia 2010, 13:09

Ograniczenie pamięci dla wybranego programu

Post autor: mnbvcx »

Mam program X. Chcę dostosować Debiana tak, by:
a) mógł modyfikować tylko pliki w swoim folderze,
b) miał do dyspozycji Y MB pamięci operacyjnej (gdy będzie chciał więcej, to kill),
c) nie mógł otwierać innych programów.

Punkt a) zrobiłem poprzez utworzenie użytkownika tester i chown+chmod.
Próbuję teraz dostosować system do punktów b) oraz c). Dokopałem się do polecenia ulimit, jednakże ustawia on limity dla całego systemu - zaś chcę, aby został ustawiony limit dla jednego konkretnego programu (np. program X ma ustawiony limit 16 MB, zaś w tle może lecieć serwer zajmujący 30 MB RAM-u). W przypadku c) też pasuje ulimit, jednakże jest to liczba procesów ustawiona na sztywno (gdy np. serwer może spróbować uruchomić jakiś proces, granica zostanie również przekroczona).

W jaki sposób można dostosować mojego Debiana do tych wymogów? Dziękuję z góry za wszystkie wskazówki.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

A /etc/security/limits.conf ?
mnbvcx
Posty: 2
Rejestracja: 24 stycznia 2010, 13:09

Post autor: mnbvcx »

Plik limits.conf jest dobrym pomysłem i od biedy mógłbym stworzyć coś takiego (druga niezakomentowana linijka to chęć ulepszenia Debiana pod punktem a).

Kod: Zaznacz cały

#uzytkownik  typ   nazwa    wartosc
tester       hard  memlock  32768
tester       -     chroot   /home/tester
tester       hard  nproc    [jakaś_tam_liczba]
Jednak mam kilka problemów:
1) po ustawieniu chroot nie mogę się w ogóle zalogować na tty#, zaś su się tym wpisem zupełnie nie przejmuje.
2) nie wiem, co ustawić na nproc - jak będzie za mało, nie uruchomię programu, jak będzie za dużo - pozwolę programowi uruchamiać inne. Chciałbym móc dobrać tę liczbę.

Co można zaradzić na problemy? Jestem otwarty na sugestie.
ODPOWIEDZ