Jak używaæ Quoty na Linux-ie.

Autor: Albert M.C. Tam, bertie@scn.org
8 Sierpnia 1997
Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl.
v1.2, 27 Listopada 1997


Dokument ten jest chroniony prawami autorskimi Alberta M. C. Tama (bertie@scn.org). Dozwolone jest użycie, kopiowanie i dystrybuowanie tego dokumentu do celów niekomercyjnych, zakładając, że we wszystkich kopiach pojawi siê nazwisko autora oraz ta wzmianka o prawach autorskich; oraz że dokument ten nie jest modyfikowany. Dokument ten jest dystrybuowany w nadziei, że bêdzie on użyteczny, ale BEZ ŻADNEJ GWARANCJI, ani wyrażonej ani wynikającej. Autor czynił jak najwiêkszy wysiłek, żeby informacje zawarte w tym dokumencie były poprawne i NIE BIERZE ODPOWIEDZIALNOŚCI za błêdy, czy zniszczenia powstałe na skutek użycia zawartych tu informacji. Tłumacz także NIE BIERZE ŻADNEJ ODPOWIEDZIALNOŚCI. Dokument ten opisuje jak uruchomiæ Quotê systemu plików na Linux-ie, jak i różne polecenia zawarte w dystrybucji pakietu. Przeznaczony jest on dla użytkowników jądra w wersji 2.x (przetestowano na 2.0.7). Użytkownikom ze starszymi wersjami zaleca siê uaktualnienie. Jeśli znajdziesz jakieś błêdy, albo sądzisz, że czegoś brakuje, czy po prostu masz jakiś komentarz odnośnie tego co napisałem to pisz śmiało na mój adres. Nowsza wersja zawiera uaktualnione wskazania na katalog zawierający jądra na ftp.icm.edu.pl. Dokument ten napisany został w standardzie ISO-8859-2. Wersja oryginalna znajduje siê pod adresem ftp.icm.edu.pl.

1. Co to jest Quota?

Jest to pakiet umożliwiający limitowanie zużycia dysków na dwa sposoby: ilośæ wêzłów jaką można przydzieliæ użytkownikowi; ilośæ bloków dysku jaką można przydzieliæ użytkownikowi.

Podstawową ideą Quoty jest to, że użytkownicy zmuszani są do ograniczenia swoich zasobów i co za tym idzie odebranie im ich zdolności do zabierania nieskoñczonej ilości pamiêci dyskowej.

1.1 Bieżąca wersja Quoty na Linux-a.

Obsługa Quoty została zintegrowana z jądrem od wersji 1.3.8x i jest także w wersji 2.0. Jeśli twój system nie obsługuje Quoty, to proponuje go uaktualniæ.

Obecnie Quota działa tylko dla systemu plików ext2.

1.2 Wymagania Quoty na Linux-ie.

2. Ustawianie Quoty na Linux-ie.

2.1 Konfiguracja.

  1. Przekonfiguruj swoje jądro odpowiadając "y" na pytanie: Quota support (CONFIG_QUOTA) [n]
  2. Skompiluj i zainstaluj oprogramowanie Quoty.
    Źródła oprogramowania Quoty są dostêpne pod adresem ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/system/admin/.
  3. Zmodyfikuj skrypty inicjalizujące twój system, aby sprawdzały quotê i włączały ją podczas startu systemu. Oto przykład:
            # 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
    

    Złota zasada brzmi: zawsze włączaj quotê po tym jak twoje systemy plików z /etc/fstab zostały zamontowane, bo inaczej quota nie bêdzie działaæ. Zalecam włączanie quoty na koñcu pliku inicjalizującego twój system, albo jeśli wolisz, zaraz po fragmencie kiedy twoje systemy plików są montowane.
  4. Zmodyfikuj /etc/fstab
    Partycje, na których jeszcze nie włączyłeś quoty wyglądają mniej wiêcej tak:
            /dev/hda1       /       ext2    defaults        1       1
            /dev/hda2       /usr    ext2    defaults        1       1
    
    Aby dodaæ quotê do systemu plików, dodaj usrquota do czwartego pola zawierającego default: (szczegóły w man fstab)
            /dev/hda1       /       ext2    defaults        1       1
            /dev/hda2       /usr    ext2    defaults,usrquota       1       1
    
    Zamieñ usrquota na grpquota jeśli potrzebujesz ograniczenia dla grup.
            /dev/hda1       /       ext2    defaults        1       1
            /dev/hda2       /usr    ext2    defaults,grpquota       1       1
    
    A może potrzebujesz ograniczeñ i dla użytkowników i dla grup?
            /dev/hda1       /       ext2    defaults        1       1
            /dev/hda2       /usr    ext2    defaults,usrquota,grpquota       1      1
    
  5. 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". Przejdź do podstawowego katalogu na partycji, którą chcesz objąæ quotą i stwórz plik quota.user:
            touch /partycja/quota.user
            touch /partycja/quota.group
            chmod 600 /partycja/quota.user
            chmod 600 /partycja/quota.group
    

  6. Restart.
    Teraz zrestartuj system, żeby wprowadziæ zmiany, które naniosłeś. Zauważ też, że kolejne partycje, dla których chcesz włączyæ quotê wymagają tylko kroków 4, 5 i 6.

2.2 Przypisywanie limitów użytkownikom.

Operacjê tê wykonuje siê poleceniem edquota (szczegóły man edquota).

Normalnie uruchomiłbym quotacheck z opcjami -avug, aby zyskaæ jak najaktualniejszy obraz systemu plików, przed edycją plików quoty. Jest to jednak tylko moje przyzwyczjenie a nie wymagany krok.

Przypisywanie limitów konkretnemu użytkownikowi.

Oto przykład. Mam użytkownika, którego login to bob. Polecenie edquota bob uruchomi edytor vi (lub ten podany w zmiennej $EDITOR), w którym bêdzie można edytowaæ limit dla użytkownika bob dla każdej partycji, na której jest włączona quota:

       Quotas for user bob:
       /dev/hda2: blocks in use: 2594, limits (soft = 5120, hard = 6400)
                inodes in use: 356, limits (soft = 1000, hard = 1500)

"blocks in use" - jest całkowitą ilością bloków (w kilobajtach) jaką zużył dany użytkownik.
"inodes in use" - jest całkowitą liczbą plików jaką użytkownik ma na dysku.

Przypisywanie limitów konkretnej grupie.

Teraz mam grupê games. Polecenie edquota -g games znowu uruchamia edytor vi, aby edytowaæ limity dla tej grupy:

        Quotas for group games:
        /dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000)
                inodes in use: 1454, limits (soft = 3000, hard = 4000)

Przypisywanie takich samych limitów dla wiêkszej ilości użytkowników.

Aby za jednym zamachem ustawiæ limit dla, powiedzmy 100 użytkowników, taki sam jak dla boba, najpierw trzeba ustawiæ rêcznie limity dla boba, a potem wykonaæ polecenie:

        edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`

zakładając, że używasz powłoki csh i że twoi użytkownicy mają numery UID zaczynające siê od 500.

Dodatkowo są jeszcze trzy inne terminy, z którymi powinieneś siê zapoznaæ: Soft Limit, Hard Limit i Grace Period.

3. Różne polecenia z pakietu Quota.

3.1 Quotacheck

Program ten jest używany do analizowania systemu plików ze wzglêdu na bieżące zużycie i uaktulaniania zapisu w pliku quota.user. Zalecam uruchamianie tego programu co jakiś okres czasu poprzez crontab oraz podczas startu systemu.

3.2 Repquota

Program ten podaje sumaryczne wiadomości dotyczące aktualnego zużycia systemu plików. Przykładowe wyjście tego polecenia może wyglądaæ tak:


        # repquota -a
                                Block limits               File limits
        User            used    soft    hard  grace    used  soft  hard  grace
        root      --  175419       0       0          14679     0     0
        bin       --   18000       0       0            735     0     0
        uucp      --     729       0       0             23     0     0
        man       --      57       0       0             10     0     0
        user1     --   13046   15360   19200            806  1500  2250
        user2     --    2838    5120    6400            377  1000  1500

3.3 Quotaon i Quotaoff

Pierwszy z tych dwóch programów służy do włączania quoty, a drugi do wyłączania. Właściwie oba pliki są podobne. Są wykonywane podczas startu systemu i jego zamkniêcia.

4. Od tłumacza.

Tłumaczenie to jest chronione prawami autorskimi © Bartosza Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny.

Jeśli znalazłeś jakieś rażące błêdy ortograficzne, gramatyczne, składniowe, techniczne to pisz do mnie:

B.Maruszewski@jtz.org.pl

Napewno znajdziesz tu jakieś niejasne i niepolskie konstrukcje. Jeśli wpadniesz na lepszy pomysł daj mi znaæ.

Oficjalną stroną tłumaczeñ HOWTO jest http://www.jtz.org.pl/

Aktualne wersje przetłumaczonych dokumentów znajdują siê na tejże stronie. Dostêpne są także poprzez anonimowe ftp pod adresem ftp.jtz.org.pl w katalogu /pub/Linux/JTZ/.

Przetłumaczone przeze mnie dokumenty znajdują siê także na mojej stronie WWW. Są tam też odwołania do Polskiej Strony Tłumaczeniowej.

Kontakt z naszą grupą, grupą tłumaczy możesz uzyskaæ poprzez listê dyskusyjną jtz@ippt.gov.pl. Jeśli chcesz sie na nią zapisaæ, to wyślij list o treści subscribe jtz Imiê Nazwisko na adres majordomo@ippt.gov.pl