110 likes | 295 Views
UNIX. dr inż. Piotr Mielecki Piotr.Mielecki@pwr.wroc.pl. Studium ADMINISTROWANIE SIECIAMI KOMPUTEROWYMI rok 2006. ŹRÓDŁA. Armstrong J. C., Taylor D. : UNIX dla każdego. Wyd. Helion, 2000. Petersen R. : Programowanie w systemie Linux. Kurs podstawowy. Wyd. Edition, 2000.
E N D
UNIX dr inż. Piotr Mielecki Piotr.Mielecki@pwr.wroc.pl Studium ADMINISTROWANIE SIECIAMI KOMPUTEROWYMI rok 2006
ŹRÓDŁA Armstrong J. C., Taylor D.: UNIX dla każdego. Wyd. Helion, 2000 Petersen R.: Programowanie w systemie Linux. Kurs podstawowy. Wyd. Edition, 2000 Mitchell M., Oldham J., Samuel A.: Linux. Programowanie dla zaawansowanych. Wyd. RM, 2002 Gay W. W.: Linux. Gniazda w programowaniu. Wyd. Mikom, 2001 http://pl.wikipedia.org/wiki/Unix
PLAN ZAJĘĆ NA 12.02.2006 Zarys historii systemu UNIX – krótka charakterystyka poszczególnych odmian. Podstawowe koncepcje – system bezpieczeństwa a hierarchiczna struktura plików. Instalacja systemu na przykładzie Linuksa. Wprowadzenie do pracy w środowisku systemu UNIX (Solaris). Podstawy administrowania wyizolowanym hostem (Linux).
HISTORIA UNIX-a Projekt MULTICS (AT&T Bell Labs., General Electric) – rok 1966 (nieudany) Ken Thompson, elektryk, absolwent University of California, Berkeley: Wynalazca takich rzeczy, jak hierarchiczny system plików, potoki komend, wyrażenia regularne. UNIX (AT&T Bell Labs., Digital Equipment) – rok 1969 Ken Thompson: Stworzył uniwersalny język wysokiego poziomu B (1970r.) Dennis Ritchie, matematyk, absolwent Harvardu: Rozwinął język B do C (cały kod systemu UNIX – 1973r.) University of California, Berkeley AT&T Bell Labs. (komercja) Ken Thompson jako wykładowca-gość w latach 1975-76 spopularyzował UNIX-a („Time-Sharing System 6”) na maszynach PDP-11 a następnie VAX (DEC) W roku 1980 AT&T sprzedała licencję na rozwijanie kodu firmie SCO, która na zlecenie Microsoftu realizowała projekt XENIX (zamknięty) dla IBM-PC. W roku 1983 AT&T wprowadziła na rynek pierwszą wersję UNIX System V Dziś wszelkie prawa do System V należą do SCO Dystrybucje BSD (od roku 1978) Wynalazki: edytor vi, komunikacja IPC, zarządzanie pamięcią wirtualną (1979), komunikacja TCP/IP, …
HISTORIA Linuksa MINIX (Vrije Universiteit, Amsterdam) – lata 1980-te i 1990-te (obecnie licencja BSD) Andrew S. Tannenbaum, absolwent MIT, doktorat w roku 1971 na University of California, Berkeley: Po doktoracie zamieszkał w Holandii, wykłada budowę systemów operacyjnych. System MINIX stworzył jako bardzo tanią lecz komercyjną (oraz edukacyjną), okrojoną implementację UNIX-a dla IBM-PC. Linux (wiele dystrybucji) – od lat 1990-tych Linus Torvalds: Zainspirowany systemem MINIX poczuł potrzebę posiadania wydajnego systemu klasy UNIX. Jeszcze jako student Uniwersytetu w Helsinkach stworzył w roku 1991 pierwszą jego wersję, która pracowała na domowym komputerze IBM-PC (386). Obecnie przede wszystkim nadzoruje rozwój kolejnych wersji jego jądra (nowe wersje).
PODSTAWOWE KONCEPCJE SYSTEM BEZPIECZEŃSTWA (OGÓLNIE – 1) Przez domenę rozumiemy (w kontekście ochrony zasobów) zbiór praw dostępu do poszczególnych obiektów (zasobów systemu) – ogólna definicja. Prawa dostępu w systemie definiowane są jako relacja typu: <nazwa_obiektu, {zestaw_uprawnień}>. Domeny mogą być między sobą we wzajemnych relacjach. W praktyce domeny odpowiadają użytkownikom lub grupom użytkowników.
PODSTAWOWE KONCEPCJE SYSTEM BEZPIECZEŃSTWA (OGÓLNIE – 2) • Uprawnienia do konkretnych obiektów, dostępne w ramach konkretnych domen • można przechowywać w strukturze dwuwymiarowej tablicy – macierzy uprawnień • (ang. access matrix). W tej macierzy odpowiednio: • wiersze (listy uprawnień) reprezentują domeny (np. użytkowników i grupy); • kolumny (listy dostępu) reprezentują obiekty (np. pliki, urządzenia).
PODSTAWOWE KONCEPCJE SYSTEM BEZPIECZEŃSTWA (OGÓLNIE – 3) • Można powiedzieć, że system zarządzania dostępem do zasobów oparty na macierzy dostępu składa się z dwóch warstw: • zbioru abstrakcyjnych reguł (nazywanych np. polisą użytkownika), określających kto może co zrobić z którym obiektem (reguły te związane są najczęściej z użytkownikami lub ich grupami); • mechanizmu wykonawczego, czyli zaimplementowanej (nie koniecznie dosłownie) w systemie operacyjnym macierzy dostępu, zawierającej „mapę” uprawnień oraz odpowiednich narzędzi, zapewniających bezpieczne (tj. możliwe do wykonania tylko przez uprawnionych użytkowników) ustawianie tych uprawnień i ich ścisłe przestrzeganie.
PODSTAWOWE KONCEPCJE SYSTEM BEZPIECZEŃSTWA (OGÓLNIE – 4) • Macierz dostępu może ulegać zmianom zarówno na skutek działań administratora systemu, jak i innych użytkowników. Typowe funkcje zmieniające stan macierzy dostępu to: • przydzielenie i usunięcie praw dostępu (operacje podstawowe); • szczególne operacje na zawartości macierzy dostępu: • - relacja własności: domena Di jest właścicielem obiektu Oj; • - skopiowanie dopuszczalnej operacji OP z obiektu Oj do Ok.; • - zarządzanie domeną: Di (np. root) może modyfikować uprawnienia Dl; • - przełączanie: przejście z domeny Di do domeny Dm (np. zmiana grupy).
PODSTAWOWE KONCEPCJE SYSTEM BEZPIECZEŃSTWA (UNIX – 1) • Implementacja macierzy dostępu nie koniecznie musi polegać na zdefiniowaniu i obsługiwaniu odpowiedniej tablicy (problemem byłyby np. zmieniające się wymiary takiej tablicy, nie mówiąc już o jej wielkości i dużej liczbie pustych komórek). • W systemach klasy UNIX ochrona dostępu do plików zrealizowana jest w ścisłym powiązaniu z samym systemem plikowym – atrybuty własności oraz uprawnień dostępu zapisywane są w strukturach opisujących pliki (i-węzłach). Dzięki temu bardzo łatwo jest zbudować listę dostępu do danego pliku (kolumnę macierzy uprawnień opisującą dany plik) w momencie żądania dostępu do niego przez konkretnego użytkownika. Egzekwowanie praw dostępu do plików realizowane jest tu więc na podstawie list dostępu, nie list uprawnień użytkownika. Zauważmy, że odwrotne podejście zmuszałoby nas do utrzymywania dużych tablic pamiętających listy uprawnień (teoretycznie dla każdego użytkownika tyle elementów, co plików). Kłopotliwe byłoby zarówno pamiętanie takich list jak i ich obsługa. • Można założyć, że systemy klasy UNIX rozróżniają dwa typy domen: • - zwykłych użytkowników (i zwykłe grupy); • - użytkownika root – uprawnionego (jako jedyny) do wszystkich zasobów.
PODSTAWOWE KONCEPCJE SYSTEM BEZPIECZEŃSTWA (UNIX – 2) • W praktyce w momencie dostępu do pliku (a także urządzenia, kolejki FIFO, semafora i innych obiektów) system bezpieczeństwa UNIX-a ustala, co z danym obiektem może zrobić: • użytkownik, który jest właścicielem obiektu; • grupa, która jest właścicielem obiektu; • dowolny inny użytkownik. • Dopuszczalne operacje na obiekcie (pliku), to: • odczytanie zawartości (READ); • zapisanie nowej zawartości (WRITE); • uruchomienie (EXECUTE), w przypadku katalogu wejście do niego. Systemy klasy UNIX wyróżniają jednego użytkownika – administratora, który zawsze posiada wszystkie prawa dostępu do wszystkich obiektów. Nazywa się on root i jest „numerem jeden” w systemie – stąd nazwa UNIX, wymyślona przez Briana W. Kernighana (współtwórcę UNIX-a i podstawowego podręcznika o języku C).