1. Użytkownicy systemu Linux – grupy i uprawnienia 2. Komendy

Transkrypt

1. Użytkownicy systemu Linux – grupy i uprawnienia 2. Komendy
Quota
dr inż. Anna Zatwarnicka
Plan zajeć:
1.
2.
3.
4.
Użytkownicy systemu Linux – grupy i uprawnienia
Komendy przydatne do zarządzania użytkownikami
Zarządzanie użytkownikami – narzędzia etc.
Narzędzia związane z obsługą mechanizmu Quota
1. Użytkownicy systemu Linux – grupy i uprawnienia
Linux jest system wieloużytkownikowym. Tzn.? możliwa jest jednoczesna praca
wielu użytkowników na tej samej platformie.
2. Komendy przydatne do zarządzania użytkownikami
Na przykładzie YAST (jest w SuSe), w innych dystrybucjach tez jest coś
okienkowego – proszę sobie poklikać, pooglądać, utworzyć grupę, do grupy
użytkowników etc.
Zarządzanie użytkownikami: Narzędzia:
YaST:
Zabezpieczenia i użytkownicy zarządzanie użytkownikami dodaj/usuń/modyfikuj
Zarządzanie grupami: Narzędzia:
YaST:
Zabezpieczenia i użytkownicy zarządzanie grupami dodaj etc. z
dodawaniem członków grupy
3. Zarządzanie użytkownikami – narzędzia etc.
Quota – mechanizm do przydzielania zasobów dyskowych dla użytkowników
Problem: domyślnie systemy Linux pracują bez ustalonych limitów dotyczących
rozmiaru konta użytkownika,
pomoże prowadzić to tego, że każdy użytkownik w ramach systemu i
przysługujących mu praw może utworzyć dowolną ilość plików – o dowolnie
dużym rozmiarze (no, ograniczonym przestrzenią dyskową…)
co powoduje, że jeden użytkownik może wykorzystać całe dostępne miejsce
na dysku – i żaden inny użytkownik nie będzie mógł utworzyć żadnego innego
pliku
co oznacza całkowite unieruchomienie pracy systemu (i użytkowników).
Normalna praca systemu będzie możliwa dopiero po zwolnieniu przestrzeni
dyskowej.
Aby się przed tym zabezpieczyć – mechanizm Quota.
1
Quota
dr inż. Anna Zatwarnicka
2
Quota – pakiet umożliwiający ograniczenie wielkości dysku twardego dostępnego
dla konta (czyli dla użytkownika, który na tym właśnie koncie zapisuje swoje
dane).
Mechanizm jest nadzorowany przez jądro – i jeśli bieżąca konfiguracja nie
zawiera wsparcia obsługi tego mechanizmu – to konieczna będzie rekompilacja
po uprzednim włączeniu mechanizmu.
Quota umożliwia wprowadzenie dwóch typów ograniczeń:
ograniczenie liczby i-węzłów (i-node – punkt połączenia plików z systemem
plików, liczba i-węzłów na partycji przekłada się na liczbę plików, jaką można
utworzyć na tej partycji
ograniczenie liczby bloków na partycjach systemowych (bloki zwykle są
po 1kB, 2kB lub 4kB)
Zagrożenia – jeśli nie będziemy stosować Quota:
Zapełnienie partycji użytkowników – czyli innym uniemożliwimy pracę
Zapełnienie partycji systemowej – w przypadku niewydzielenia odrębnej partycji
użytkowników co oznacza brak możliwości pracy systemu
Narażamy się na możliwość tworzenia/modyfikacji plików przez użytkowników w
katalogach systemowych Quota umożliwia wykluczenie tego
niebezpieczeństwa.
Ograniczenia dot. liczby bloków i liczby i-węzłów mogą być:
tzw. miękkie (przekraczalne) – to takie ograniczenie porządkowe – po
przekroczeniu system zaczyna odliczać czas (tzw. czas pobłażania – ang.
grace time, ustawiany za pomocą edquota –t), w ciągu którego należy
zejść poniżej ograniczeń – ale zapis jest nadal możliwy; jeśli nadmiar
plików (lub bloków) nie zostanie usunięty w czasie pobłażania – następuje
blokada zapisu i taki stan jest utrzymywany aż do chwili usunięcia plików
lub bloków,
i ograniczenia twarde (nieprzekraczalne) – nieprzekraczalne w żaden
sposób; oznaczają maksymalną możliwą do zapisania liczbę bloków lub
plików.
Dobra praktyka: ustawianie ograniczeń miękkich na poziomie 2/3 ograniczeń
twardych.
Skąd to pobrać? Jak zamontować?
Mechanizm quota jest nadzorowany przez jądro systemu operacyjnego konieczna
jest kompilacja jądra z włączonym wsparciem dla mechanizmu quota.
możliwe w: /usr/src/linux-2.6.18.2-34: # make menuconfig
(jak w kompilowaniu kernela)
potem: kategoria konfiguracyjna File System,
Quota
dr inż. Anna Zatwarnicka
zaznaczamy opcję główną: quota suport oraz opcję dodatkową Old quota format
suport
i Quota format v2 support,
i można to pokazać, zrzut ekranu poniżej:
Po przekompilowaniu jądra – można przydzielać zasoby i wykorzystywać
mechanizmy kontroli na tych systemach plików, jakie są zamontowane z
odpowiednimi opcjami (dotyczącymi rozliczania udziałów).
A jeśli nie ma zamontowanych narzędzi?
To ściągamy sobie quota z odpowiednich stron:
- płyty instalacyjnej systemu – pakiet odpowiedni (pakiet RPM – polecenie rpm)
- ze źródeł (quota jako projekt nie ma swojej strony domowej! Ale można wrzucić:
quota oraz tar i zip i będzie ☺ ) zazwyczaj na http://www.sourceforge.net, źródła
3
Quota
dr inż. Anna Zatwarnicka
4
pobieramy, umieszczamy gdzieś na boku w katalogu (/home/ania/PLIKI) i
instalujemy: 1) rozkompresować z tego tar’a i zip’a 2) w katalogu ze źródłami jest plik
configure – pozwala na konfigurowanie przed właściwą kompilacją. Jest opcja - - help
☺ można poczytać o innych opcjach, jest jeszcze - - prefix – pozwala zdefiniować
katalog, do którego zostanie zainstalowane oprogramowanie.
Sprawdzamy, czy jesteśmy tam, gdzie źródła quota
# pwd
ustawiamy katalog
# ./configure - - prefix=/usr/local/quota
… i się robi… creating to i śmo…. chceking tamto-i-siamto
Potem kompilujemy (jesteśmy cały czas np. w /home/ania/PLIKI):
# make
…. I się robi ….
Poem przenosimy gotowe pliki do właściwych katalogów systemowych:
#make install
…i się robi…
teraz możemy sobie zobaczyć, że są tam, gdzie trzeba:
#ls /usr/local/quota/sbin/
… I wyświetli te quota, quotaon I inne
ale uwaga! Katalog jest tutaj inny niż domyślny!!!
4. Narzędzia związane z obsługą mechanizmu Quota
Zestaw narzędzi (poleceń) – dających możliwość:
włączania/wyłączania mechanizmu rozliczeń,
aktualizacji i testowania bieżącego stanu udziałów przydzielonych użytkownikom
no i ustawiania tych udziałów dla poszczególnych użytkowników lub grup
Polecenia to:
edquota
quota
quotaon
quotaoff
quotacheck
quotastats
repquota
setquota
I po kolei:
edquota – edytuje ustawienia dla użytkowników/grup;
Quota
dr inż. Anna Zatwarnicka
5
uruchamia domyślny edytor tekstu, gdzie edytuje bezpośrednio ustawienia
użytkowników i grup;
wywołanie: edquota [opcja] [użytkownik]
Gdzie opcja może być:
-u – edycja ustawień udziałów dla użytkownika;
-g – edycja ustawień udziałów dla grupy;
-p – kopiowanie ustawień udziałów z jednego użytkownika na innego (innych)
-t – edycja ustawień czasu pobłażania (ang. grace time)
Przykład:
By skopiować ustawienia udziałów z użytkownika student1 na student2:
# edquota –t student1 student2
quota – wyświetlenie informacji o limitach i zajętości dysku
wywołanie: quota [opcja] [użytkownik]
Gdzie opcja może być:
-v – informacja o udziałach we wszystkich systemach plików,
-u – informacja o udziałach dla podanego użytkownika (może to wykorzystywać tylko
root)
-g – informacja nt. udziałów dla podanej grupy (tylko dla root’a)
-q – informacja o partycjach, gdzie limity są przekroczone
Parametry użytkownik oraz grupa mogą być wykorzystane odpowiednio z opcjami –u
i –g – czyli tylko przez root’a.
Przykład:
Sprawdzamy, ile udziałów we wszystkich partycjach systemowych wykorzystuje
użytkownik student:
# quota –v student
quotaon – włączenie mechanizmu rozliczeń quota
wywołanie: quotaon [opcja] [system plików]
Gdzie opcja może być:
- a – włącza mechanizm quota dla wszystkich systemów plików wyszczególnionych
w pliku /etc/fstab bez opcji noauto – za wyjątkiem NTFS (ag. Network File System)
- u – włączenie mechanizmu kontroli dla użytkowników,
- g – włączenie mechanizmów kontroli dla grup,
- v – wyświetlenie informacji o systemach plików z włączonym mechanizmem quota,
- f – polecenie quotaon będzie działało tak, jak polecenie quotaoff,
Przykład:
Quota
dr inż. Anna Zatwarnicka
Włączenie mechanizmu kontroli dla wszystkich systemów plików na poziomie
użytkowników i grup:
#quotaon –aug
quotaoff – wyłączenie mechanizmu rozliczeń quota
wywołanie: quotaoff [opcja] [system plików]
Gdzie opcja może być:
-a – wyłącza mechanizm quota dla wszystkich systemów plików wyszczególnionych
w
/etc/fstab bez opcji noauto – za wyjątkiem NTFS (ag. Network File System)
- u – wyłączenie mechanizmu kontroli dla użytkowników,
- g – wyłączenie mechanizmów kontroli dla grup,
- v – wyświetlenie informacji o systemach plików z wyłączonym mechanizmem
quota,
Przykład:
Wyłączenie mechanizmu kontroli dla wszystkich systemów plików na poziomie
użytkowników i grup:
#quotaoff –aug
quotacheck – skanowanie systemu plików w celu sprawdzenia udziałów oraz
aktualizacji plików kontrolnych mechanizmu quota
wywołanie: quotacheck [opcja] [system plików]
Gdzie opcja może być:
-a – testowanie wszystkich zamontowanych systemów plików,
-b – zachowanie plików danych mechanizmu quota przed ich modyfikacją,
-v – działanie w trybie jawnym (widoczne postępy działania),
-d – działanie w trybie interaktywnym,
-u - sprawdzanie tylko udziałów dla użytkowników,
-g - sprawdzanie tylko udziałów dla grup,
-c – utworzenie nowych plików danych mechanizmu quota – bieżące pliki nie są
uwzględniane,
-f – wymuszenie sprawdzenia udziałów dla systemów plików z quota
-M – wymuszenie działania w trybie read-write; jeśli nie powiedzie się
przemontowanie do trybu tylko do odczytu,
-m – wymuszenie pominięcia przełączenia w tryb tylko do odczytu.
Przykład:
Sprawdzenie wszystkich systemów plików w celu sprawdzenia wykorzystania
udziałów dyskowych przez użytkowników i grupy:
#quotacheck –auvg
6
Quota
dr inż. Anna Zatwarnicka
quotastats – wyświetlenie statystyk dot. udziałów w systemach plików
wywołanie: quotastats
Przykład:
Aby zapoznać się z informacją dotyczącą udziałów w systemach plików:
# quotastats
repquota – wyświetlenie sumarycznej informacji nt. stanu mechanizmu quota
wywołanie: repquota [opcja] [system plików]
Gdzie opcja może być:
-a – wyświetla informację sumaryczną nt. stanu mechanizmu quota dla systemów
plików widocznych w /etc/tab.
-v – bardziej szczegółowa informacja dot. stanu mechanizmu quota
-t – wyświetlenie informacji z nazwami użytkowników ograniczonymi do 9 znaków
(będzie czytalniej)
-s – informacja dot. stanu mechanizmu quota podana w innej (niż domyślna) postaci
Przykład:
Aby pełną informację nt. stanu pracy mechanizmu quota (bieżące udziału dla
użytkowników/grup itp.):
# repquota –auvg
setquota – ustawianie parametrów udziałów w dyskach z linii komend
wywołanie:
setquota [-u|-g] użytkownik block-softlimit \ block-hardlimit inode-softlimit \
inode-hardlimit –a system plików
setquota –t [-u|-t] block-grace inode-grace \ -a system plików
Gdzie opcja może być:
-a – gdy polecenie stosujemy dla wszystkich rodzajów plików,
-u – ustawienie udziałów dla użytkowników,
-g – ustawienie udziałów dla grup,
-t – ustawienie czasu pobłażania,
block-softlimit – ograniczenie przekraczalne liczby bloków (w liczbie bloków)
block-hardlimit – ograniczenie nieprzekraczalne liczby bloków (w liczbie bloków)
inode-softlimit – ograniczenie przekraczalne liczby i- węzłów (w liczbie i-węzłów)
inode-hardlimit – ograniczenie nieprzekraczalne liczby i- węzłów (w liczbie iwęzłów)
block-grace – czas pobłażania dla bloków (w dniach)
inode-grace – czas pobłażania dla i- węzłów (w dniach)
Przykład:
7
Quota
dr inż. Anna Zatwarnicka
Dla użytkownika student definiujemy udziały we wszystkich systemach plików:
10 000 bloków przekraczalne, 20 000 bloków nieprzekraczalne, 1 000 węzłów
przekraczalne, 2 000 węzłów nieprzekraczalne – przy domyślnych ustawieniach
czasu pobłażania:
# setquota –u student 10000 20000 1000 2000 –a
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Uruchamianie mechanizmu quota:
1. Ustalamy system plików dla których quota będzie
uruchamiana
Edytujemy plik: /etc/fstab np. za pomocą edytora nano (wcześniej lepiej zrobić
kopię), poleceniem:
#nano /etc/fstab
– standardowa zawartość:
Jak modyfikujemy?
dopisujemy po defaults opcję usrquota (mechanizm rozliczania dla
użytkowników) i/lub grpquota (mechanizm rozliczania dla grup);
najlepiej zarówno dla użytkowników jak i dla grup:
Będzie np. tak dla partycji:
/
defaults,usrquota,grpquota
/home defaults,usrquota,grpquota
8
Quota
dr inż. Anna Zatwarnicka
9
Po zmodyfikowaniu: #nano /etc/fstab
Uwaga! Jak zrobimy literówkę – nie zostanie zamontowana partycja z błędami!
No a gdyby to była systemowa – to nie możliwy start systemu! – ew. naprawianie
z płytki instalacyjnej.
2. Tworzymy pliki kontrolne mechanizmu quota
we wszystkich katalogach, do których zamontowane są partycje z
mechanizmem rozliczania – czyli u nas / oraz /home.
Pliki mają nazwę: aquota.user (plik kontrolny udziałów dla użytkowników) oraz
aquota.group (plik kontrolny udziałów dla grup),
Tworzymy za pomocą takich poleceń (w katalogu głównym /):
# touch /aquota.user
# touch /aquota.group
# touch /home/ aquota.user
# touch /home/ aquota.group
# chmod 600 /aquota* //lub poj wypisywać
# chmod 600 /home/aquota*
# reboot
… i się odmeldowuje….
Po restarcie pojawią się komunikaty o błędach związane z mechanizmem quota.
Skąd one są: standardowo podczas startu systemu w jednym z plików startowych
wykonywane jest polecenie quotaon – jeśli wszystko ok., to się wykona, jeśli nie
– to nic nie zrobi.
nie pojawiły się komunikaty o błędach!
Quota
dr inż. Anna Zatwarnicka
10
3. Przeprowadzamy pierwsze skanowanie systemu plików, by
określić, jakie udziały w partycjach są aktualnie
wykorzystywane przez byty systemowe (użytkowników i
grupy).
Skanowanie jest realizowane przez quotacheck;
Powinno być przy WYŁĄCZONYM mechanizmie quotaon (czyli wcześniej
trzeba wykonać polecenie quotaoff);
Ale operacja włączenia udziałów nie powiedzie się za I-szym razem – bo
mechanizm quota oczekuje, że pliki kontrolne mechanizmu zawierają poprawą
informację o udziałach, co za pierwszym razem nie jest możliwe, bo przecież
pliki są… puste.
Czyli nie trzeba wyłączać mechanizmu, by przejść do skanowania.
Poprawne działanie pokazać!
Błędy – skąd się pojawiają? Bo każde skanowanie plików rozpoczyna się od
odczytania bieżącej zawartości plików kontrolnych – no a za pierwszym razem
są one puste;
# ls –al /aquota* ; ls –al /home/aquota*
… wylistuje…
# /usr/local/quota/sbin/quotacheck –auvg –M
… wypisuje ostrzeżenia…
… wypisuje, że skanowanie….
… wypisuje ile plików i katalogów sprawdził….
# ls –al. /aquota* ; ls –al. /home/aquota* //zobaczmy, że w plikach coś jest
4. 1-sze skanowanie przeprowadzone – pliki kontrolne udziałów
mają poprawny format I zawartość – czyli można mechanizm
rozliczeń włączyć:
# /usr/local/quota/sbin/quotaon –auvg
… wypisuje mi, że limity włączone…
5. Po uruchomieniu mechanizmu rozliczeń udziałów w
systemach plików trzeba skonfigurować ustawienia limitów
dla poszczególnych użytkowników i/lub grup
Ten etap rozpoczynamy od wypisania polecenia:
# /usr/local/quota/sbin/edguota nazwa_uzytkownika
Spowoduje to, że uruchomiony zostanie domyślny edytor (vi ;) ), w którym można
wyedytować ustawienia udziałów w partycjach systemowych dla podanego
użytkownika.
? a co gdy chcemy zmienić edytor? Zmienić zmienną środowiskową EDITOR:
Quota
dr inż. Anna Zatwarnicka
11
#export EDITOR=/usr/bin/joe
(albo pico, albo nano)
Jak ustawić ograniczenia udziałów dyskowych?
- z uwzględnieniem bieżącego stanu posiadania użytkownika (podanego w oknie
konfiguracyjnym).
Czyli wypisujemy:
# /usr/local/quota/sbin/edguota ania
W kolumnach bloki oraz i-węzły są wartości określające bieżące wykorzystanie
przez użytkownika ania systemów plików /dev/hda1 oraz /dev/hda2.