Ograniczenie pamięci dla wybranego programu
: 24 stycznia 2010, 13:48
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.
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.