HOME
DO_STR_GLOWNEJ_WYSZUKIWARKI
 
 
LINUX - ZARZADZANIE (Quota)

 

Pobierz spakowaną witrynę gorzow-wlkp.pl/linux

Jeżeli pragniesz poznać Linuksa Mandrake (obecnie Mandriva), to... dobrze trafiłeś. Witryna została zauważona przez twórców magazynu KOMPUTER ŚWIAT 5/2004(141) str. 46 poprzez umieszczenie linku oraz magazynu CHIP 4/2004 (str.114) poprzez umieszczenie artykułu opisującego ten serwis internetowy. Jak na hobbystyczną stronę o Linuksie to miłe ;) Acha... na stronie mandrakelinux.pl/informacje podano też link z opisem cytuję "duży zbiór praktycznych informacji o Mandrake" (mam ją w swoim archiwum - klub.chip.pl/twarogal).

Zapraszam do zadawania pytań na FORUM oraz mailem. Chętnie udzielę (bezpłatnie) odpowiedzi. Oficjalne ceny za jedną poradę na stronie MandrakeSoftPL (mam ją w moim archiwum z dnia 2.05.2004) wahają się od 20 do 350 zł.

 

*

 

Tematy związane z zarządzaniem:

 

Quota. Pewnym problemem może być potrzeba przydzielania ściśle określonej maksymalnej wielkości katalogów domowych dla użytkowników mających swoje prywatne konta ftp, www itd. Można to załatwić na dwa sposoby:
  • Wydzielić dla każdego użytkownika osobną partycję po np. 20MB i restrykcyjnie montować ją. Wskazane ze względu bezpieczeństwa, niestety kłopotliwe, bo trzeba mieć niezagospodarowany obszar na dysku, z którego po dodaniu użytkownika wykroimy partycję i zamontujemy np. /home/antek . Więcej o podziale dysku na partycje i montowaniu znajdziesz tutaj.
  • Zastosować narzędzie quota. Polecam tłumaczenie z angielskiego HOWTO www.jtz.org.pl/Html/mini/Quota.pl.html. Mam kopię w swoim archiwum. Na podstawie tej stronki (plus własnych dowiadczeń) napisałem poniższy artykuł.

*

Aby móc skorzystać z Quoty musimy mieć wkompilowaną w jądro jej obsługę (podczas kompilacji należy zazanczyć opcję Quota support w menu Filesystem). Na pocieszenie podam, że współczesne Linuksy mają quotę wkompilowaną domyślnie. Ponadto należy zainstalować odpowiednie oprogramowanie. W Linuksie Mandrake/Mandriva, RedHat itd. jest to plik o nazwie np. qouta-*.i386.rpm. Jak sprawdzić czy quota jest w systemie? Należy wylistować katalog /usr/sbin i poszukać plików: quota, quotaon, quotaoff, quotacheck, repquota. Jeżeli są to wszystko gra.

Dodatkowo proponuję, by przed grzebaniem w konfigach, a zwłaszcza w pliku /etc/fstab, nauczyć się montować partycję główną naszego Linuksa (montowaną jako /), pod jakimś zewnętrznym systemem operacyjnym np. Linuksem ratunkowym. Bardzo łatwo podczas edycji /etc/fstab o pomyłkę, która moze skutkować zablokowaniem restartu systemu. Wówczas Linuksem typu LiveCD (odpalanym z CD lub nawet ze zwykłego flopka) trzeba będzie podmontować odpowiednią partycję, dotrzeć do błędnie wypełnionego pliku /etc/fstab i dokonać w nim korekt.

*

KONFIGUROWANIE QUOTY


Musimy wiedzieć na jakiej partycji są katalogi domowe userów. Zagadnienie podziału dysku opisałem na stronie podzialdysku.php, natomiast linuksowe nazewnictwo urządzeń (dysków, partycji np. hda1, sda1 itp.) na stronie urzadzenia_hda_sda.php. Przyjmuję, że katalogi domowe userów są na osobnej partycji /dev/hda6 montowanej jako /home.
 

-

 
Dodajemy Quotę do systemów plików na naszym dysku poprzez edycję pliku /etc/fstab i dopisanie odpowiednich parametrów. Tak więc kopiujemy na wszelki wypadek plik /etc/fstab jako np. /etc/fstab_old i w pliku /etc/fstab po opcji default dopisujemy przecinek i słowo usrquota (bez spacji). Przykładowy wpis dla partycji montowanej jako /home:
/dev/hda6    /home    ext2    defaults,usrquota 1 1

Jeśli chcemy ustawiać ograniczenia dla całej grupy użytkowników, zamiast usrqouta musimy wpisać grpquota :
/dev/hda6    /home    ext2    defaults,grpquota 1 1

Możemy też ustawić ograniczenia przestrzeni dyskowej równocześnie dla użytkowników i grup :
/dev/hda6    /home    ext2    defaults,userquota,grpquota 1 1

Obszerny opis pliku /etc/fstab umieściłem na sąsiedniej stronie: podzialdysku.php.
 
-

 
Teraz skonfigurujemy opcje quoty. Powinny być zapisane w plikach:
  • quota.user (konfigi użytkowników mających swoją imienną grupę - przykładowo gdy user antek jest związany z grupą antek)
  • quota.group (konfigi użytkowników mających grupę wspólną np. uczniowie)
Uwaga: konfigi quota.* muszą być położone w katalogu głównym partycji, którą chcemy poddać nadzorowi narzędzia quota (przypominam, że przyjąłm, iż katalogi domowe userów są na osobnej partycji /dev/hda6 montowanej jako /home). Prawdopodobnie wspomnianych konfigów nie ma ich jeszcze w naszym Linuksie. Jeżeli nie ma, to jako root tworzymy pusty na razie plik (w katalogu głównym partycji montowanej jako /home) o nazwie quota.user.
Wpisujemy jako root zlecenia:
touch /home/quota.user
touch /home/quota.group

oraz restrykcyjne prawa dostępu:
chmod 600 /home/quota.user
chmod 600 /home/quota.group

Restart komputera. Jeżeli Linux nie powstanie, bo namieszalimy w pliku /etc/fstab i system nie potrafi zamontować partycji, to musimy odpalić zewnetrznego Linuksa ratunkowego i poprawić plik /etc/fstab (prawdopodobnie zrobiliśmy niewinną literówkę lub nie wstawiliśmy spacji w odpowiednim miejscu). Do takich prac polecam Linuksa Paragon, gdyż automatycznie montuje partycje i zawiera wygodny programik MC.

Czas na ustalenie limitów dla poszczególnych użytkowników. Wpisujemy więc zlecenie:
edquota antek (antek to użytkownik)
Przykład parametrów dla usera antek:
Quotas for user antek
/dev/hda3: blocks in use: 2594, limits (soft = 5120, hard = 6000)
inodes in use: 356, limits (soft = 1000, hard = 1500)

Objaśnienia.
Block 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.
soft oznacza maksymalną wartość limitu jaką użytkownik ma przyznaną z tym , że istnieje jeszcze grace period, która razem z soft limit stanowi nieprzekraczalną ilość dostępnego miejsca hard limit

Mamy skonfigurowaną quotę. Możemy na koniec ustalić limit czasowy, czyli parametr Grace period. Narzucimy go 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

Objaśnienia.
7 days oznacza okres czasu (można go zamienić z dni na godziny, minuty, sekundy).

Dla całych grup limity ustawiamy tak samo jak dla użytkowników z tym, że zamiast Quotas for user antek wpisujemy słowo group i nazwę grupy, czyli w praktyce: Quotas for group uczniowie.

Inne polecenia:

quotacheck - wykonuje skanowanie filesystemu ze zwróceniem uwagi na jego użycie systemu plików i katalogów,
repquota - podaje użycie systemu plików,
quotaon , quotaoff - startuje lub zatrzymuje quotę.

Praktyczny przykład zlecenia startującego quotę z opcjami avug:
quotaon -avug
lub jeżeli katalog /usr/sbin nie jest ustawiony w zmiennej PATH, to wpisujemy:
/usr/sbin/quotaon -avug
Oczywiście takie uruchamianie quoty stosujemy na poczatku, gdy quotę testujemy. Gdy wszystko działa prawidłowo, quotę uruchamiamy specjalnym skryptem np. /etc/rc.d/rc.quota (opis poniżej).


 
-

 
Quotę uruchamiamy po wykonaniu(!) wszystkich standardowych (systemowych) poleceń montujących dyski i partycje. Przykład skryptu inicjującego o nazwie np. /etc/rc.d/rc.quota:

#!/bin/sh
   if [ -x /usr/sbin/quotacheck ]
     then
        echo "Sprawdzanie quoty. Moze zabrac troche czasu."
        /usr/sbin/quotacheck -avug
        echo " Zrobione."
     fi

   if [ -x /usr/sbin/quotaon ]
     then
        echo "Wlaczanie quoty."
        /usr/sbin/quotaon -avug
   fi

Należy koniecznie ustawić prawo do wykonania takiego pliku! Aby uzyskać prawa root.root rwxr-xr-x wpisujemy zlecenie:
chown root.root /etc/rc.d/rc.quota
chmod 755 /etc/rc.d/rc.quota

Teraz zostało jedynie dopisanie na końcu(!) pliku /etc/rc.d/rc.local odwołanie do skryptu rc.quota, czyli wpisujemy nowy wiersz:
/etc/rc.d/rc.quota

Restart komputera.

-

Przy konfigurowaniu quota czasami potrzebujemy wyświetlić rozmiar wykorzystanej i wolnej przestrzeni na dysku (partycjach). Jako root wpisujemy wówczas zlecenie:
df -h
Used oznacza używane-zajęte, Avail oznacza dostępne-wolne, Size - czyli wielkość partycji.

Poleceniem, które się jeszcze przyda jest: repquota, które pokazuje raport używania limitów w systemie. Proponuję jako root wpisać zlecenie:
repquota /home | grep username

Opcje zlecenia repquota:
-a raport wszystkich systemów plików
-v raport z wszystkich limitów, łącznie z tymi nieużywanymi
-g raport z limitów grup
-a raport z limitów użytkowników

Powyższe zlecenie repquota jest domyślnie dostępne tylko dla roota. Natomiast zwykły user może sprawdzić limity swojego konta poprzez zlecenie quota z opcjami:
-g wypisuje limity grup do jakich należy użytkownik.
-u wypisuje linit określonego użytkownika.
-v wypisuje limity wszystkich systemów plików, obsługujących limity przy należne użytkownikowi.
-q pokazuje użytkownikowi czy posiada jakieś ograniczenia .
Ciekawostką jest możliwość wyświetlenia informacji o quota po zalogowaniu w shellu. Opis na sąsiedniej stronie.

Ciekawy, choć krótki artykuł o quocie znalazłem w Komputer Świat Expert 1/2006 str. 83.

 

 

 
twarogal@wp.pl

Uwaga: z powodu namnożenia się różnych złodziejskich witryn www, które kopiują moje strony i umieszczają je u siebie wraz z komercyjnymi reklamami (na których zarabiają) informuję, że wszelkie prawa są zastrzeżone.

Uwaga. Aby uniknąć zasysania całej witryny gorzow-wlkp.pl/linux za pomocą programów typu TeleportPro, WebCopier itd. informuję, że udostępniłem spakowaną wersję (w formacie RAR).

 
 

 

 

Witryna była dostępna pod adresami: strony.wp.pl/wp/twarogal , strony.wp.pl/wp/linuxtwarka , twarogal.republika.pl , klub.chip.pl/twarogal oraz gorzow-wlkp.net (w latach 2003/04).

 

 

gorzow-wlkp.pl

Informacje o odwiedzających są rejestrowane i publicznie udostępniane na pod adresem: http://gorzow-wlkp.pl/licznik/