System operacyjny UNIX system plików
System plików systemu UNIX (s5fs) System plików ma strukturę drzewa. Na samym szczycie znajduje się korzeń (root), symbolicznie przedstawiany jako /. Z punktu widzenia systemu UNIX każdy obiekt na dysku jest plikiem. Z kolei każdy plik przechowywany jest w postaci i-węzła (inode, index node). Taki i-węzeł przechowuje całą informację o pliku, za wyjątkiem jego nazwy. Katalog jest traktowany jako plik, którego zawartością jest lista nazw plików i numerów ich i-węzłów. Co ciekawe wiele katalogów może mieć odnośniki to tego samego pliku (i-węzła). Katalog posiada zawsze dwa specjalne wpisy: odniesienie do samego siebie. oraz odniesienie do katalogu nadrzędnego...
System plików systemu UNIX (s5fs)
Systemy plików stosowane w systemie Linux Ext2 Podstawowy system plików do około 2002 roku Większość koncepcji jest wspólna z s5fs; Ext3: Wersja systemu ext2, rozszerzona o księgowanie; Ext4: Ulepszona wersja ext3, posiada księgowanie i jest skierowany ku większym i bardziej zaawansowanym nośnikom; ReiserFS: Pierwszy system plików z księgowaniem XFS: Księgowany system plików, skierowany na wysoką szybkość działania i dobrą pracę w systemach wieloprocesorowych.
Struktura katalogów
Nazwy uogólniające Czasem zachodzi konieczność wykonania jednego polecenia dla wielu plików. Aby to ułatwić wprowadzono nazwy uogólniające: * oznacza wszystkie pliki, ale bez plików ukrytych, np. rm *;? zastępuje jeden znak w nazwie pliku, np. da??.txt; [a-z] oznacza dowolny znak z przedziału, np. data[0-9].dat; [ABC] oznacza, że w nazwie ma wystąpić jedna z tych liter; {kot, pies} oznacza, że w nazwie ma wystąpić podany łańcuch znaków.
Dowiązania Dowiązanie służy umieszczeniu fizycznie jednego pliku znajdującego się na dysku do wielu katalogów. Można je wykonać jako dowiązanie twarde i symboliczne: dowiązanie twarde (hard link) jest to przyporządkowanie i-węzła do więcej niż jednego katalogu. Każdy i-węzeł posiada zapis ilości takich odwołań. Podczas usuwania pliku ilość ta jest zmniejszana, aż do 0 i wtedy plik jest usuwany z systemu. Pewnym ograniczeniem jest to, że takie dowiązanie jest możliwe tylko w obrębie jednego systemu plików oraz brak możliwości utworzenia dowiązania do katalogu; dowiązanie symboliczne (symbolic link) to specjalny plik, który wskazuje na inny plik poprzez jego nazwę. Można tworzyć dowiązania symboliczne do katalogów, pomiędzy dyskami, lub do nieistniejącego obiektu..
Prawa dostępu Zapis praw dostępu to pliku wygląda następująco: -rw-r--r-- Pierwszy bity określa typ pliku (katalog, plik, itp.); Trzy kolejne bity określają prawa dostępu dla właściciela pliku; Kolejne trzy bity określają prawa dostępu dla grupy która jest właścicielem pliku; Ostatnie trzy bity określają prawa dostępu dla pozostałych użytkowników systemu.
Rodzaje plików Pliki zwykłe: -; Katalogi: d; Dowiązania: l; Kolejki: p; Urządzenie znakowe c; Urządzenie blokowe b; Gniazdo s.
Prawa dostępu - dodatki sticky bit - w odniesieniu do katalogu oznacza, że jego zawartość może usunąć jedynie jego właściciel. W odniesieniu do pliku wykonywalnego oznacza, że program nie jest usuwany z pamięci po zakończeniu działania; SUID osoba która wykonuje program z tą cechą na czas działania programu otrzymuje uprawnienia jego właściciela, oraz jego numer użytkownika; SGID jak wyżej, tylko otrzymuje się grupę właściciela. Dodatkowo w odniesieniu do katalogów wszystkie pliki tworzone w katalogu o takim uprawnieniu automatycznie stają się własnością grupy która posiada katalog.
Prawa dostępu - polecenia Do zmiany praw dostępu służy polecenie chmod. składnia to: chmod a+r plik; pierwsze pole: u oznacza uprawnienia właściciela, g uprawnienia grupy, a uprawnienia wszystkich, o uprawnienia innych niż właściciel i grupa; drugie pole: + oznacza dodanie uprawnienia, zabranie uprawnienia, = oznacza przypisanie uprawnienia; trzecie pole: r oznacza prawo odczytu, w oznacza prawo zapisu, x oznacza prawo uruchomienia. można stosować zapis cyfrowy, wtedy r = 4, w=2, x = 1, SUID = 4, SGID = 2, sticky bit = 1, np. chmod 0755 plik
Montowanie urządzeń W typowych instalacjach systemu UNIX nowo podłączone napędy nie były automatycznie wykrywane. Użytkownik który miał odpowiednie uprawnienia mógł podłączyć taki napęd do systemu przy użyciu polecenia mount. Aby uprościć podłączanie urządzeń dodano polecenie volcheck, które automatycznie podłącza wszystkie wykryte napędy. W dystrybucji Linux Mandrake wprowadzono tzw. automount, program który automatycznie podłączał wybrane napędy, ale to rozwiązanie się nie przyjęło; Obecnie w systemach typu Linux wykorzystuje się mechanizm udev HAL DBus, który automatycznie wykrywa urządzenie, tworzy dla niego odpowiedni plik i montuje go w systemie.
Sieciowe systemy plików Najbardziej popularnym sieciowym systemem plików jest NFS. Pewnym problemem jest uzyskanie potwierdzenia wykonania operacji; Większym utrudnieniem jest to, że w najbardziej typowej implementacji (v3) właściciel pliku i jego grupa przekazywane są jako identyfikatory, a nie nazwy. Dlatego plik może przypadkiem zmienić właściciela na komputerze docelowym. W systemach typu Windows działał system SMB (Server Message Block, Samba), jednak obecnie został wyparty przez system CIFS (Common Internet File System);
Podstawowe polecenia df (df -h) - podaje ilość wolnego miejsca na dyskach du (du -ms) - zwraca ilość miejsca zajmowanego przez plik ls (ls -la) - wyświetla zawartość bieżącego katalogu mkdir (-P) - tworzenie katalogu cp (-R) - kopiowanie plików dd - rozszerzone kopiowanie mv (-R) - przenoszenie plików rm (-rf) - usuwanie plików shred - kasowanie plików i nadpisanie zawartości touch - tworzenie pustego pliku ln - tworzenie dowiązania split - dzielenie pliku cat - łączenie plików
Literatura The Linux Documentation Project http://www.tldp.org/ Practical UNIX & Internet Security http://docstore.mik.ua/orelly/networking/puis/index.htm
Pytania? 16
Dziękuję za uwagę! 17