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.
Ograniczenie pami
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).
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.
Kod: Zaznacz cały
#uzytkownik typ nazwa wartosc
tester hard memlock 32768
tester - chroot /home/tester
tester hard nproc [jakaś_tam_liczba]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.