Bezpieczeństwo systemów komputerowych na przykładzie systemu Linux Debian czyli konfiguracja Quoty dla użytkowników.
Bezpieczeństwo systemu możemy kontrolować także na poziomie montowania partycji w naszym systemie (plik /etc/fstab). Kontrolę tą uzyskujemy poprzez parametry montowania. Oto niektóre z nich:
W środowiskach wieloużytkownikowych udostępnienie użytkownikowi nieograniczonej ilości miejsca nie jest dobrym pomysłem.
Administrator udostępniający konta: ftp/www/shell w pewnym momencie musi zmierzyć się z nadprodukcyjnymi użytkownikami, których celem jest wykorzystanie przestrzeni dyskowej serwera do ostaniego bajta. Ograniczenie rozmiaru dysku używanego przez użytkownika należy do parametrów, które jako całość składają się na efektywność działania systemu operacyjnego. Dzięki ograniczeniu dostępnej dla użytkownika przestrzeni dyskowej możemy być pewni, że żadna osoba nie zapełni nam dysku twardego, a przez to nie stworzy niebezpieczeństwa błędnej pracy systemu. Quota jest to pakiet umożliwiający ograniczenie wielkości dysku twardego dostępnego dla konta (dla użytkownika, który na tym koncie zapisuje swoje dane). Quota robi to na dwa sposoby: albo ograniczając liczbę węzłów, albo liczbę bloków..
Aby móc skorzystać z Quoty musimy mieć wkompilowaną w jądro jej obsługę. Aby wkompilować Quotę do jądra należy zaznaczyć opcję QUOTA SUPPORT w menu Filesystem.
Dopisek autora:
Dla pewności napisz skrypt na końcu pliku inicjującego:
| # Sprawdź quotę i włącz ją if [ -x /usr/sbin/quotacheck ] then echo "Checking quotas. This may take some time." /usr/sbin/quotacheck -avug echo " Done." fi if [ -x /usr/sbin/quotaon ] then echo "Turning on quota." /usr/sbin/quotaon -avug fi |
UWAGA: Automatyczny start Quoty
Aby nasza Quota działała musimy sprawić by pliki inicjujące system automatycznie sprawdzały i uruchamiały Quotę. Bardzo ważną zasadą jest, aby skrypt inicjujący Quotę znajdował się (wykonywał) po wykonaniu wszystkich poleceń montujących dyski i partycje. Jeśli nie zrobimy tego poprawnie Quota może nie działać prawidłowo.

UWAGA:
| /dev/hda3 / ext2 defaults,usrquota |
Jeśli chcemy ustawiać ograniczenia dla całej grupy użytkowników, zamiast userqouta musimy wpisać grpquota :

| /dev/hda3 / ext2 defaults,grpquota |
Możemy też ustawić ograniczenia przestrzeni dyskowej równocześnie dla użytkowników i grup:
| /dev/hda3 / ext2 defaults,usrquota,grpquota |
Tworzymy teraz plik z informacjami dla Quoty. Musimy to zrobić z poziomu root`a, a plik ten musi należeć tylko i wyłącznie dla root`a. Utworzymy go w katalogu głównym partycji, której ograniczenia będą dotyczyć i będzie nosił nazwę quota.user Zmodyfikuj /etc/fstab:

Stwórz zapis odnośnie quoty - quota.user
Plik z danymi o quocie - quota.user, powinien należeć do "root-a" oraz zapis i odczyt do niego powinien mieć także tylko "root". Zaloguj się jako "root". Przejdz do podstawowego katalogu na partycji, którą chcesz objąć quotą i stwórz plik aquota.user
Z konta root`a wpisujemy:
| touch /aquota.user chmod 600 /aquota.user |
Analogicznie dla grupy:
| touch /aquota.group chmod 600 /aquota.group |
Jeśli mamy katalogi umieszczone na osobnych partycjach np. /home, to musimy utworzyć aquota.user i aquota.group na tych partycjach. Dla przykładu:
| touch /home/aquota.user touch /home/aquota.group chmod 600 /home/aquota.user chmod 600 /home/aquota.group |
Restart systemu
Aby nasze zmiany i wpisy zostały zapisane musimy zresetować system.
Czas na limity
Limity użytkownikom przypisuje się za pomocą polecenia edquota. Gdy wpiszemy edquota krystian (krystian = login naszego użytkownika) uruchomi się nam standardowy edytor zapisany w zmiennej EDITOR. Czas wyedytować quotę dla krystiana
| Quota dla krystiana /dev/hda3: blocks in use: 2594, limits (soft = 5120, hard = 6000) inodes in use: 356, limits (soft = 1000, hard = 1500) |
Dla objaśnienia "blocks in use" oznacza aktualną ilość miejsca zajmowaną przez naszego użytkownika, inodes in use to całkowita liczba plików, które użytkownik posiada. Dla całych grup limity ustawiamy tak samo z wyjątkiem, że zamiast user podajemy group, no i wpisujemy oczywiście nazwę istniejącej grupy. Wracając do limitów wartość SOFT oznacza maksymalną wartość jaką użytkownik ma przyznaną, ale istnieje jeszcze grace period, która razem z SOFT limit stanowi nieprzekraczalną ilość dostępnego miejsca - HARD limit. Dla całych grup limity ustawiamy tak samo z wyjątkiem, że zamiast user podajemy group, no i wpisujemy oczywiście nazwę istniejącej grupy. Wracając do limitów wartość soft oznacza maksymalną wartość jaką użytkownik ma przyznaną, ale istnieje jeszcze grace period, która razem z soft limit stanowi nieprzekraczalną ilość dostępnego miejsca - hard limit.
Grace period ustawia się wydając polecenie edquota -t
| Time units may be: days, hours,
minutes, or seconds Grace period before enforcing soft limits for users: /dev/hda3: block grace period: 7 days, file grace period: 7 days |
7 days oznacza okres czasu, można go zamienić z dni na godziny, minuty, sekundy.

Aby za jednym zamachem ustawić limit dla, powiedzmy 100 użytkowników, taki sam jak dla krystiana, najpierw trzeba ustawić ręcznie limity dla krystiana, a potem wykonać polecenie:
edquota -p krystian `awk -F: '$3 > 999 {print $1}' /etc/passwd` W linuxconfie wchodzimy do Config -> Filesystems -> Access local drive
Wybieramy np. /home i w General options stawiamy x przy User quota enabled i
ewentualnie przy Group quota enabled i wybieramy Accept.
Teraz najprzyjemniejsza rzecz czyli ustawianie limitów. Wchodzimy do
Config->Users accounts->Normal->Users accounts i wybieramy ofiarę tzn. użytkownika:)
W ustawieniach użytkownika pojawiła się nam nowa sekcja Disk quota, a w niej sekcje
odpowiedzialne za dyski którym wcześniej włączyliśmy User quota enabled.
Dopisek autora:
Powyższa instalacja quoty została przeprowadzona na dytrybucji linux debian :-) podczas zajęć z administracji systemów komputerowych.
Inne polecenia:
quotacheck - wykonuje skanowanie filesystemu ze zwróceniem uwagi na jego użycie systemu plików i katalogów, używany do analizowania systemu plików ze względu na bieżące zużycie i uaktualniania zapisu w pliku quota.user. Zalecam uruchamianie tego programu co jakiś okres czasu poprzez crontab oraz podczas startu systemu.
repquota - podaje użycie systemu plików, tworzy sumaryczne wiadomości dotycząc e aktualnego zużycia systemu plików.
quotaon,quotaoff - startuje lub zatrzymuje quotę.
Pomoc dotyczącą instalacji uzyskasz na liście dyskusyjnej SIECI oraz FAQ dostępny na stronach:
Autor dokumentacji: KRYSTIAN DOMBROWICZ