0.SPIS TRESCI | 9. SAMBA

 

 

 

Quota – ograniczenia dyskowe.

 

Jeżeli udało nam się skonfigurować i uruchomić Sambę koniecznym zabiegiem

będzie ograniczenie udostępnianej przestrzeni dyskowej.

Do tego celu służy narzędzie Quota.

 

Znowu możemy skorzystać z instalacji pakietowej lub instalując ze źródła.

 

Źródła tutaj: http://sourceforge.net/project/showfiles.php?group_id=18136&package_id=13522

 

Ja skorzystałem z poldka:

 

            # poldek

            > install quota

 

Kilka słów o samej Quocie.

 

Aby móc skorzystać z ograniczeń dyskowych musimy mieć jądro skompilowane z opcją obsługi Quoty.

W jądrze - gałąź:

 

            File system ->

                               Quota suport

 

Jak przekompilować jądro możecie się dowiedzieć z punktu 4.

Quota ogranicza nam dysk na dwa sposoby:

- poprzez ilość bajtów

- poprze ilość plików

 

Uruchamianie Quoty.

 

Aby nasze ograniczenia dyskowe zadziałały napiszemy sobie mały skrypt, który będzie sprawdzał i uruchamiał Quotę

 

-----------------------------------------------------------------------------------------

 

#!/bin/sh

 

PATH="$PATH"

 

# Plik startowy ograniczen dyskowych

 

if [ -x /sbin/quotacheck ]

then

echo "Sprawdzam quote. Moze potrwac chwilke ...:)"

/sbin/quotacheck -avug

echo " Done."

else

echo "Nie masz zainstalowanej quoty lub brak pliku"

fi

/sbin/quotaon -avug

else

echo "Nie mozna wlaczyc ograniczen dyskowych"

fi

 

-----------------------------------------------------------------------------------------

 

Jeżeli komuś się nie chce pisać - skrypcik:

 

 - quota_start

 

[Bardzo ważną zasadą jest, aby skrypt inicjujący Quotę był uruchamiany po wykonaniu wszystkich poleceń montujących dyski i partycje!!!]

 

Dodajemy ten skrypt  np. do pliku /etc/rc.d//rc.local, aby Quota uruchamiała się podczas startu systemu.

 

System plików.

 

Kolejną rzeczą jaką musimy zrobić to dodanie Quoty do systemów plików na naszym dysku.

Edytujemy plik /etc/ftsab i dopisujemy:

 

- ograniczenia dla userów (usrquota)

 

            /dev/hda3       /home   ext2    defaults,usrquota      1       1

 

- ograniczenia dla grupy (grpquota)

           

            /dev/hda3       /home   ext2    defaults,grpquota      1       1

 

- może też być dla jednych i drugich

 

            /dev/hda3       /home   ext2    defaults,usrquota,grpquota      1       1

 

Pliki konfiguracyjne Quoty.

 

Żeby nasze ograniczenia zadziałały musimy stworzyć w katalogu głównym partycji dwa pliki:

 

            - quota.user, quota.group

 

Wydajemy polecenia:

                       

            # touch /home/quota.user  /home/quota.group

 

Nadajemy odpowiednie prawa (jako root):

           

            # chmod 600 quota.user quota.group

 

 

Jak to zwykle bywa przychodzi czas na restart systemu J

 

            # reboot

 

Po restarcie system zaczął mi wywalać takie błędy:

 

            Sprawdzam quote. Moze potrwac chwilke ...:)

quotacheck: Quota for users is enabled on mountpoint /home so quotacheck might damage the file.

Please turn quotas off or use -f to force checking.

 Done.

Wlaczam ograniczenia dyskowe

quotaon: using /home/aquota.group on /dev/hda3 [/home]: Device or resource busy

quotaon: using /home/aquota.user on /dev/hda3 [/home]: Device or resource busy

 

Okazało się, że przy instalacji pakietu Quota zostały automatycznie dodane wpisy (odpowiedzialne za uruchamianie)

do pliku /etc/rc.d/rc.sysinit. Uruchamiając nasz skrypt uruchamialiśmy jeszcze raz Quotę.

 

„Zaciskanie pasa”

 

Pozostało nam jeszcze ustawić limity dyskowe. Służy do tego polecenie edquota

Program ten uruchamia nam standardowy edytor tekstowy (pewno „vi” J), który jest przypisany do zmiennej EDITOR.

Jeżeli nie lubimy „vi” to wystarczy wydać polecenie:

           

            # export EDITOR=/usr/sbin/mcedit

 

I już będzie uruchamiany edytor mcedit (jeżeli go w ogóle mamy).

 

Chcemy np. nadać ograniczenia dla grupy samba wydajemy polecenie:

 

            # edquota –g samba

 

O to wynik działania polecenia:

           

            Disk quotas for group samba (gid 1002)

            File system                   blocks              soft                  hard                 indoes              soft                  hard

            /dev/hda3                    389668            500000            550000            44                    50                    60

 

Kilka wyjaśnień:

      Ale i tak powyżej granicy ustalonej przez 'soft ' grupa (użytkownik) może swobodnie jeszcze umieszczać swoje dane

 

To samo możemy zrobić dla danego użytkownika:

 

            # edquota –u nazwa_użytkwonika

 

Pozostało jeszcze ustawienie grace period

Grace period - jest to okres (domyślnie 7 dni) przez jaki użytkownik, może pozostać powyżej granicy ‘soft’.

Jeśli upłynie 'grace period' a user (grupa)  pozostaje powyżej granicy 'soft ' to limit ten zamienia się w 'hard’  i nie można juz alokować więcej danych.

 

Aby ustawić grace period wydajemy polecenie:

                       

            # edqouta –t

 

            Grace period before enforcing soft limit users:

            Time units may be: days, hours, minutes, or seconds

            File system                 Block grace period                 Incode grace period

            /dev/hda3                               7days                                      7days

 

[możemy ustawić limit czasowy dla danej partycji – jeżeli mamy na niej załączona quote]

 

Widomości uzupełniające J

 

Aby wyłączyć Quotę wystarczy wydać polecenie:

 

# quotaoff -avug

 

Często się zdarza, że takie same limity ma mieć kilku innych użytkowników.

W tej sytuacji wystarczy ustalić limity dla jednego z nich a dla reszty wystarczy skopiować je z wzorcowego użytkownika:

 

            # edquota –p jurek josh gosc

 

czyli użytkownik josh, gosc będzie miał takie same limity jak jurek.

 

Użytkownik może sprawdzać własną quote poleceniem:

 

            # quota

 

[użytkownik sprawdza tylko swoją quote!!!]

 

Admin sprawdzi innym quote poleceniem:

 

            # quota –u nazwa_uzytkownika

            # quota –g nazwa_grupy

 

[Jeżeli wywołamy z opcją –s wielkość limitów będzie podana w MB - więcej opcji – man J]

 

Ciekawym i pożytecznym poleceniem jest repquota.

Podaje sumaryczną ilość miejsca zajmowanego przez danego użytkownika (grupę) na partycji,

na której jest załączona quota.

 

            # repquota –auv                                -dla usera

            # repquota –agv                                -dla grupy

 

*** Report for user quotas on device /dev/hda3

Block grace time: 7days; Inode grace time: 7days

                                       Block limits                                File limits

User            used         soft      hard     grace    used    soft      hard     grace

----------------------------------------------------------------------

root     --     116          0         0                       14       0          0

samba  --     389668    0         0                       44       0          0

jurek    --     5788        0         0                       2         0          0

 

 

Jak sprawdzić czy, aby na pewno działają nasze ograniczenia dyskowe ?

Jeżeli mamy postawioną Sambę, która współpracuje z jakimś windowsem  w sieci przez otoczenie sieciowe

przegrać trochę danych (więcej niż nasze limity).

Oczywiście Samba musi być odpowiednio skonfigurowana! (domyślna grupa itd. – patrz wyżej „Samba”)

 

  

0.SPIS TRESCI | 10.USŁUGI