Bociek PLD - Pisarz
I. Informacje podstawowe
II. Instalacja
III. Podręcznik użytkownika
IV. Podręcznik administratora
Konfiguracja systemu
Kluczowe pliki
V. Tworzenie PLD - Praktyczny poradnik
VI. O podręczniku
O tej książce
Spis treści
Inne wersje tego dokumentu
HTML (jeden plik)
Odnośniki
Tworzymy dokumentację PLD
Strona PLD
Listy dyskusyjne PLD

Kluczowe pliki

<- ->
 

W tym rozdziale przedstawione są informacje o kluczowych plikach systemu operacyjnego. Zostały tu opisane jedynie podstawowe dane na ich temat, więcej można znaleźć w podręczniku systemowym man, oraz info

/etc/inittab

Plik /etc/inittab przechowuje konfigurację programu init, uruchamianego w trakcie startu systemu i działającego bez przerwy do chwili jego zamknięcia. Głównym zadaniem procesu init jest kontrola zachowania systemu w zależności od osiągniętego poziomu pracy systemu oraz w wypadku wystąpienia specjalnych zdarzeń. Poziomy pracy szczegółowo opisano w tym dokumencie.

Oto najważniejsze opcje zawarte w pliku /etc/inittab:

  • Domyślny poziom uruchomienia - wskazuje programowi init jaki poziom uruchomienia ma być wybrany jeśli wywołano go bez parametrów lub w trakcie startu systemu. Wiersz określający tę opcję wygląda następująco: id:{$poziom}:initdefault: ($poziom to cyfra odpowiadająca poprawnemu poziomowi uruchomienia), ustawienie domyślnie trzeciego poziomu uruchomienia przedstawiono na poniższym przykładzie:

    id:3:initdefault:

  • Instrukcje uruchomienia programu mingetty na pierwszym terminalu wirtualnym (/dev/tty1), wywołania dla kolejnych będą bardzo podobne:

    1:12345:respawn:/sbin/mingetty --noclear tty1

  • Poniższy wiersz uruchomi program agetty, łączący się z portem szeregowym /dev/ttyS0, w celu podłączenia terminala szeregowego:

    0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100

    Jeśli nie używamy tego rodzaju urządzeń to powyższe wywołania są dla nas zbyteczne.

  • Wywołania skryptów startowych - opcje te bardzo rzadko wymagają ingerencji użytkownika:

    si::sysinit:/etc/rc.d/rc.sysinit
    l0:0:wait:/etc/rc.d/rc 0

  • Obsługa specjalnych zdarzeń np. wciśnięcia kombinacji klawiszy ctrl+alt+del:

    ca::ctrlaltdel:/sbin/shutdown -t3 -r now

    Mamy sporą dowolność w zarządzaniu tym zdarzeniem, w powyższym przykładzie po naciśnięciu kombinacji ctrl+alt+del nastąpi przeładowanie systemu, aby nastąpiło zamkniecie powinniśmy użyć polecenia shutdown -h.

/etc/fstab

Plik ten przechowuje szczegółowe informacje o systemach plików, które mają być montowane do odpowiednich katalogów. Informacje w nim zawarte są odczytywane w trakcie startu systemu, dzięki temu automatycznie są montowane wszystkie woluminy (partycje) nie oznaczone opcją "noauto". Plik ten jest zazwyczaj tworzony przez instalator, jednak administrator ma możliwość, a nawet obowiązek dokonywać w nim zmian. Dla lepszego zrozumienia tematu przyjrzyjmy się przykładowemu plikowi i przeanalizujmy funkcje jakie spełniają poszczególne wpisy.

#(fs_spec)	(fs_file)(fs_vfstype)	(fs_mntops)	(fs_freq) (fs_passno)
/dev/hda2	/		ext3	defaults		0	0
/dev/hda3	swap		swap	defaults		0	0
proc		/proc		proc	defaults		0	0
pts		/dev/pts	devpts	gid=5,mode=600		0	0
/dev/fd0	/media/floppy	vfat	noauto			0	0
/dev/cdrom	/media/cdrom	iso9660	noauto,ro,user,unhide	0	0

Jak widzimy plik jest podzielony na wiersze, z których każdy odpowiada jednemu obsługiwanemu woluminowi. Poszczególne pola oddzielone są od siebie spacją lub tabulatorem. Dane odpowiedniego rekordu wczytywane są przez skrypty startowe oraz programy takie jak: fsck, mount czy umount przez co muszą one być zapisane w uporządkowany sposób.

Pole (fs_spec) - określa urządzenie blokowe lub zasób sieciowy przeznaczony do zamontowania, na przykład partycję dysku, CDROM czy udział NFS. Opis urządzeń masowych przedstawiono w tym dokumencie, montowanie udziałów NFS przedstawiono w tym dokumencie.

Pole (fs_file) - wskazuje na miejsce, w którym ma być zamontowany dany system plików, na przykład dla partycji wymiany (ang. "swap partition") to pole powinno zawierać wartość "none", a dla CDROM-u "/media/cdrom".

Pole (fs_vfstype) - określa typ systemu plików jaki znajduje się na danym urządzeniu. Najbardziej powszechne obecnie i obsługiwane systemy plików to:

  • ext2 - podstawowy system plików w Linuksie

  • ext3 - j.w. tyle że z księgowaniem

  • reiserfs - zaawansowany system plików z księgowaniem

  • xfs - zaawansowany system plików z księgowaniem

  • vfat - używany w starszych systemach Microsoftu, znany również jako FAT32

  • ntfs - system plików współczesnych wersji systemów Microsoftu

  • iso9660 - używany na płytach CD-ROM

  • nfs - sieciowe udziały dyskowe NFS

  • swap - obszar wymiany

Pole (fs_mntops) udostępnia szereg znaczników systemowych, które mogą mieć kluczowe znaczenie dla bezpieczeństwa i wydajności naszego systemu. Przykładowo następujące znaczniki oznaczają:

  • defaults - domyślny zestaw opcji, użyteczny w większości wypadków.

  • nodev - zapobiega rozpoznawaniu przez jądro dowolnych plików urządzeń, znajdujących się w systemie plików

  • noexec - zapobiega wykonywaniu plików wykonywalnych w danym systemie plików

  • nosuid - zapobiega uwzględnianiu bitów set-UID oraz set-GID w przypadku dowolnego pliku wykonywalnego

  • ro - powoduje zamontowanie systemu plików w trybie tylko do odczytu, powstrzymując wszelkie modyfikacje informacji dotyczących plików, włączając w to na przykład czas dostępu do pliku

Pole (fs_freq) jest używane przez program dump do wykrywania, który system plików ma mieć wykonywaną kopię bezpieczeństwa. Jeżeli nie ma informacji o tym polu, zwracana jest wartość 0 i dump przyjmuje, że dany system plików nie musi być mieć robionych kopii danych. Jeśli nie korzystamy z tego programu możemy wszędzie ustawić wartość 0.

Pole (fs_passno) jest używane przez program fsck aby zadecydować, jaka powinna być kolejność sprawdzania systemów plików podczas ładowania systemu. Główny system plików powinien mieć (fs_passno) równą 1, zaś inne systemy plików powinny mieć (fs_passno) równe 2. Jeżeli to pole nie posiada żadnej wartości lub jest ona równa 0 to wtedy dany system plików nie jest sprawdzany. Sprawdzania nie wymagają właściwie systemy plików z księgowaniem, gdyż są bardzo odporne na awarie.

Uwaga! Najważniejszym woluminem w systemie jest ten przypisywany do korzenia drzewa katalogów (katalog "/"), dlatego należy bardzo ostrożnie dokonywać zmian jego konfiguracji. Błąd może spowodować problemy z uruchomieniem systemu operacyjnego.

/etc/passwd

Jeden z najważniejszych plików w systemie - przechowuje informacje o kontach wszystkich użytkowników. Jeden wiersz w tym pliku zawiera informacje o jednym użytkowniku. Każdy składa się z pól rozdzielonych dwukropkiem:

login:haslo:UID:GID:komentarz:katalog_domowy:powłoka
np.:
marek:x:502:1000:Marek Kowalski:/home/users/marek:/bin/bash

Uwagi: Znak "x" w miejscu hasła oznacza że jest przechowywane w osobnym pliku (/etc/shadow). UID to unikalny identyfikator użytkownika, zaś GID to unikalny numer grupy głównej użytkownika - zdefiniowany w pliku /etc/group. Powłoka (shell) musi być zdefiniowana w pliku /etc/shells. Oznaczenie powłoki jako /bin/false oznacza że jest to konto użytkownika systemowego. Jest to specjalny rodzaj kont na które zwykli użytkownicy nie mogą się zalogować

Plik ten jak i opisany poniżej /etc/shadow mają kluczowe znaczenie dla systemu, dlatego nie należy ich edytować ręcznie. Narzędzia, służce do tego, opisano w tym dokumencie.

/etc/shadow

Plik zawierający zakodowane hasła i dodatkowe informacje dla systemu uwierzytelniania użytkowników np.:

marek:$1$qb/waABk$F3Y6dKw/6ekZPfcoTpzks/:12575:0:99999:5:::

/etc/group

Plik zawierający nazwy utworzonych grup i przypisanych do nich użytkowników według schematu:

nazwa_grupy::GID:login1,login2,login3,...
np.:
audio::23:kasia,marek

Uwagi: Pierwsze pole to unikalna nazwa grupy, drugie nie ma we współczesnych systemach uniksowych już zastosowania, GID to niepowtarzalny identyfikator grupy, trzecie pole zawiera listę identyfikatorów użytkowników zapisanych do tej grupy.

Podobnie jak dwa powyższe, ten plik też powinien być modyfikowany przez przeznaczone do tego programy, ich opis zawarto w tym dokumencie

/etc/shells

Zawiera listę dostępnych dla użytkowników powłok np.:

/bin/ksh
/bin/sh
/bin/bash

Aby użytkownik miał możliwość korzystania z danej powłoki musi być ona zdefiniowana w tym pliku

/etc/motd

Wiadomość dnia (ang. Message of the day) - Powitanie użytkownika: treść tego pliku wyświetlana po uwierzytelnieniu się w systemie.

/etc/nologin

Plik tworzony przez administratora - blokuje możliwość logowania się użytkowników do systemu. Przy próbie logowania wyświetlana jest jego treść.

 
<- ->