Jak u¿ywaæ Quoty na Linux-ie. Autor: Albert M.C. Tam, bertie@scn.org 8 Sierpnia 1997 WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkiiBB..MMaarruusszzeewwsskkii@@jjttzz..oorrgg..ppll.. 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 autors kich; 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 paki etu. 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 uaktual nione wskazania na katalog zawieraj±cy j±dra na ftp.icm.edu.pl. Doku ment ten napisany zosta³ w standardzie ISO-8859-2. Wersja oryginalna znajduje siê pod adresem ftp.icm.edu.pl <ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/docs/HOWTO/mini/>. ______________________________________________________________________ Spis tre¶ci 1. Co to jest Quota? 1.1 Bie¿±ca wersja Quoty na Linux-a. 1.2 Wymagania Quoty na Linux-ie. 2. Ustawianie Quoty na Linux-ie. 2.1 Konfiguracja. 2.2 Przypisywanie limitów u¿ytkownikom. 2.2.1 Przypisywanie limitów konkretnemu u¿ytkownikowi. 2.2.2 Przypisywanie limitów konkretnej grupie. 2.2.3 Przypisywanie takich samych limitów dla wiêkszej ilo¶ci u¿ytkowników. 3. Ró¿ne polecenia z pakietu Quota. 3.1 Quotacheck 3.2 Repquota 3.3 Quotaon i Quotaoff 4. Od t³umacza. ______________________________________________________________________ 11.. CCoo ttoo jjeesstt QQuuoottaa?? 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. 11..11.. BBiiee¿¿±±ccaa wweerrssjjaa QQuuoottyy nnaa LLiinnuuxx--aa.. 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. 11..22.. WWyymmaaggaanniiaa QQuuoottyy nnaa LLiinnuuxx--iiee.. · J±dro ¬ród³a j±dra 2.x s± dostêpne z ftp.icm.edu.pl w katalogu /pub/Linux/kernel. · Oprogramowanie Quota. Zale¿nie od twojej dystrybucji mo¿esz mieæ albo mo¿esz nie mieæ zainstalowanej Quoty. ¬ród³a oprogramowania Quoty s± dostêpne pod adresem ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/system/admin/. 22.. UUssttaawwiiaanniiee QQuuoottyy nnaa LLiinnuuxx--iiee.. 22..11.. KKoonnffiigguurraaccjjaa.. 1. Przekonfiguruj swoje j±dro odpowiadaj±c "y" na pytanie: _Q_u_o_t_a _s_u_p_p_o_r_t _(_C_O_N_F_I_G___Q_U_O_T_A_) _[_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: zzaawwsszzee w³±czaj quotê ppoo ttyymm 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 _u_s_r_q_u_o_t_a do czwartego pola zawieraj±cego _d_e_f_a_u_l_t: (szczegó³y w man fstab) /dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults,usrquota 1 1 Zamieñ _u_s_r_q_u_o_t_a na _g_r_p_q_u_o_t_a 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. 22..22.. PPrrzzyyppiissyywwaanniiee lliimmiittóóww uu¿¿yyttkkoowwnniikkoomm.. 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. 22..22..11.. PPrrzzyyppiissyywwaanniiee lliimmiittóóww kkoonnkkrreettnneemmuu uu¿¿yyttkkoowwnniikkoowwii.. Oto przyk³ad. Mam u¿ytkownika, którego login to _b_o_b. Polecenie edquota bob uruchomi edytor _v_i (lub ten podany w zmiennej _$_E_D_I_T_O_R), w którym bêdzie mo¿na edytowaæ limit dla u¿ytkownika _b_o_b 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. 22..22..22.. PPrrzzyyppiissyywwaanniiee lliimmiittóóww kkoonnkkrreettnneejj ggrruuppiiee.. Teraz mam grupê _g_a_m_e_s. 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) 22..22..33.. PPrrzzyyppiissyywwaanniiee ttaakkiicchh ssaammyycchh lliimmiittóóww ddllaa wwiiêêkksszzeejj iilloo¶¶ccii uu¿¿yyttkkoowwnniikkóóww.. Aby za jednym zamachem ustawiæ limit dla, powiedzmy 100 u¿ytkowników, taki sam jak dla _b_o_b_a, najpierw trzeba ustawiæ rêcznie limity dla _b_o_b_a, a potem wykonaæ polecenie: edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd` zak³adaj±c, ¿e u¿ywasz pow³oki _c_s_h i ¿e twoi u¿ytkownicy maj± numery _U_I_D zaczynaj±ce siê od 500. Dodatkowo s± jeszcze trzy inne terminy, z którymi powiniene¶ siê zapoznaæ: Soft Limit, Hard Limit i Grace Period. · Soft Limit. Normalnie, _s_o_f_t _l_i_m_i_t okre¶la maksymaln± objêto¶æ dysku, jak± u¿ytkownik ma przyznan±. Ale je¶li po³±czymy to z _g_r_a_c_e _p_e_r_i_o_d, to _s_o_f_t _l_i_m_i_t okre¶la nam granicê, po przekroczeniu której u¿ytkownik zostaje ostrze¿ony. · Hard Limit. Dzia³a to jjeeddyynniiee przy ustawieniu _g_r_a_c_e _p_e_r_i_o_d. Okre¶la to absolutny limit na dysku, którego dany u¿ytkownik nie mo¿e przekroczyæ. · Grace Period. Jest to okres czasu, po jakim zacznie dzia³aæ opcja _s_o_f_t _l_i_n_k. Warto¶ci tej opcji podaje siê poleceniem edquota -t. Jednostkami czasu mog± byæ: sekundy, minuty, godziny, dni, tygodnie lub miesi±ce. Oto co zobaczysz po wydaniu polecenia edquota -t: ___________________________________________________________________ Time units may be: days, hours, minutes, or seconds Grace period before enforcing soft limits for users: /dev/hda2: block grace period: 0 days, file grace period: 0 days ___________________________________________________________________ Zmieñ _0 _d_a_y_s na jaki¶ okres czasu, który uwa¿asz za s³uszny. Osobi¶cie wybra³bym 7 dni albo 1 tydzieñ. 33.. RRóó¿¿nnee ppoolleecceenniiaa zz ppaakkiieettuu QQuuoottaa.. 33..11.. QQuuoottaacchheecckk 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 _c_r_o_n_t_a_b oraz podczas startu systemu. 33..22.. RReeppqquuoottaa 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 ______________________________________________________________________ 33..33.. QQuuoottaaoonn ii QQuuoottaaooffff 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. 44.. OOdd tt³³uummaacczzaa.. 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. <http://www.jtz.org.pl/bartek/tlumaczenie.html> 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