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.