Konta użytkowników i prawa dostępu 1. Cel ćwiczenia Celem
Transkrypt
Konta użytkowników i prawa dostępu 1. Cel ćwiczenia Celem
Konta użytkowników i prawa dostępu 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie z administracją kont użytkowników w systemie QNX. Rozpatrywane są aspekty wielodostępu do systemu i związana z nim konieczność ograniczania praw dostępu do plików i katalogów innych użytkowników systemu. 2.Wstęp teoretyczny Administracja kontami użytkowników sprowadza się do (bezpośredniej lub przy użyciu komend i programów) edycji dwóch plików. Konta użytkowników zdefiniowane w pliku /etc/passwd, zaś informacje na temat grup, do których użytkownicy przynależą, zawarte są w pliku /etc/group. Każdemu użytkownikowi odpowiada jeden wiersz w pliku /etc/passwd, składający się z 7 pól oddzielonych dwukropkami, w postaci: nazwa_uż. : hasło : UID : GID : opis_uż. : katalog_osobisty : program_powłoki Ponieważ plik /etc/passwd jest plikiem publicznym, pole 2 przechowujące hasło, może być puste lub może zawierać znak „x”. Hasła (w postaci zakodowanej) przechowywane są wtedy w osobnym pliku /etc/shadow. Pola 3 i 4 zawierają odpowiednio identyfikator użytkownika (User ID) oraz identyfikator grupy podstawowej (Group ID), do której użytkownik należy. W polu 6 przechowywana jest ścieżka dostępu do katalogu domowego, zazwyczaj /home/nazwa_użytkownika. W polu 7 przechowywana jest ścieżka dostępu do programu powłoki (interpretera komend). Dla systemu QNX domyślną powłoką jest /bin/sh. Przykładowy wiersz pliku /etc/passwd może zatem wyglądać następująco: student1 : x : 100 : 100 : Jan Kowalski : /home/student1 : /bin/sh Przed zdefiniowaniem użytkownika należy jednak utworzyć grupę, do której użytkownik będzie przynależeć. W tym celu należy dokonać edycji pliku /etc/group. Każdy wiersz pliku składa się z 4 pól oddzielonych dwukropkami: nazwa_grupy : : GID : lista_użytkowników_należących_do_grupy Istotnym polem jest pole 4. Dzięki niemu możliwe jest zdefiniowanie dodatkowych użytkowników przynależących do grupy, nawet jeśli ich grupa podstawowa jest inna. Przykładowy wiersz pliku /etc/group może zatem wyglądać tak: studenci : : 100 : wykladowca1 Z powyższych przykładów wynika, że student1 jest członkiem grupy studenci. Należy zwrócić uwagę na fakt, że członkiem tej grupy jest też wykladowca1, którego grupą podstawową może być np. wykladowcy. Użytkownik ten może zatem korzystać z przywilejów obu grup. Plik /etc/shadow zawiera zakodowane hasła oraz opcjonalne informacje na temat wieku hasła. 2.1. Tworzenie konta nowego użytkownika W celu utworzenia konta użytkownika, należy kolejno wykonać poniższe działania: 1. Utworzyć grupę użytkowników (edycja pliku /etc/group). 2. Utworzyć użytkownika poleceniem passwd nazwa_nowego_użytkownika (lub edycja pliku /etc/passwd). 3. Jeżeli w punkcie 2 nie użyto polecenia passwd, należy zmienić hasło nowo utworzonego użytkownika (polecenie passwd nazwa_użytkownika – pole 2 pliku /etc/shadow zostanie zapisane). 4. Jeżeli w punkcie 2 nie użyto polecenia passwd, należy utworzyć katalog domowy użytkownika, odpowiednio zmienić jego właściciela, przypisać mu odpowiednią grupę i określić uprawnienia dostępu (polecenia chown, chgrp, chmod). 2.2 Prawa dostępu do plików i katalogów Każdy plik i katalog w systemie QNX posiada 10 bitów protekcji w formacie drwxrwxrwx (bity protekcji widoczne są, np. po wykonaniu polecenia ls z parametrem -l), gdzie - Bit 1 umożliwia identyfikację rodzaju pliku d – katalog, - – plik, l – link do pliku, b – plik specjalny (urządzenie blokowe), c – plik specjalny (urządzenie znakowe), - bity 2-4 uprawnienia właściciela pliku, - bity 5-7 uprawnienia grupy do której należy właściciel, - bity 8-10 uprawnienia pozostałych użytkowników, Znaczenie poszczególnych bitów - r (4)– prawo do odczytu, - w (2)– prawo do zapisu, - x (1)– prawo do uruchomienia , jeśli plik jest programem. Administrowanie uprawnieniami możliwe jest przy użyciu poniższych instrukcji: - polecenie chmod prawa n_pliku umożliwia zmianę praw dostępu do pliku bądź katalogu, - polecenie chown prawa n_pliku umożliwia zmianę właściciela pliku bądź katalogu, - polecenie chgrp prawa n_pliku umożliwia zmianę grupy, do której należy plik. W systemie QNX istnieją dwie możliwości podawania praw: bezpośredni za pomocą wartości numerycznych (0-7) lub symbolicznych (zapis -rwx). Ustawiając wartości symboliczne pierwszą rzeczą, którą należy ustalić jest argument kogo ma dotyczyć dane prawo: u -użytkownik, g -grupa, o -inni, a -wszyscy. Następnym podawanym parametrem jest czy prawo ma zostać dodane, odjęte, czy ustawione: +, - ,=. Potem podajemy prawo, które ma być dodane lub odebrane. Dla przykładu. Chcemy dać możliwość wykonywania pliku test wszystkim użytkownikom systemu. Wydajmy polecenie: chmod a+x test Analogicznie, nie chcemy, żeby poza nami ktokolwiek miał dostęp do pliku test2 wpiszmy: chmod go-rwx test2 Drugi sposób ustawiania praw dostępu do plików to operowanie za pomocą liczb ósemkowych. Za pomocą cyfr od 0-7 ustawimy odpowiednie prawa. Oto dostępne wartości: 0 to - brak praw dostępu 1 to -x wykonywanie 2 to -w- zapis 3 to -wx zapis i wykonywanie 4 to r- odczyt 5 to r-x odczyt i wykonywanie 6 to rw- odczyt i zapis 7 to rwx odczyt, zapis, wykonywanie Wydając polecenie chomod podajemy po nim 3 liczby, które oznaczają kolejno - właściciela, grupę, innych. Dla przykładu: chmod 755 oznacza, że właściciel będzie mógł odczytywać, zapisywać i wykonywać plik (7), natomiast grupa i inni tylko odczytywać i wykonywać (5). Pliki ustawione na chmod 644 pozwalają właścicielowi na odczyt i zapis (6), natomiast grupie i innym tylko na odczyt (4). 3. Zadania do wykonania - utworzyć kilka kont użytkowników (używając obydwu metod): dwaj należą do tej samej grupy (ta sama grupa podstawowa np.: „grupa1”), jeden ma inna grupę podstawową, ale należy również do „grupa1”, jeden nie należy do „grupa1”. - w katalogach domowych użytkowników stworzyć po kilka plików i katalogów, - ustawić poprawne grupy oraz właścicieli, - ustawić różne prawa dostępu do utworzonych plików i katalogów, - zalogować się do systemu jako „zwykły” użytkownik i przetestować zabezpieczenia dostępu do plików i katalogów innych użytkowników. W sprawozdaniu zamieścić rezultaty działania użytych poleceń oraz opis otrzymanych rezultatów.