ulimit

  1. Wyświetl bieżące ustawienia dla typowego użytkownika (utwórz nowego użytkownika).

  2. Jak sprawdzić ograniczenia dla procesu, który się wykonuje?

  3. Zmień liczbę dozwolonych procesów na 8 i sprawdź działanie ograniczenia (uruchom np. stress -c 10 -t 10 lub top -d 0.1).

  4. Wprowadź ograniczenia na wielkość pliku, np. zezwalaj na pliki o wielkości nie większej niż 100kB, i sprawdź działanie ograniczenia.

  5. Ogranicz zużycie CPU do 1 lub 2 sek, uruchom program stress i sprawdź ograniczenia.

  6. Jak wymusić na użytkownikach uruchamianie procesów z dodatnimi wartościami poziomu uprzejmości? Zob. man limits.conf.

  7. Upewnij się, że tworzenie pliku zawierającego zrzut procesu (core) jest zablokowane (ulimit -a). Można się przekonać o istnieniu tego ograniczenia uruchamiając proces związany z procesorem (np. stress -c 1 -t 20) i wysyłając do niego sygnał SIGSEGV (kill -SEGV|segv <PID> lub pkill -SEGV|segv stress). Czy w katalogu bieżącym pojawiły się dodatkowe pliki?

    Usuń to ograniczenie (ulimit -c unlimited) i powtórz doświadczenie. Jakie dodatkowe pliki pojawiły się w bieżącym katologu?

    Czy można użyć programu gdb do obejrzenia zawartości pliku zawierającego zrzut procesu?

    Uwaga! W nowszych wersjach systemu operacyjnego GNU/Linux zrzuty nie są tworzone w bieżącym katalogu, ale specjalny podsystem (systemd-coredump) służy do ich pobierania i gromadzenia. Zarządzanie zrzutami odbywa się przy pomocy programu coredumpctl.

  8. Jaka jest minimalna wartość parametru ‘open files’, która umożliwia uruchomienie zwykłej, tekstowej sesji użytkownika (logowania na konsoli)?

  9. Jaka jest minimalna wartość parametru ‘open files’, która umożliwia zalogowanie się użytkownika w trybie graficznym (sesja Xfce)?