ŻAK
POLICEALNA SZKOŁA ZWAODOWA
KIERUNEK: Technik Informatyk
PRZEDMIOT: Systemy operacyjne i sieci komputerowe
SEMESTR: I
PRACA KONTROLNA 2
TEMAT: Użytkownicy i atrybuty Linuxa oraz konta
użytkowników i jego pliki.
SŁUCHACZ NAUCZYCIEL
Karolina Stachura Krzysztof Domingo
Dn. 13.XII.2011
Polska Grupa Użytkowników Linuxa PLUG( ang. Polish Linux User Group)-stowarzyszenie określające siebie jako nie komercyjną organizację stawiające sobie za zadanie popularyzacje systemu operacyjnego Linux, wolnego i otwartego oprogramowania (FOSS) i otwartych standardów.
PLUG posiada oddziały lokalne, część z nich formalnie podlega statutowi PLUG, inne są nie formalnymi grupami sympatyków Linuxa. Głównym celem oddziałów terenowych jest organizowanie spotkań i popularyzowanie Linuxa z lokalnej społeczności.
Użytkownicy i grupy w Linuxie.
Ponieważ Linux jest systemem przeznaczonym głównie do pracy w sieciach zastosowano w nim konieczny podział na użytkowników i grupy. Pierwszym i najważniejszym użytkownikiem w systemie jest Root. Posiada on nieograniczone uprawnienia w systemie.
Konto administratora tworzone jest podczas instalacji systemu. Tworzenie innych kont nie jest wymagane, ale mocno zalecane. Istnieje przekonanie, że nie powinno się przesiadywać cały czas na koncie Roota. Grupy tworzone SA dla użytkowników charakteryzujących się daną cechą. Dzieki grupom możliwe jest ustalenie uprawnień dla większego grona użytkowników jednocześnie-nie zaś każdemu indywidualnie.
Grupy przydają się na komputerach, do których dostęp mają użytkownicy z zewnątrz.
a)PLIKI UŻYTKOWNIKÓW I GRUP:
W Linuksie istnieją 3 standardowe pliki odnoszące się kolejno do użytkowników grup i haseł. Pierwszy z nich to /etc/psswd.
Kiedyś przechowywane w nim hasła, teraz umieszcza się tam informacje o użytkownikach. Dane przechowywane są w postaci rekordów.
Np.: użytkownik:hasło:nr_id:nr_gid:nazwa_grupy:/Home/użytkownik:/bin/bash
Pierwsza jest nazwa użytkownika, później znajduje się pole dla hasła. Następny jest numer id użytkownika i numer id grupy. Następnie znajduje się katalog domowy użytkownika a na końcu ścieżka do interpretera poleceń.
Plik odnoszący się do grupy to/etc/group- znajdują się w nim informacje o grupach w następującym formacie:
a_grupy:hasło:id_grupy:użytkownik1;użytkownik2
Hasło odnosi się oczywiście do grupy. Ostatnim plikiem, którego wnętrze należy omówic to /etc/shadow- gdzie przechowywane są m.in. zaszyfrowane hasła:
Np.
użytkownik:zaszyfrowane_hasło:d_1:d_2:d_3:d_4:d_5:d_6
Linux posiada kilka narzędzi, które pozwolą nam stworzyć nowego użytkownika lub grupę. Jako Root wpisz polecenie ser. Następnie wpisz nazwę nowego użytkownika, hasło oraz inne dane. Aby skasować użytkownika wpisz deluser a następnie podaj nazwę.
Aby utworzyć nową grupę wpisz: group. Następnie podaj nazwę grupy. Polecenia do tworzenia i modyfikacji użytkowników:
*useradd (dodajemy nowego użytkownika),
*usermod (modyfikacja kont użytkowników),
*userdel (usuwanie istniejącego konta),
Np.: user add-d/Home/user-G grupa1,grupa2-m user.
W ten sposób zostanie utworzony użytkownik, do tego zostanie utworzony jego katalog domowy. Użytkownik tan zostanie przydzielony do grup: grupa 1 i grupa 2.
Po wpisaniu polecenia zostaniesz poproszony o zmianę hasła lub w przypadku Roota podanie nowego. Innym sposobem na podanie hasła może być zastosowanie opcji- p zaszyfrowane hasło. W tym wypadku należy podać hasło odpowiedni zakodowane. Jeszcze innym sposobem jest edycja pliku /etc/shadow i tam też odpowiednie miejsce wpisujemy zaszyfrowane hasło. O to flagi do polecenia user add:
opis;
ustawia domyślny katalog domowy;
data, od której konto użytkownika zostanie wyłączone, czyli data ważności konta;
liczba dni od wygasnięcia hasła, po którym konto ma być blokowane;
grupa użytkownika;
lista grup, do których ma należeć użytkownik;
podanie Shella(np.:/bin/bash lub innego zamiast domyślnego);
numer id użytkownika.
3) Atrybuty plików w systemie Linux
Systemie Linux pliki posiadają swoje atrybuty, które określają
cechy każdego pliku , takie jak nazwa, data modyfikacji,
przynależność do właściciela, uprawnienia do korzystania z
pliku itd. Taka organizacja danych pozwala na bezkonfliktowe
użytkowanie systemu przez wielu użytkowników . W
przypadku, gdy potrzeba przestrzegania poufności danych,
tak by każdy użytkownik mógł chronić swoje pliki przed
działaniem innych użytkowników.
Linux traktuje wszystkie obiekty jak pliki, rozróżniając
jedynie ich grupy. I tak mamy w systemie zwykłe pliki, tj:
tekstowe, binarne czy graficzne; katalogi, które przechowują
inne katalogi lub pliki, urządzenia blokowe, urządzenia
znakowe, linki i potoki.
Aby dowiedzieć się jakie atrybuty posiada plik, użyjemy
standardowych komend. Po uruchomieniu terminala
znajdujemy w naszym katalogu domowym
/home/użytkownik o czym świadczy tylko ”~” w znaku
zachęty. Po wydaniu polecenia ls pojawi się zawartość
bieżącego katalogu.
miszon@linux:~>ls
desktop download pligins media
bin Documents public_html
miszon@linux:~>
Polecenie ls wyświetla nam zawartość katalogu domowego
pokazując nam jedynie nazwę znajdujących się w nim
obiektów a także pewien sposób ich typ. Spróbujmy przejść
do bardziej ciekawego katalogu:
miszon@linux:~>cd/etc
miszon@linux:/etc>ls-1
***
-rw------- 1 root Root 54 sty 27 23:16 grub.conf
-rw-r--r-- 1 root root 842 lis 25 13:28 gssapi_mech.conf
drwxr-xr-r 3 root root 72 sty 18 16:56 hal
-rw-r--r-- 1 root root 370 list 26 00:05 host.conf
***
miszon@linux:/etc>
Polecenie cd/etc przeniosło nas do katalogu /etc. W katalogu
tym można znaleźć wszelkie pliki konfiguracyjne. Polecenie ls-1
szczegółowo wylistowało nam zawartość tego katalogu.
To co się ukazało jest bardziej uporządkowane, a ponad to
otrzymaliśmy szczegółowe informacje na temat każdego
obiektu znajdującego się w tym katalogu. Informacje te są
uporządkowane w 7 polach. Weźmy pod lupę jeden z
przykładowych plików katalogu /etc.
-rw-r—r—1 root Root 370 lis 26 00:05 host.conf.
Pierwsze pole –rw-r--r-- to typ oraz uprawnienia do pliku.
Drugie pole 1 to liczba dowiązań; trzecie ‘root’ określa
właściwości pliku. Czwarte również ‘root’ określa grupę do
której należy właściciel pliku. Piąte pole’370’ to rozmiar pliku;
szóste to ’lis 26 00:05’ czas ostatniej modyfikacji i ostatnie
siódme pole to nazwa pliku host.conf.
Z tego całego zestawu na pewno najbardziej enigmatycznie
wygląda pierwsze pole-typ i uprawnienia. Na to pole składa się z
10 znaków, z czego każdy ma swoje znaczenie:
2 3 4 5 6 7 8 9 10
r - w - r - - r - -
Pierwszy znak identyfikuje typ obiektu w tym przypadku jest to
zwykły plik( znak”-„). Występują następujące znaki:
-- plik zwykły;
d- katalog;
b- urządzenie blokowe(np. dysk);
c- urządzenie znakowe;
l- dowiązanie symboliczne;
p- potok.
Kolejne 9 znaków identyfikuje uprawnienia do pliku, jakie ma właściciel pliku(znaki 2-4), grupa do której właściciel należy(znaki 5-7) i pozostali użytkownicy systemu( znaki 8-10).
Zwykły plik, do którego wszyscy będą mieli wszystkie uprawnienia wygląda tak:
-rwxrwxrwx
Litera ‘r’ oznacza prawo do odczytu pliku; litera ‘w’ prawo do modyfikacji pliku a litera ‘x’ do wykonania pliku. W tym przypadku zarówno właściciel, grupa jak i pozostali użytkownicy mają pełen zestaw uprawnień, stąd trzy razy powtórzenie znaku
„rwx”. Oprócz literowego zapisu praw istnieje jeszcze metoda „oktalna”. Polega ona na tym, że prawa przedstawione są za pomocą liczb:
1=tylko wykonanie(--x);
2=tylko zapis (-w-);
3=zapis i wykonanie(-wx);
4= tylko odczyt(r--);
5=odczyt i wykonanie(r-x);
6=odczyt i zapis(rw-);
7=zapis, odczyt i wykonanie(rwx).
Linux –wprowadzenie do systemu operacyjnego
Nowoczesne systemy operacyjne są w większości systemami wielo dostępowymi, które pozwalają pracować jednocześnie wielu użytkownikom za pośrednictwem terminali podłączonych bezpośrednio do komputera lub poprzez sieć komputerową. Systemy operacyjne można podzielić najogólniej na dwie kategorie:
systemy specjalnego przeznaczenia,
systemy ogólnego przeznaczenia.
Pierwsza kategoria obejmuje systemy opracowane specjalnie
do wykonania jakiegoś konkretnego zadania np.:
systemy sterowania procesami przemysłowymi czy złożonymi urządzeniami w czasie rzeczywistym;
system przetwarzania transakcji.
Takie systemy są wyspecjalizowanymi programami i często nie są nawet uważane za systemy operacyjne pomimo, że bezpośrednio sprawują pełną kontrolę nad sprzętem.
Systemy ogólnego przeznaczenia pozwalają wykorzystać system komputerowy do różnych celów w zależności od potrzeb użytkowników. Można wśród nich wyróżnić:
systemy dla indywidualnego użytkownika,
systemy wsadowe,
systemy wielo dostępne.
Cechę tę posiadają takie systemy jak: Unix, Widows2000,
MacOS i inne. Każdy system operacyjny ma do spełnienia
dwa podstawowe cele:
zapewnienie wygodnej pracy użytkownikom,
efektywne zarządzanie zasobami systemu komputerowego.
Cele te pozostają ze sobą w sprzeczności. Im
bardziej &quo; przyjazny &quo; staje się system
operacyjny oferując użytkownikom wciąż więcej
udogodnień, tym więcej zasobów sam zużywa
zamiast udostępniać je użytkownikom. Osiągniecie
powyższych celów wiąże się z realizacją określonych
zadań obejmujących:
zarządzanie zadaniami,
zarządzanie pamięcią operacyjną i pomocniczą,
zarządzanie systemem wejścia-wyjścia,
zarządzanie plikami,
pracę sieciową,
ochronę zasobów,
komunikację z użytkownikami.
Interfejsy programowe
System operacyjny udostępnia swoje usługi użytkownikom i ich program poprzez interfejsy programowe. Funkcje systemowe stanowią interfejs pomiędzy programami a jądrem systemu operacyjnego. Umożliwiają programom korzystanie z usług jądra i sprzętu komputerowego bez naruszenia bezpieczeństwa systemu. Programy systemowe tworzą z kolei interfejs dla użytkowników. W jego skład wchodzą między innymi tekstowe interpretery poleceń oraz programy tworzące interfejs graficzny systemu. Programy systemowe umożliwiają użytkownikom wykonanie typowych operacji dotyczących manipulowania plikami, przetwarzania ich zawartości, tworzenia i wykonywania programów, komunikacji czy informowania o stanie systemu.
Charakterystyka systemu Linux
System Linux zdobywa coraz większe uznanie dużej grupy użytkowników. O jego sukcesie decyduje wiele czynników m.in.:
efektywność i stabilność systemu,
powszechna dostępność bez jakichkolwiek opłat licencyjnych,
bogaty zestaw oprogramowania umożliwiający szeroki zakres zastosowań,
możliwość pracy na wielu platformach sprzętowych przy stosunkowo niewielkich wymaganiach,
możliwość łatwej współpracy z innymi popularnymi systemami operacyjnymi,
bogata dokumentacja w wersji elektronicznej,
dostępność kodu źródłowego.
Linux jest systemem nowoczesnym, ponieważ wielu programistów wciąż pracuje nad rozwojem jądra systemu oraz bogatego zestawu programów usługowych. O jego nowoczesności decydują przede wszystkie cechy wymienione poniżej:
wielodostęp,
wielozadaniowość, czyli praca z podziałem czasu procesora pomiędzy wiele zadań,
wieloprzetwarzanie, czyli praca wieloprocesorowa,
możliwość uruchamiania zadań w łagodnym czasie rzeczywistym,\
obsługa różnych typów systemów plików,
obsługa różnych protokołów sieciowych,
obsługa różnych formatów plików wykonalnych,
wykorzystanie współdzielonych bibliotek.
Struktura systemu
Warstwa programów obsługi urządzeń komunikuje się ze
sprzętem komputerowym, więc musi uwzględniać specyficzne
cechy tego sprzętu. Jądro systemu Unix i Linux są monolityczne.
Chociaż można w nich wyróżnić funkcjonalne części składowe
to stanowią w nich jeden program i korzystają ze wspólnych
struktur danych. Takie rozwiązanie zapewnia największą
efektywność systemy. Do podstawowych zadań jądra należy:
zarządzanie procesami,
zarządzanie pamięcią,
zarządzanie plikami,
zarządzanie urządzeniami wejścia-wyjścia.
Kod jądra linuxa może być podzielony fizycznie na kilka części:
jądro pdstawowe,
moduły jądra dołączone dynamicznie.
Modularność jądra pozwala na elastyczne dostosowywanie jego
funkcji do zmieniających się wymagań bez konieczności ponownej
kompilacji całego kodu. Moduły mogą zawierać programy obsługi
nowych urządzeń podłączonych do systemu lub interfejsy
programowe różnych typów systemów.
Sesja użytkownika w systemie Linux
System Linux przeznaczony dla wielu użytkowników, którzy mogą
w dodatku pracować jednocześnie. Pociąga to za sobą konieczność
autoryzacji dostępu do systemu i ochrony zasobów każdego
użytkownika. Użytkownik musi być zarejestrowany w systemie
i posiadać własne konto, zabezpieczone hasłem dostępu.
Autoryzacja oparta jest na sprawdzaniu nazw i haseł. System
prosi o wpisanie najpierw starego hasła, a potem wpisanie
dwukrotnie nowego. Zwykły użytkownik może zmienić wyłącznie
hasło do swojego konta. Administrator może wywołać polecenie
passwd z nazwą dowolnego użytkownika, aby zmienić hasło. System
Linux po uruchomieniu nie jest bezpośrednio dostępny dla
użytkowników, tylko oczekuje na ich zgłoszenia. System dokonuje
autoryzacji poprzez:
sprawdzenie, czy użytkownik o podanej nazwie jest zarejestrowany w systemie w pliku /etc/passwd,
zakodowanie podanego hasła,
porównanie z zakodowanym hasłem przechowywanym przez system w pliku /etc/shadow.
W wyniku pomyślnej autoryzacji system uruchamia sesje użytkownika, udostępniając jego konta. W każdym systemie istnieje konto o nazwie Root i identyfikatorze UID=0, określonego jako nadzorca, super użytkownik lub zwyczajowo Root. Konto jest przeznaczone dla administratora systemu, który dysponuje nieograniczonymi uprawnieniami. Jednym z jego zadań jest zakładanie kont nowym użytkownikom. Może w tym celu wykorzystać polecenie systemowe useradd.
Atrybuty użytkownika:
System przechowuje w pliku /etc/passwd następujące atrybuty każdego zarejestrowanego użytkownika:
nazwa- nazwa jednocześnie identyfikuje konto użytkownika,
identyfikator grupy UID- numer jednocześnie identyfikujący użytkownika w systemie,
identyfikator grupy UID- numer grupy, do której należy użytkownik,
katalog domowy- prywatny katalog użytkownika, w którym może bezpiecznie przechowywać swoje pliki, zabezpieczone przed dostępem innych użytkowników,
powłoka logowania- nazwa interpretera poleceń, który jest uruchamiany po zalogowaniu użytkownika.
System dzieli użytkowników na grupy, aby zwiększyć w ten sposób możliwość różnicowania uprawnień do uruchamiania programów i korzystania z plików. Informacje o członkach poszczególnych grup przechowywane są w pliku /etc/group.
ŚRODOWISKO GRAFICZNE X WINDOWS
Standardowym środowisku graficznym systemu Unix jest system X Windows. Jego aktualna wersja określa nazwą X11 Release 6. Po zalogowaniu do systemu użytkownik pracujący przy konsoli komputera może uruchomić środowisko graficzne poleceniem START. System operacyjny uruchamia wtedy serwer systemu X Windows o nazwie X dostosowany do parametrów karty graficznej komputera.
Uruchamianiem i zarządzaniem oknami w środowisku graficznym zajmuje się program menedżera okien. Obecnie coraz większą popularność zdobywają systemu pulpitu tj. KDE i GNOME.
System aktywnego pulpitu GNOME
Jednym z największych programów jest program emulacji terminalu, który pozwala otworzyć okno z uruchomionym interpreterem poleceń. Użytkownik uzyskuje w ten sposób możliwość uruchamiania programów, które nie korzystają wprost z okienkowego interfejsu graficznego. Najpopularniejszym emulatorem terminalu jest obecnie program xterm, który stał się praktycznie standardem we wszystkich wersjach Unix i wszystkich dystrybucjach Linuxa.
Okno emulatora terminalu xterm
Innym przydatnym programem jest graficzny menedżer plików, który umożliwia oglądanie zawartości katalogów manipulacje plikami, przeglądanie i edycja zawartości plików. Jednym z takich programów jest GNU Midnigth Commander.
Program menedżera plików GNU Midnight Commander
Konta użytkowników
Ustawienia kont w Linux Ubuntu kryją wiele ciekawych możliwości. Na początek przechodzimy do ‘System=> Administracja=> Użytkownicy i grupy’. Widocznym okienku widzimy istniejące konta użytkowników.
Klikamy na ‘Dodaj użytkownika’ aby utworzył konto, któremu nadamy zaawansowane uprawnienia. Po przejściu do zakładki ‘Uprawnienia użytkownika’ możemy dowolnie zmienić uprawnienia, które nadamy poszczególnym użytkownikom.
Administracja użytkownikami i grupy, czyli jak wykonać zadania zarządzania użytkownikami i grupami. Większość zadań administracyjnych systemu wymaga uprawnień użytkownika Root.
Tworzenie konta użytkownika:
Do utworzenia nowego konta użytkownika służy addauser, które posiada następujące składnie. Np.:
Debain1:~#addauser daro
Adding user daro..
Adding new group daro(1001)
Adding new user daro(1001) with new group daro.
Creating home directory/home/daro.
Copying files from/etc/skel
Changing password for daro
Enter the new password(minimum of 5, maximum of 8 characters):
Please use a combination of upper and lover case letters and numbers,
Re-enter new password:
Password changed.
Changing the user information for daro.
Enter new the new value, or press return for thr default.
Full name[]:Dariusz Czerwik Room Number[]:
Work Phone[]:
Home Phone[]:
Other[]:
Is the information correct?[y/n]y
Debian:~#
Wiersze, gdzie wpisywane było hasło ze względów bezpieczeństwa, nie są wyświetlane na konsoli podczas ich wpisywania. Trzeba również zwrócić uwagę, że kilka pól informacyjnych zostało pominiętych, np.; room number. Możesz wprowadzić te dane, jeśli uważasz, że się przydadzą, ale system i tak z nich nie korzysta i nawet nie wymaga ich wprowadzenia. Podobne polecenie- useradd- również tworzy nowego użytkownika, ale nie pyta o hasło ani o inne informacje.
Kiedyś polecenie ad duser zakłada konto nowego użytkownika, tworzy dla niego katalog macierzysty. W poprzednim przykładzie polecenie stworzyło katalog/Home/daro. Przenosi również pliki konfiguracyjne do tego katalogu z katalogu /tec/skel. Pliki te mają zazwyczaj nazwę zaczynającą się od kropki(.), co oznacza, że są to pliki ukryte- zwykle ls ich nie wyświetli.
Zmiana nazwy użytkownika:
Nazwę związaną z kontem użytkownika (userid) może zmienić za pomocą polecenia chfn:
Zhfn-f nazwa nazwa_konta.
Jeśli nazwa zawiera spacje lub inne znaki specjalne, powinna zostać otoczona cudzysłowem(„). Np.:
Chfb-f „Dariusz Czerwik” daro
Od czasu do czasu należy zmienić swoje hasło, choćby po to, by utrudnić innym włamanie do systemu. Jako administrator systemu musisz czasami zmienić hasło związane z konkretnym kontem użytkownika.
Do zmiany hasła użytkownika ( i swojego) słuzy polecenie passwd. Polecenie zmienia hasło aktualnie zalogowanego użytkownika. Nie musisz posiadać uprawnień użytkownika Root, aby wykonać polecenie passwd. Polecenie passwd aktywuje prosty dialog, który przyjmuje mniej więcej taką postać:
$passwd
Changing password for daro
Old password:
Enter the new password (minimum 5, maximum 8 charcters).
Please use a combination of upper and lover case letters and numbers.
New password :
Re-enter new password:
Password changed.
Konfigurowanie definicji grup
System używa grup do definiowania zbioru użytkowników, którzy mają dostęp do danego pliku lub katalogu. Jeśli tylko zechcesz możesz tworzyć, usuwać i modyfikować listę członkostwa każdej grupy.
Aby stworzyć nową grupę, użyj polecenia groupadd.
Grupy są przechowywane w pliku /etc/group, który może odczytać każdy użytkownik, ale zmodyfikować go może tylko Root. Np.: groupadd grupka.
Do usunięcia grupy służy polecenie group del.
Aby dodać użytkownika grupy, użyj polecenia adduder z argumentami : adduser użytkownik grupa.
Niestety do usunięcia użytkownika z grupy nie istnieje żadne polecenie. Najprostszą drogą jest plik /etc/group. Spójrz na fragment typowego pliku /etc/group.
user: x: 100:
no group:x:65534:
magda:x:1000:
daro:x:1002:daro1,daro2.
Poszczególne wiersze opisują pojedynczą grupę i posiada taką samą formę: wiersz składa się z serii pól oddzielonych dwukropkami (:). Pola te oznaczają:
Group name- nazwa grupy,
Password- zaszyfrowane hasło związane z grupą,
Group ID – unikatowy numer identyfikacyjny grupy,
Member list- lista użytkowników grupy .
Należy utworzyć kopie zapasową pliku /etc/group.
System plików- metody i struktury danych używane przez system operacyjny w celu zapisania informacji o plikach i ich zawartości na danej partycji, jest to sposób organizacji pliku na dysku.
Większość systemów plików używanych przez Unix-y jest ogólnie podobna, jednak szczegóły mogą się znacząco różnić. Wspólnymi pomysłami są: superblok, węzeł, blok danych, blok katalogu oraz blok pośredni. Zazwyczaj system plików Uniksa pozwala tworzyć dziury w plikach, oznacza to, że system udaje występowania zera na danym miejscu, jednak nie zajmuje dużo dysku. Dzieje się tak często w przypadku małych binariów, bibliotek dzielonych Linuksa, niektórych baz danych i przy innych okazjach. Linuks obsługuje kilka typów systemów plików. Najważniejszymi z nich są:
Minix- najstarszy, używany za najbardziej niezawodny, jednak posiada znaczne ograniczenia,
Xia – zmodyfikowana wersja systemu minix,
reiseFs – bardzo szybki i stabilny system plików, szczególnie dobrze radzi sobie z dużą liczba małych plików,
xfs – również szybki system plików, głównie za sprawa tego, iż wiele informacji przechowuje w pamięci RAM,
ext4- następca ext3, obecnie jeden z najpopularniejszych systemów plików dla Linuksa,
ext3- w zasadzie jest to ext2 z ta różnicą, że ma mechanizmy księgowania operacji przez co wzrosła stabilność tego systemu plików i odporność na awaryjne przerwanie działania systemu,
ext2- nie zawiera księgowania,
ext- starsza wersja ext2, nie jest zgoda wzwyż, nie jest obsługiwany od wersji 2.1.21.
Powstające systemy- aktualnie powstaje kilka systemów z księgowaniem. Ich cechami są szybkość operacji na dużej liczbie plików oraz algorytmy obsługujące, które pozwalają na samoczynne naprawianie się systemów w czasie pracy. Jądro Linuksa potrafi obsłużyć system plików obcego pochodzenia. Systemom takim bardzo często brakuje pewnych cech znanych z rozwiązań rdzennych dla Linuksa, czasami posiadają one dziwne ograniczenia:
NTFS- system plików stosowany w systemach Windows z linii NT,
Msdos- kompatybilny z MS-DOS, system plików z FAT,
Usmdos- rozszerzona wersja systemu msdos, która umożliwia tworzenie długich nazw plików, określać właścicieli, prawa dostępu, łącza oraz pliku urządzeń,
Iso9660- standardowy system plików z płyt CD-ROM; popularne rozszerzenie „Rock Ridge” rozpoznawane jest automatycznie,
Nfs- sieciowy system plików Suna, umożliwia dzielenie systemów plików poprzez sieć, umożliwia tworzenie bezdyskowych stacji , itp.
Hpfs- system plików OS/2,
Sysv- używany przez system V/386, coherenta i Xenixa.
KTÓRE SYSTEMY PLIKÓW POWINNY BYĆ UŻYWANE?
Każdy system ma swoje mocne i słabe strony. Obecnie najpopularniejszymi systemami są: Ext4, Ext3, ReiserFS oraz Xfs.
Zazwyczaj instalacja Linuksa na dużej partycji z którymś tych systemów plików jest wystarczająca do domowych zastosowań. Na partycjach szyfrowanych należy używać systemów bez księgowania np.: Ext2. Dla nie co bardziej wymagających użytkowników stosuje się podział na większą ilość partycji, z zastosowaniem róznych systemów plików zależnie od miejsca montowania, a zatem przeznaczenia.
System plików jest tworzony przez mkfs. Aktualnie istnieje kilka osobnych programów dla każdego systemu plików. Plecenie mkfs pośredniczy między nimi a użytkownikiem. Typ wybierany jest za pomocą opcji –t typ. Programy wywołane przez mkfs mogą wymagać innych opcji. Wspólne i najważniejsze podane są później:
-t typ-wybierz system plików;
-c- sprawdź czy są jakieś zepsute bloki, inicjalizuj listę bloków odpowiednio.
System plików to także metoda przechowywania plików, zarządzania plikami, informacjami o tych plikach, tak by dostęp do plików i danych w nich zgromadzonych był łatwy dla użytkownika systemu także wolumin. Systemy plików stosujemy dla różnych nośników danych tj. dyski, dyskietki czy także strumieniach danych, sieciach komputerowych, pamięciach.
Z formalnego punku widzenia system plików to reguły umieszczania na nośniku abstrakcyjnych danych oraz informacji umożliwiających przechowywanie tych danych, łatwy i szybki dostęp do iforamcji o danych oraz do tych danych, manipulowania nimi, a także sposobach usuwania ich.
Organizacja danych:
Nośniki danych tj. dyski twarde, dyskietki posiadają blokową strukturę danych, znaczy to, że dane są w nich przechowywane w postaci bloków, a blok musi być w całości zapisywany i odczytywany.
Bloki tworzą strukturę liniowa: Blok0, Blok1, Blok2, Blok3..Blokn.
Systemy operacyjne łączą bloki w klastry. Klaster składa sięz kilku bloków(nowszych systemach może to być 8 lub więcej bloków).
Dyskowy system plików części pamięci wykorzystuje tzw. sektor rozruchowy, który nie stanowi zasadniczej części systemu plików i jest używany do rozruchu systemu.
Przykłady alokacji w linuksowym systemie plików ext2.
Blok rozruchowy | Grupa bloków | Grupa bloków | Grupa bloków | Grupa bloków | … | Grupa bloków |
---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | n | ||
Struktura grupy bloków (n -liczba bloków).
… | Grupa bloków | Superblok | Deskryptory Grupy |
Mapa Bitowa Bloków Z danymi |
Mapa Bitowa i węzła |
Tablica iwęzłów | Bloki z danymi | Grupa bloków | … |
---|---|---|---|---|---|---|---|---|---|
1 | (1) | (n) | (1) | (1) | (1) | (n) | 3 |
Rodzaje systemów plików:
Dyskowy system plików – "normalny" system plików pozwalający na zarządzanie danymi na stacjonarnych nośnikach danych, takich jak dyski twarde. Każdy system posiada swój własny system plików (np. Linux – ext2, Windows NT, XP, Vista, Seven – NTFS Windows 95,98,ME – FAT,FAT32 itd.).
Systemy dziennikujące (lub księgujące, ang. journaling) – systemy z mechanizmem księgującym, zwiększającym bezpieczeństwo danych i umożliwiającym szybkie przywrócenie sprawności systemu po awarii. Mechanizm taki posiadają nowsze systemy plików (np. NTFS, HFS+ lub ext3).
Sieciowy system plików – w zasadzie jest to protokół umożliwiający przesyłanie poleceń do serwera przez sieć oraz wykonywanie operacji na odległość. Informacje są z powrotem przekazywane z serwera do klienta. Dzięki takiemu rozwiązaniu użytkownik nie widzi żadnej różnicy między pracą na sieciowym systemie plików a pracą na lokalnym systemie plików. Najbardziej znane to NFS, Coda, AFS (System plików Andrewsa), SMB oraz NCP (Novella).
Specjalne systemy plików (Wirtualne systemy plików) – nie umożliwiają zarządzania danymi, np. system /proc (w Linuksie) dostarcza interfejsu, który umożliwia dostęp do niektórych struktur jądra.
Systemy oparte na bazie danych – systemy plików, w których pliki są identyfikowane na podstawie swojej charakterystyki (np. autora, typu czy tematu, którego dotyczą) – jak w bazach danych