System plików na Linuxie
Podstawowe katalogi
/bin - zawiera programy które s niezbdne w trakcie startu systemu ( shell'e dla uytkowników np. bash, sh, csh, tcsh ... odpowiedniki dosowego COMMAND.COM) i które mog by wykonywane przez uytkowników nie posiadajcych uprawnie administratora. Przykadowo: ls - wywietlajcy struktur katalogu, cat - wywietlajcy zawarto pliku, programy kopiujce i przenoszce pliki (cp, mv) czy te podstawowy Unix'owy edytor - vi ( prosty w budowie ale bardzo trudny w obsudze) i inne. Oczywicie kady z nich moe korzysta, ale prawo do modyfikacji, i do zapisu czegokolwiek w tym katalogu posiada tylko root. Uwaga: Nie jest tworzony na oddzielnej partycji - musi si znale na /.
/dev - zawiera specjalne pliki reprezentujce urzdzenia (w Linux'ie wszystko jest plikiem). Przykadowo twarde dyski (/dev/hda, /dev/hda1, /dev/hda), dyskietki (/dev/fd0), konsole (tty1,tty2..)cza szeregowe (ttyS0 = com1, ttyS1=com2 ...). I tak, jeeli chcesz zamontowa dyskietk to piszesz:
polecenie system plików urzdzenie katalog do którego zostanie przywizany nonik
mount -t msdos /dev/fd0 /mnt/floppy
Przywileje dostpu do tych plików s róne i zalene od funkcji jakie ma spenia przyporzdkowane im urzdzenie. Uwaga: Podobnie jak /bin, katalog /dev musi si znale na gównej partycji /.
/etc - pliki konfiguracyjne systemu. Znajduj si tu zarówno pliki, które mog by odczytywane przez kadego uytkownika ( wymagaj tego programy, przez niego uruchamiane) jak i te do których prawo odczytu posiada jedynie root). Pliki: passwd - zawierajcy dane uytkowników, shadow - odpowiadajce im hasa, /etc/group - ich grupy, inetd, hosts.allow, host.deny odpowiedzialne za konfiguracj sieci i inne, bd oznaczone przy pomocy programu chattr (chattr +i nazwa_pliku) jako immutable czyli tylko do odczytu. Nawet administrator nie bdzie móg ich skasowa czy modyfikowa bez wydania polecenia chattr -i nazwa_pliku. Tak wic gdy system bdzie ju dziaa przed jakkolwiek modyfikacj (dotyczy to bdzie gównie dodawania nowych uytkowników) trzeba bdzie odznaczy a potem z powrotem nada im ten atrybut. Bezsensowne byo by wykonywanie tej operacji za kadym razem dla kadego z tych plików dlatego lepiej wykorzysta przygotowane skrypty: immutable+ i immutable-. W etc znajduj si równie pliki, odpowiedzialne za prac gównych serwerów internetowych. W podkatalogu http mona znale konfiguracj Apacha (szczególnie wane s tu httpd.conf i vhost0.conf). sendmail.cf odpowiedzialny jest za dziaanie poczty elektronicznej, w podkatalogu ssh znajduj si pliki okrelajce w jaki sposób ma pracowa wanie SSH. Ponadto pliki ftpaccess, ftpusers które jak sama nazwa wskazuje odpowiadaj za FTP czy katalog ppp konfigurujcy zdalne wdzwanianie.
/boot - znajduj si tu pliki wykorzystywane przez program adujcy system LILO bootloader (vmliznuz-wersja - jdro systemu). Katalog ten powinien znajdowa si na oddzielnej partycji - wystarczy 5MB.
/lib - jak sama nazwa wskazuje zawiera on biblioteki, które s wymagane przez programy znajdujce si w katalogu bin i nie tylko. Katalog ten musi znale si na gównej partycji /.
/mnt - jest to katalog standardowo sucy do montowania urzdze. W przypadku tego serwera mógby on zawiera tylko dwa katalogi: floppy, cdrom. Ale oprócz nich mog si tam znale inne - na przykad katalog dos odpowiadajcy dosowej partycji, lub katalog archiwa, gdzie podczony bdzie dysk jednej z maszyn w sieci. Nikt oczywicie z wyjtkiem administratora nie ma prawa zamontowa tych urzdze - co w sumie pokrywa si z dostpem do tych katalogów i do polecenia mount.
/root - jest to domowy katalog administratora - poza nim nikt tu nie ma prawa dostpu.
/sbin - jest to odpowiednik katalogu bin, ale zawierajcy pliki wykonywane gównie przez administratora. Mona tu znale programy do obsugi dysków twardych(hdparm, ide_info, scsi_info), tworzenia systemów plików (mkfs, mke2fs, mkswap, fdisk), jego sprawdzania i testowania( fsck, e2fsck, fsck.ext2), programy do obsugi kart sieciowych, przypisywania im adresów IP i ich sprawdzania (ifconfig, route), do obsugi i konfiguracji bootloadera, kernela czy po prostu do zamykania systemu. Ten katalog równie musi si znale na gównej partycji /.
/usr - katalog ten zawiera wszelkie programy (/usr/bin, /usr/sbin), biblioteki (/usr/lib), dokumentacj (/usr/doc, /usr/info) i strony podrcznika systemowego(/usr/man) oraz inne (katalogi) pliki które nie s modyfikowane podczas standardowej pracy systemu. Dostp do tych katalogów nie jest ograniczony (oczywicie poza moliwoci zapisywania). W katalogu /usr/sbin znajduj si programy, dla których prawo wykonywania posiada jedynie administrator. Posiadaj one charakter dodatkowy i dlatego zostay tu umieszczone. Ze wzgldu na rozmiary i charakter tego katalogu powinien on by umieszczony na oddzielnej partycji.
/var - znajduj si tu pliki, które czsto ulegaj zmianom tzn. katalogi pocztowe, pliki tymczasowe, kolejki pocztowe, logi systemowe. Katalog ten umieszczany jest na osobnej partycji, przez co zmniejsza si prawdopodobiestwo zatkania systemu plików choby przez poczt. Dostp do tych katalogów i zawartych w nich plików jest tu zdecydowanie ograniczony. Jest tak gdy informacje tu zawarte maj strategiczne znaczenie. Przykadowo w katalogu /var/spool/mail zawarta jest nie przeczytana poczta uytkowników w postaci plików, do których jedynie oni maj dostp, w /var/log znajduj si logi systemowe, które (z pewnymi wyjtkami - informacje o zalogowanych uytkownikach) moe odczytywa jedynie administrator. Aby jeszcze bardziej zwikszy bezpieczestwo systemu, oddzielne partycje przydziela si katalogom: /var/tmp (katalog tymczasowy) i /var/spool (katalog kolejek pocztowych i nie tylko).
/home - przechowuje konta uytkowników, konta, do których maj jedynie oni dostp. W przypadku gdy user chce opublikowa swoje strony WWW, musi udostpni (bez prawa zapisu) swój katalog domowy oraz nowoutworzony podkatalog public_html, w którym znajd si strony www (one równie powinny dawa innym prawo do odczytu). Znajdzie si tam równie podkatalog ftp, który bdzie korzeniem systemu plików dla uytkowników ftp logujcych si jako anonymous. Katalog home równie powinien mie wydzielon osobn partycj.
/proc - jest to system plików, który tak naprawd nie istnieje (wirtualny - po wyczeniu systemu jest pusty). Nie zajmuje on zbyt duo miejsca i w caoci rezyduje w pamici. Mona tu znale list urzdze zainstalowanych w systemie, spis przerwa uywanych przez nie, wersj aktualnie pracujcego jdra, wszelkie informacje o dziaaniu sieci czy te odzwierciedlenie pamici.
/www - zawiera katalogi ze stronami WWW. Kady podkatalog katalogu /www odpowiada jednemu wirtualnemu serwerowi WWW. Prawo dostpu (ze wzgldu na funkcj) ma oczywicie kady, ale prawo zapisu jedynie root i uytkownicy nalecy do grupy webmaster. Katalog ten równie mona umieci na osobnej partycji.
/mnt/archiwa - ten katalog bdzie odzwierciedleniem udostpnionych zasobów jednego komputera w sieci, gdzie bd zrzucane archiwa.
Planowana struktura katalogów dla dysku 1GB
katalog |
Rozmiar MB |
Parametry montowania |
/boot |
5 |
nosuid, nodev, noexec |
/usr |
350 |
|
/home |
100 |
nosuid, nodev |
/www |
100 |
nosuid, nodev |
/var |
100 |
nosuid, nodev, noexec |
<Swap> |
60 |
|
/ |
275 |
|
nosuid - zabrania stosowania bitu SUID dla programów znajdujcych si na tej partycji
nodev - zabrania traktowania jakiegokolwiek pliku jako wza urzdzenia (tak jak w /dev).
noexec - zabrania uruchamiania jakichkolwiek plików na tej partycji
Parametry te wpisujemy w pliku fstab znajdujcym si w katalogu /etc. Posiada on nastpujc struktur.
/dev/hda11 / ext2 defaults 1 1
/dev/hda1 /boot ext2 defaults 1 2
/dev/hda7 /home ext2 nosuid,nodev,usrquota 1 2
/dev/hda9 /tmp ext2 nosuid,nodev 1 2
/dev/hda5 /usr ext2 defaults 1 2
/dev/hda6 /var ext2 nosuid,nodev,noexec 1 2
/dev/hda8 /www ext2 nosuid,nodev 1 2
/dev/hda10 swap swap defaults 0 0
/dev/fd0 /mnt/floppy auto sync,noauto,nosuid,nodev,unhide 0 0
/dev/cdrom /mnt/cdrom auto noauto,nosuid,nodev,ro 0 0
none /proc proc defaults 0 0
none /dev/pts devpts mode=0622 0 0
Patrzc od prawej, w pierwszej kolumnie znajduj si nazwy urzdze (a dokadnie nazwy „plików” im odpowiadajce), nastpnie miejsce ich zamontowania, system plików i opcje. Wród tych opcji, których znaczenia nie wyjaniem, moemy tu znale m.in. sync, który powoduje w przypadku dyskietki, e kopiowane dane zostan zapisane na noniku, dopiero wtedy gdy dotr do miejsca przeznaczenia - jest to troszk wolniejszy sposób (od async) ale bezpieczniejszy. Ostanie dwie kolumny odpowiadaj poleceniom dump i fsck. To pierwsze jest wykorzystywane przy archiwizacji, jednak bardzo rzadko (administratorzy raczej korzystaj ze swoich skryptów lub innych programów). Sprawdza ono dat wanoci ostatnio przeprowadzonej operacji archiwizacji i powiadamia w odpowiedniej chwili root'a o potrzebie jej odnowienia ( w naszym przypadku nie wykorzystywane). Druga kolumna informuje program fsck - odpowiednika disk doktora - w jakiej kolejnoci testowa partycje (partycje o tych samych numerach s sprawdzane jednoczenie, z 0 - omijane).
W przypadku pliku fstab trzeba pamita o kolejnoci wpisanych partycji. Pierwsza musi by montowana partycja / !!! Jest ona najwaniejsza i na niej znajduj si pliki niezbdne do prawidowego startu systemu.
Plik ten uatwia równie sam manualny proces montowania tzn. jeeli chcemy skorzysta z dyskietki to wystarczy, e skorzystamy z polecenia mount /mnt/floppy, zamiast z caej kombinacji parametrów (aby odczy umount).
Backup
Archiwizacja bdzie obejmowa trzy warstwy:
I warstwa - zrzucenie wszystkich zarchiwizowanych katalogów dziaajcego systemu na CD. Jest podstawowym archiwum, wykorzystywanym jako pierwsze przy reinstalacji.
II warstwa - tworzona co jaki czas przez administratora. Obejmowa powinna katalogi: /etc, /home, /www, /var. Bdzie zrzucana najprawdopodobniej na drugi komputer w sieci.
III warstwa - archiwum tworzone cyklicznie (raz dziennie przez system) obejmujce katalog /var/spool, /var/log, /etc, /home/.
Do archiwizacji bd wykorzystywane nastpujce skrypty: darch1, darch, arch, archd.
darch1 - wykorzystywany podczas reinstalacji systemu. Bdzie wykorzystywa archiwa sporzdzone na cdromie.
darch - Wywoywany podczas reinstalacji z dwoma parametrami: warstwa 2 (wykorzystujcy archiwa sporzdzane cyklicznie przez admina) lub warstwa3 (archiwa sporzdzane codziennie przez system).
arch - skrypt dla administratora, do tworzenia archiwów warstwy 2.
archd - skrypt uruchamiany codziennie przez system - tworzy warstw 3 backup'u.