Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
O autorach ....................................................................................................... 15
Podzikowania ................................................................................................. 11
Przedmowa ...................................................................................................... 19
Cz I PodsCz .......................................................................... 25
Rozdzia 1. Projekt Debian .............................................................................. 21
Skadniki dystrybucji systemu Linux ...................................................................................................28
Pakiety ............................................................................................................................................28
Jdro systemu .................................................................................................................................30
Inne skadniki jdra ........................................................................................................................31
Architektura ....................................................................................................................................32
Dystrybucje i wydania ..........................................................................................................................34
Co potrafi Debian? ................................................................................................................................36
System Linux i jego pochodzenie .........................................................................................................38
Projekt Debian oraz spoeczno Debiana ............................................................................................40
Spoeczno Free Software/Open Source ......................................................................................41
Cele projektu Debian ......................................................................................................................42
Debian na zamwienie ...................................................................................................................44
Powody, dla ktrych warto wybra system Debian .............................................................................45
Rozmach oprogramowania .............................................................................................................46
atwo zarzdzania ......................................................................................................................47
Twoja niezaleno ........................................................................................................................48
Podsumowanie ......................................................................................................................................49
Rozdzia 2. Instalacja systemu Debian ............................................................ 51
Kilka sw o programie instalacyjnym systemu Debian ......................................................................52
Wstpna konfiguracja systemu Debian ................................................................................................59
Instalacja dodatkowych pakietw oprogramowania .............................................................................60
Podsumowanie ......................................................................................................................................62
Rozdzia 3. Korzystanie z powoki oraz systemu plikw ............................... 63
Struktura systemu plikw .....................................................................................................................64
Przestrzenie nazw oraz drzewa katalogw .....................................................................................64
Paska przestrze nazw kontra drzewo ...........................................................................................65
Drzewo katalogw w systemach plikw GNU/Linux ....................................................................66
Rodzaje obiektw w systemie plikw, prawa dostpu oraz prawa wasnoci ...............................68
Uytkownicy, grupy uytkownikw oraz prawa wasnoci ...........................................................68
(06-03-31) 5
6 (06-03-31)
Spis treci
(06-03-31) 7
Cz II II Li
8 (06-03-31)
Spis treci
(06-03-31) 9
10
10 (06-03-31)
Spis treci
11
(06-03-31) 11
12
12 (06-03-31)
Spis treci
13
(06-03-31) 13
14
14 (06-03-31)
W rozdziale m.in.:
t
Zarzdzanie wspczesnymi systemami operacyjnymi jest bardzo zoonym zagadnieniem, mimo e idea leca u jego podstaw jest trywialnie prosta i spotykana rwnie w wielu
innych rodowiskach: po pierwsze, nie szkodzi a diabe jak zwykle tkwi w szczegach.
W niniejszym rozdziale omwimy szereg zagadnie zwizanych z zarzdzaniem nowoczesnym systemem operacyjnym, ze szczeglnym uwzgldnieniem systemw Debian.
Zasady, ktre tutaj poznasz, powinny mie zastosowanie w kadym innym systemie
GNU/Linux, nawet jeeli bd si rni pewnymi szczegami. Jeeli nie jeste administratorem swojego systemu ani nie zajmujesz si adnym innym systemem (np. zdalnym),
to w zasadzie moesz spokojnie pomin ten rozdzia, cho i tak serdecznie zachcamy
Ci do jego lektury posiadajc wiedz przedstawion w tym rozdziale, bdziesz
w stanie lepiej zrozumie niektre decyzje, jakie podejmowa bd podejmuje administrator Twojego systemu, a by moe nawet bdziesz w stanie zasugerowa mu kilka
ciekawych rozwiza.
Podobnie jak ma to miejsce w przypadku lekarza, administrator systemu komputerowego
jest w zasadzie odpowiedzialny za dobre samopoczucie innych jego uytkownikw. Jeeli dany administrator pracuje w danej firmie, to zapewne jednym z jego najwaniejszych zada bdzie zapewnienie spjnoci, bezpieczestwa oraz prywatnoci poufnych
danych swojej firmy, a take (a moe przede wszystkim) danych klienta. Nietrudno si
domyli, e niewaciwie funkcjonujca infrastruktura elektronicznych systemw przetwarzania danych, niezbdnych do prawidowego przebiegu procesw biznesowych danej
(06-03-31)
141
142
Cz I t Podstawy
firmy, moe kosztowa pracownikw utrat miejsc pracy, poniewa z pewnoci firma
taka nie bdzie w stanie utrzyma poprawnych kontaktw ze swoimi klientami. Nie
trzeba tutaj chyba specjalnie wyjania, dlaczego bdy administratora systemw komputerowych pracujcych w rodowiskach krytycznych (np. systemy komputerowe szpitali czy te systemy militarne) mog kosztowa czyje ycie, a z kolei jego prawidowe
decyzje mog czyje ycie uratowa.
Zdecydowana wikszo administratorw systemw komputerowych na szczcie nie
musi pracowa w takich warunkach wysokiego stresu, co jednak w niczym nie zmienia
faktu, e kady administrator powinien profesjonalnie traktowa swoje obowizki, nawet jeeli podejmowane przez niego kroki na pierwszy rzut oka mogyby si wydawa
nieco przesadzone. Sabe i nieudolne zarzdzanie systemem komputerowym moe w rezultacie doprowadzi do jego przejcia przez potencjalnych wamywaczy i hakerw (w zym
tego sowa znaczeniu) i wykorzystania go do rnych niecnych celw; taka moliwo
cichego przejcia kontroli nad danym systemem wymaga od administratorw czujnoci
i dowiadczenia.
142 (06-03-31)
143
Separacja uprawnie jest widoczna w kadej czci systemu Debian; procesy dziaajce
nieprzerwanie, takie jak np. serwery WWW, zazwyczaj posiadaj swoje wasne konto
uytkownika oraz grup w podobny sposb funkcjonuje wiele innych procesw. Innym przykadem moe by dostp do poszczeglnych urzdze sprztowych (takich jak
np. karta dwikowa czy karta graficzna), ktry rwnie jest kontrolowany poprzez odpowiednie grupy, dziki czemu Ty oraz wybrani uytkownicy macie bezporedni dostp
do takich urzdze, podczas gdy aplikacje niezwizane z danym zadaniem mog by
takiego dostpu pozbawione.
(06-03-31)
143
144
Cz I t Podstawy
144 (06-03-31)
145
# See the man page for details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root
ALL=(ALL) ALL
Jak wida, w zdecydowanej wikszoci zawarto tego pliku stanowi komentarze i puste wiersze. Podobnie jak to ma miejsce w wielu innych plikach konfiguracyjnych systemu Debian, wszystkie wiersze, ktre rozpoczynaj si od znaku #, bd te cigi znakw, ktre wystpuj w dowolnym wierszu po znaku #, s traktowane jako komentarz
i ignorowane przez powok. Pierwsze trzy wiersze komentarzy powinny by oczywiste1.
Kolejne trzy wiersze, czyli specyfikacja hosta (ang. Host), uytkownika (ang. User)
oraz polecenia (ang. Command) wskazuj na sugerowan struktur wpisw w tym pliku. Najbardziej interesujcy jest ostatni wiersz, stanowicy ca, efektywn, domyln
konfiguracj pliku sudoers. Wpis ten umoliwia uytkownikowi root uruchamianie dowolnych polece, na dowolnych hostach i na prawach dowolnych uytkownikw. Taki
rodzaj wiersza definiuje uprawnienia danego uytkownika, czyli inaczej mwic okrela,
ktry uytkownik ma jakie uprawnienia oraz na jakich hostach. Na rysunku 5.1 przedstawiono krtki opis poszczeglnych elementw wpisw, jakie moesz znale w pliku sudoers.
Rysdnek 5.1.
Specyfikacja
przywilejw
dla polecenia sudo
# sudoers file plik sudoers; # This file MUST be edited with ten plik MUSI by edytowany
przy uyciu polecenia visudo wywoywanego przez uytkownika root; # See the man page for details
wicej informacji na temat tworzenia pliku sudoers znajdziesz na stronach podrcznika man przyp. tum.
(06-03-31)
145
146
Cz I t Podstawy
Alias_hosta=(Alias_konta_uruchamiajcego_polecenia) Lista_polece
Pokaemy Ci teraz, w jaki sposb moesz nada dla swojego normalnego, nieuprzywilejowanego konta uytkownika moliwo uruchamiania poprzez polecenie sudo dowolnych innych polece na prawach uytkownika root. Poniewa i tak masz moliwo
zalogowania si bezporednio na konto uytkownika root, to nie ma adnego sensu, aby
z poziomu Twojego normalnego konta uytkownika ogranicza Ci w jakikolwiek sposb dostp do konta root. Aby tego dokona, powiniene do pliku /etc/sudoers doda
przedstawiony poniej wiersz, z tym e cig znakw nazwakonta powiniene zastpi
prawdziw nazw swojego konta uytkownika. Pamitaj, e jeeli chcesz zmodyfikowa zawarto pliku /etc/sudoers, to musisz najpierw na prawach uytkownika root wykona polecenie visudo:
nazwakonta
ALL=(ALL) ALL
Zapisz zmodyfikowany plik; od tego momentu powiniene mie moliwo wykonywania poprzez polecenie sudo dowolnych polece na prawach uytkownika root z poziomu swojego normalnego, nieuprzywilejowanego konta uytkownika. Jeeli chcesz si
dowiedzie, jak utworzy nieco bardziej zaawansowan zawarto pliku /etc/sudoers,
na przykad aby da niektrym wybranym uytkownikom ograniczone prawa uytkownika root, powiniene zapozna si z treci podrcznika man dla polecenia sudo. Moesz j wywietli na ekranie, wykonujc polecenie man 5 sudoers.
Zastosowanie polecenia sudo
Teraz, kiedy polecenie sudo jest ju zainstalowane i w peni skonfigurowane na Twoim
komputerze, moesz (a w zasadzie nawet powiniene) korzysta z niego do wykonywania codziennych zada zwizanych z zarzdzaniem systemem. Wyloguj si z konta root,
a nastpnie zaloguj si na swoje normalne, nieuprzywilejowane konto. Aby zapozna si
ze sposobem dziaania polecenia sudo, powiniene teraz wykona nastpujce polecenie:
2
146 (06-03-31)
147
Polecenie sudo moe by wykorzystywane bardzo czsto i w zasadzie moe dziaa jak
alternatywne rozwizanie w stosunku do cigej pracy na koncie uytkownika root
z tym e teraz bezpieczestwo caego systemu nie zostao powicone na otarzu wygody
bd niefrasobliwoci jego administratora
Gdy uruchamiasz polecenie sudo po raz pierwszy oraz za kadym razem, kiedy uruchamiasz je po przerwie (domylnie jest to 10 minut), polecenie sudo prosi o podanie hasa.
Do pewnego stopnia polecenie to zachowuje si wic jak swego rodzaju wygaszacz
ekranu; zostao zaprojektowane tak, aby zapobiega sytuacji, e nieautoryzowana osoba
trzecia sidzie przed klawiatur Twojego komputera i uzyska dostp do konta root
w momencie, kiedy akurat na chwilk wyszede z pokoju (ale pozostawie zalogowan sesj na konsoli). Zwr uwag, e proszc o wpisanie hasa, polecenie sudo oczekuje, e wpiszesz haso do swojego wasnego, nieuprzywilejowanego konta uytkownika a nie konta uytkownika root. Dziki takiemu rozwizaniu moesz bezpiecznie
udostpnia innym uytkownikom uprawnienia uytkownika root bez koniecznoci
udostpniania im hasa do tego uprzywilejowanego konta (co przecie nie miaoby adnego sensu i pozwalao na peny dostp).
Polecenie sudo posiada cay szereg rnych opcji, ktre zostay dokadnie opisane na
stronach podrcznika man dla tego polecenia jeeli chcesz dowiedzie si, jak uruchamia wybrane polecenia na prawach uytkownikw innych ni root, lub zapozna
si z innymi dodatkowymi moliwociami tego polecenia, powiniene szczegowo zapozna si ze stron podrcznika man powicon poleceniu sudo. Oprcz tych opcji
i przecznikw dla polecenia sudo jako argument powiniene poda peny wiersz polecenia, ktre chcesz wykona. Przykadowo, jeeli wpiszesz polecenie sudo ls -lh -color, to oznacza to, e polecenie ls -lh --color zostanie uruchomione na prawach
uytkownika root. W rodowisku, w ktrym wikszo zada zwizanych z zarzdzaniem systemem operacyjnym wykonywana jest z poziomu wiersza polece powoki
systemu, taka funkcjonalno polecenia sudo jest naprawd trudna do przecenienia.
(06-03-31)
147
148
Cz I t Podstawy
Pierwsza cz wiersza a do sowa sudo to, krtko mwic, znacznik czasowy danego
wpisu dziennika, obejmujcy dat, czas oraz nazw hosta, na ktrym zostao wykonane
polecenie sudo (w naszym przypadku debian). Kolejne pola to odpowiednio (w kolejnoci
wystpowania): nazwa uytkownika, ktry wykona polecenie sudo (w naszym przypadku helion), nazwa terminalu, na ktrym dany uytkownik by zalogowany w czasie
wykonywania polecenia (w naszym przypadku jest to pts/1), biecy katalog roboczy
uytkownika (w naszym przypadku /home/helion), nazwa uytkownika, na ktrego
prawach zostao wykonane dane polecenie (w naszym przypadku root) i wreszcie nazwa
uruchamianego polecenia (w naszym przypadku /bin/su -).
148 (06-03-31)
149
Jak wida, katalog /var/spool/exim4/ nie jest dostpny dla normalnego uytkownika,
a poniewa polecenie cd jest wbudowanym poleceniem powoki i nie mona uruchomi
go poprzez polecenie sudo, to nie ma innej moliwoci dostania si do tego katalogu,
jak tylko poprzez zalogowanie si do powoki na prawach uytkownika root. Jednym ze
sposobw na rozwizanie takiego problemu jest po prostu zalogowanie si na konto
uytkownika root na innej, wirtualnej konsoli. Innym rozwizaniem jest uruchomienie
nowej powoki uytkownika root przy uyciu polecenia sudo -s. Warto jeszcze tutaj
wspomnie, e now powok moesz uruchomi rwnie w bardziej tradycyjny sposb, korzystajc z polecenia su. Wykonanie polecenia su bez adnych opcji ani argumentw powoduje uruchomienie nowej powoki na prawach uytkownika root, ale bez
przetwarzania wszystkich normalnie wykonywanych podczas procesu logowania plikw startowych i konfiguracyjnych powoki. Jeeli jednak do polecenia su doczysz
opcj -, spowoduje to, e nowa powoka bdzie uruchamiana w trybie penej sesji logowania, czyli bdzie dziaaa dokadnie tak, jakby wanie przed momentem zalogowa si do powoki na konto uytkownika root. Polecenie su moe rwnie przyjmowa
jako argument nazw konta uytkownika; domyln wartoci argumentu jest root, ale
jeeli chcesz uruchomi now powok na prawach innego uytkownika, powiniene
wykona polecenie su - nazwakontauytkownika. Niezalenie od tego, jaki sposb uruchomienia powoki wybierzesz, zostaniesz zapytany o haso danego uytkownika, na
ktrego konto teraz si przeczasz. Poniewa w zasadzie nie powiniene zna hase dostpu do kont innych uytkownikw, a poza tym by moe nie znasz hasa konta uytkownika root, to moesz omin to wymaganie, korzystajc z polecenia sudo (jeeli
pracujesz na koncie uytkownika root a wanie to uzyskujesz, korzystajc z polecenia sudo to polecenie su nie bdzie Ci ju prosio o podawanie hasa dostpu do innych kont). Przyjrzyj si przykadowej sesji przedstawionej poniej:
helion@debian:~$ sudo su root@debian:~# whoami
root
root@debian:~# exit
helion@debian:~$ sudo su - test
test@debian:~$ whoami
test
test@debian:~$ exit
helion@debian:~$
Przebieg sesji powinien by chyba dla Ciebie oczywisty. Pierwsze wywoanie polecenia
su spowodowao uruchomienie penej sesji powoki dla uytkownika root. Nastpnie
sprawdzilimy, czy rzeczywicie pracujemy na koncie tego uytkownika, i powrcilimy do naszej biecej sesji powoki. Kolejne wywoanie polecenia su spowodowao
uruchomienie penej sesji powoki dla uytkownika test, po czym ponownie sprawdzilimy,
(06-03-31)
149
150
Cz I t Podstawy
150 (06-03-31)
151
Work Phone[]:
Home Phone[]:
Other[]:
Is the information correct? [y/N] y
helion@debian:~$
(06-03-31)
151
152
Cz I t Podstawy
Teraz posiadasz ju archiwum, ktre moesz w prosty sposb przekaza danemu uytkownikowi (np. takiemu, ktrego konto zostao usunite z systemu); dodatkowo dziki
takiemu archiwum moesz w prosty sposb odtworzy pliki takiego uytkownika (jeeli
zajdzie potrzeba).
152 (06-03-31)
153
Mamy teraz przykadow grup, ktr bdziemy chcieli usun. Grupa ta jest pusta (tzn.
adne konta uytkownikw nie zostay do niej przypisane) oraz jest grupowym wacicielem naszego pliku testowego. Najpierw musimy zaj si plikami, ktrych wacicielem jest grupa przeznaczona do usunicia. Istnieje wiele sposobw podejcia do takiego zagadnienia, ale z naszego dowiadczenia wynika, e najlepszym sposobem jest
zmiana grupowego waciciela takich plikw na grup root. W pniejszym czasie waciciele plikw mog spokojnie zmieni grupowego waciciela plikw na inn grup,
ktrej s nadal czonkami (oczywicie, jeeli tylko bd chcieli wykona tak operacj).
Zmiana waciciela grupowego na grup root jest o tyle dobra, e nikt poza administratorami systemu nie naley do grupy root, std jest to bardzo bezpieczne rozwizanie. Jak zapewne pamitasz z lektury rozdziau 3., poszczeglne pliki mog mie ustawione prawa setuid oraz setgid (nalece do kategorii zaawansowanych praw dostpu),
(06-03-31)
153
154
Cz I t Podstawy
Kolejnym etapem jest ponowne odszukanie tych samym plikw i zmiana ich waciciela
grupowego na grup root. Moesz tego dokona za pomoc nieco zmodyfikowanej
wersji skryptu przedstawionego powyej:
sudo find / -group testgroup -printd 2> /dev/null | xargs -d sudo chgrp root
Przyjrzyj si teraz poniszemu zapisowi sesji zobaczysz omwione powyej elementy w dziaaniu:
helion@debian:~$ ls -l plik-testowy grupy
-rw-r-sr-- 1 helion testgroup d 2ddD-12-d4 22:d7 plik-testowy-grupy
helion@debian:~$ sudo find / -group testgroup -print0 2> /dev/null | xargs -0 sudo
chmod g-s
helion@debian:~$ ls -l plik-testowy grupy
-rw-r-xr-- 1 helion testgroup d 2ddD-12-d4 22:d7 plik-testowy-grupy
helion@debian:~$ sudo find / -group testgroup -print0 2> /dev/null | xargs -0 sudo
chgrp root
helion@debian:~$ ls -l plik-testowy grupy
-rw-r-xr-- 1 helion root d 2ddD-12-d4 22:d7 plik-testowy-grupy
helion@debian:~$
Teraz, kiedy ju zaje si w odpowiedni sposb wszystkimi plikami, ktrych wacicielem bya grupa przeznaczona do usunicia, moesz z czystym sumieniem rozpocz
procedur usunicia samej grupy. Aby tego dokona, powiniene wykona ponisze
polecenie:
helion@debian:~$ sudo delgroup --remove-only-if-empty testgroup
Removing group testgroup...
Done.
helion@debian:~$
154 (06-03-31)
155
Opis
adm
Do tej grupy nale zazwyczaj administratorzy systemu. Grupa adm kontroluje dostp do
wielu plikw dziennikw zdarze, ktre s dostpne tylko i wycznie dla uytkownikw
bdcych czonkami tej grupy.
lp
Uytkownicy, ktrzy s czonkami grupy lp (ang. line printer), mog korzysta z drukarki
systemowej.
dialout
cdrom
floppy
Uytkownicy, ktrzy s czonkami grupy floppy, maj prawa dostpu do dowolnej stacji
dyskietek spord zainstalowanych w danym systemie.
audio
Uytkownicy bdcy czonkami grupy audio maj pene prawa dostpu do urzdze audio
zamontowanych w danym systemie, takich jak np. karta dwikowa umoliwiajca
odtwarzanie i zapisywanie danych audio.
video
Posiadanie tak wielu rnych grup moe si na pierwszy rzut oka wydawa grub przesad, niemniej jednak jeeli wszystkie urzdzenia byyby domylnie, w jednakowym
stopniu dostpne dla wszystkich uytkownikw, to w wikszych systemach mogoby si
zdarzy, e np. kto wczy przypadkowo odtwarzanie lub, co gorsza, nagrywanie
dwiku w gabinecie prezesa firmy czy te wczy sobie podgld kamery internetowej
zainstalowanej w serwerowni i obserwowa, jakie hasa wpisuje administrator na konsoli serwera.
Dodawanie uytkownikw do grup jest zadaniem bardzo prostym. Aby tego dokona,
wystarczy wykona nastpujce polecenie: adduser nazwauytkownika nazwagrupy. Przykadowo, z pewnoci chciaby mie moliwo odczytywania rnych plikw dziennikw systemowych bezporednio z poziomu Twojego normalnego konta uytkownika,
bez koniecznoci cigego uywania polece takich jak sudo czy su. Aby tego dokona,
wystarczy jak si ju zapewne sam domylie doda nazw Twojego konta uytkownika do grupy adm:
(06-03-31)
155
156
Cz I t Podstawy
helion@debian:~$ sudo adduser helion adm
Adding user helion to group adm...
Done.
helion@debian:~$
Aby czonkostwo w nowych grupach przynioso oczekiwany efekt, powiniene si wylogowa, a nastpnie zalogowa ponownie mimo e istniej rwnie inne sposoby,
to jednak czsto wylogowanie okazuje si najbardziej efektywnym z nich, a co wicej,
taki sposb postpowania bdzie wymagany dla kadej sesji rodowiska graficznego.
Kiedy ju zalogujesz si ponownie, znowu wykonaj polecenie groups:
helion@debian:~$ groups
helion adm
helion@debian:~$
W rozdziale 2., kiedy omawialimy sposb instalacji systemu Debian, miae moliwo podczenia swojego komputera do sieci Internet bd te do swojej sieci lokalnej.
Skrcony sposb, w jaki zostay tam potraktowane zagadnienia zwizane z poczeniami sieciowymi, oczywicie nie wyczerpa tego tematu, dlatego teraz zajmiemy si nim
ponownie.
W niniejszym podrozdziale omwimy zagadnienia zwizane z wykorzystaniem wielu
niskopoziomowych narzdzi sieciowych pozwalajcych na funkcjonowanie w sieci, do
ktrej jeste podczony. Postaramy si przybliy Ci tematyk powiza systemu Debian z takimi sieciami oraz omwi, w jaki sposb system ten z nimi wsppracuje.
156 (06-03-31)
157
IP Intennet PnotoooI
Internet (akronim angielskiego okrelenia inter-network) jest po prostu ogromnym zbiorem mniejszych sieci, poczonych ze sob w wielu miejscach i na wiele sposobw. Takie mniejsze sieci, czasami nazywane rwnie sieciami intranet, s zazwyczaj od siebie
dobrze odseparowane, gwne ze wzgldu na to, e kad sieci zarzdza inny administrator Ty jeste odpowiedzialny za sprawne i bezpieczne funkcjonowanie Twojej
sieci, Twj dostawca Internetu jest odpowiedzialny za dziaanie jego sieci, poszczeglne
firmy s odpowiedzialne za ich sieci itd. Takie rozproszenie i separacja poszczeglnych
sieci oznacza, e musz istnie jakie podstawowe uzgodnienia wyznaczajce sposb,
w jaki poszczeglne sieci ze sob wsppracuj i wanie takie uzgodnienia nazywamy, oglnie rzecz biorc, protokoem. Protok cile definiuje sposb, w jaki komputer A bdzie si komunikowa z komputerem B.
Ptozokke okP P
Caa komunikacja w sieci Internet oraz w nowoczesnych sieciach intranet odbywa si
wedug zasad zdefiniowanych w specyfikacji protokou IP (ang. Internet Protocol).
Sama specyfikacja protokou IP jest bardzo rozbudowanym i szczegowym dokumentem. Podstawow jednostk transmisji danych wykorzystywan przez protok IP jest
pakiet. Kady strumie danych jest dzielony na mae czci (zwane wanie pakietami),
ktre nastpnie s wysyane poprzez sie do miejsca przeznaczenia. W podstawowym
pakiecie protokou IP znajduj si informacje na temat nadawcy pakietu (czyli inaczej
informacje o tym, skd pochodzi dany pakiet), informacje na temat odbiorcy pakietu
(czyli inaczej mwic informacje o tym, dokd podruje dany pakiet w sieci) oraz adunek pakietu, czyli inaczej mwic dane, jakie przenosi on od nadawcy do odbiorcy.
adunek pakietu moe by niemal dowolny (tak dugo, jak dugo jego format pozostaje
w zgodzie z wymogami definicji protokou IP) w pakiecie IP mog znajdowa si
dowolne dane. Istniej jednak rwnie inne protokoy i standardy transmisji, ktre bardziej szczegowo definiuj zawarto poszczeglnych pakietw przykadem takiego
protokou jest TCP (ang. Transmission Control Protocol).
Sam protok IP jest relatywnie prostym protokoem komunikacyjnym i nie posiada
zaimplementowanych adnych mechanizmw gwarantujcych, e wysany dany pakiet
dotrze do miejsca przeznaczenia. Protok TCP, a w zasadzie TCP/IP (ang. TCP over IP)
jest w obecnych czasach najbardziej rozpowszechnionym protokoem sieciowym, std
niemal kada usuga sieciowa, z jakiej korzystasz na co dzie, jest oparta wanie na
tym protokole. Zastosowanie protokou TCP/IP pozwala na sprawn i pewn wymian
danych pomidzy komputerami poczonymi poprzez sie Internet.
(06-03-31)
157
158
Cz I t Podstawy
AdtySy Siyyiopy
Kady komputer podczony do sieci IP posiada swj wasny, unikalny adres IP, aczkolwiek pena konfiguracja poczenia sieciowego to co znacznie wicej ni tylko prosty adres IP. Pomimo i w kadym wysanym w sie pakiecie znajduje si adres IP
nadawcy oraz adres IP odbiorcy, to jednak zlokalizowanie miejsca w sieci, do ktrego
powinien zawdrowa taki pakiet, jest zagadnieniem nieco bardziej zoonym. Kady
komputer podczony do sieci musi posiada zdefiniowane trzy bardzo wane elementy
konfiguracji sieciowej: adres IP (ang. IP address), mask podsieci (ang. netmask) oraz
bram domyln (ang. gateway). Maska podsieci pozwala danej maszynie na wyrnienie adresw komputerw znajdujcych si w tej samej sieci; jeeli Twj komputer jest
czci sieci lokalnej LAN (ang. Local Area Network), to moe si bezporednio komunikowa z innymi komputerami znajdujcymi si w tym samym segmencie sieci (inaczej mwic, komunikacja pomidzy nimi moe si odbywa bez adnego porednika).
Jeeli jednak adresat pakietu znajduje si poza sieci lokaln, to odpowiednie pakiety
danych musz by najpierw przesane do routera czy te bramy, ktra skieruje taki pakiet do kolejnego routera i tak dalej, a dany pakiet danych zostanie dostarczony do komputera docelowego.
Adresy IP, a cilej mwic, adresy IPv4, s zapisywane w tzw. 4-bajtowej notacji
kropkowej (ang. dotted quad notation). Ta grona skdind nazwa oznacza po prostu,
e kady adres IP skada si z czterech liczb z zakresu od 0 do 255, oddzielonych od
siebie kropkami. Przykadowo, zapis 1.2.3.4 jest prawidowo podanym adresem IP.
Wicej szczegowych informacji na temat masek podsieci znajdziesz na stronie
http://www.computerhope.com/jargon/n/netmask.htm.
Potzy
Oprcz wspomnianych ju wczeniej adresw nadawcy oraz adresw odbiorcy (lub jak
kto woli, adresw rda i adresw przeznaczenia) istniej jeszcze tzw. porty. Poniewa
dany komputer moe oferowa uytkownikom ca gam rnego rodzaju usug sieciowych (np. serwer WWW, FTP, poczty elektronicznej i wiele innych), to bardzo wane
jest, aby kada z takich usug bya dostpna poprzez cile okrelony i powszechnie
znany numer portu (ang. well-known ports). Numer portu jest wykorzystywany w komunikacji pomidzy komputerami cznie z adresem IP, kiedy dany komputer usiuje
skorzysta z okrelonej usugi sieciowej oferowanej przez inny komputer. Przykadowo,
jeeli ogldasz zawarto ulubionej strony WWW, to Twoja przegldarka sieciowa prbuje skontaktowa si z portem 80 danego serwera, ktry jest domylnym portem wykorzystywanym przez serwer WWW. Posugujc si nieco uproszczon analogi, mona powiedzie, e adres IP to co w rodzaju penego adresu mieszkania czy te domu,
natomiast numer portu odpowiada tutaj numerowi pokoju. W systemie GNU/Linux definicje wszystkich powszechnie znanych portw i odpowiadajcych im usug sieciowych
moesz znale w pliku /etc/services.
158 (06-03-31)
159
W terminologii sieciowej kady wze sieci czyli inaczej mwic kady komputer
jest nazywany hostem. Polecenie host pozwala Ci na powtrzenie tych wszystkich operacji, jakie musi wykona Twj komputer za kadym razem, kiedy chce si skontaktowa
z innym komputerem, ktrego adres podae w postaci nazwy. W naszym przypadku,
kiedy prbowalimy si skontaktowa z komputerem o nazwie www.debian.org, polecenie host ujawnio nam, e za t nazw tak naprawd kryje si komputer o adresie
112.25.220.12 jest to numeryczny adres serwera WWW projektu Debian, a mwic
cilej, jego adres IP.
Proces zamiany nazw hostw z postaci tekstowej, przyjaznej dla uytkownika, na adresy
numeryczne, bardziej zrozumiae dla komputera, jest nazywany rozwizywaniem nazw
hostw (ang. hostname resolution).
Wicej szczegowych informacji na temat systemu nazw domen DNS (ang. Domain
Name System) znajdziesz w rozdziale 17. niniejszej ksiki. Omwimy tam nie tylko
zagadnienia zwizane z zamian nazw komputerw na odpowiadajce im adresy IP,
ale rwnie powiemy, w jaki sposb moesz zainstalowa i skonfigurowa swj
wasny serwer DNS.
(06-03-31)
159
160
Cz I t Podstawy
Opis
/etc/nsswitch.conf
/etc/resolv.conf
/etc/hosts
files dns
Taka posta wiersza informuje wszystkie aplikacje, e jeeli chc rozwiza nazw danego
hosta, to w pierwszej kolejnoci powinny sprawdzi baz hostw zapisanych w odpowiednim pliku (sowo kluczowe files). Tym tajemniczym plikiem jest /etc/hosts. Ma
on posta zwykego pliku tekstowego, w ktrym zapisane s statyczne definicje par
skadajcych si z nazwy danego hosta i odpowiadajcego mu adresu IP.
Tradycja korzystania z pliku /etc/hosts jest bardzo, bardzo stara. Wystarczy powiedzie,
e ju cae dziesiciolecia temu, zanim w ogle system DNS zosta opracowany i zaimplementowany, kady komputer podczony do sieci posiada swj odpowiedni wpis
w plikach /etc/hosts pozostaych komputerw. Jeeli odpowiednia informacja o nazwie
i adresie IP jakiego komputera nie znalaza si w tym pliku, to si rzeczy nie bye
w stanie si z takim komputerem skontaktowa po nazwie. Tyle historia nie zmienia
to jednak w niczym faktu, e niezalenie od zaawansowanego wieku tego pliku-staruszka,
jest on nadal uywany w niemal kadym komputerze, ktry jest podczony do sieci.
Wynika to z prostej potrzeby, e niektre nazwy komputerw i odpowiadajce im adresy
IP musz pozosta dla systemu znane, nawet jeeli awarii ulegnie serwer DNS i nie bdziesz w stanie dynamicznie rozwizywa nazw hostw. Szczeglnym przypadkiem zastosowania tego pliku jest zdefiniowana w nim nazwa wasna Twojego komputera, ktra
jest niezbdna do prawidowego funkcjonowania komputera nawet na bardzo elementarnym poziomie.
Przyjrzyjmy si teraz zawartoci pliku /etc/hosts. Zapewne zarwno w Twoim pliku, jak
i w naszej wersji tego pliku na samym pocztku znajduje si nastpujcy wiersz:
127.d.d.1
localhost
Jak ju wspominalimy wczeniej, format tego pliku jest bardzo prosty pierwszy element
to po prostu adres IP danego hosta, po ktrym nastpuje jedna lub wicej przypisanych
mu nazw. Na naszym przykadzie widoczna jest tylko jedna nazwa localhost. Jest
to bardzo specjalna nazwa, ktra zawsze, w kadej sytuacji reprezentuje Twj wasny,
lokalny komputer. Nawet w sytuacji, kiedy nie masz dostpu ani do sieci Internet, ani
do adnej innej sieci lokalnej, Twj komputer z zainstalowanym systemem GNU/Linux
160 (06-03-31)
161
1d.d.d.1
1d.d.d.2
Kiedy Twj komputer otrzymuje przypisany do niego adres IP (niezalenie od tego, czy jest
to dynamiczny adres IP przyznawany automatycznie, poprzez serwer DHCP, czy te
statyczny adres IP nadawany rcznie przez administratora systemu), to otrzymuje rwnie adresy IP serwerw nazw, z ktrych powinien korzysta i w zasadzie do tego
sprowadza si zawarto poszczeglnych wierszy pliku /etc/resolv.conf. Przykadowo,
jeeli chcemy si skontaktowa z serwerem www.debian.org, to nasz komputer w pierwszej
kolejnoci sprawdza, czy odpowiedni wpis znajduje si w pliku /etc/hosts. Jeeli nie, to
usiuje uzyska odpowiedni adres IP od serwera (bd serwerw) DNS, zdefiniowanych
w pliku /etc/resolv.conf w naszym przypadku s to serwery o adresach 12.2.2.1 oraz
12.2.2.2.
W pliku /etc/resolv.conf moesz spotka rwnie jeszcze inny wpis: wiersz search.
Przed chwil, dla uproszczenia powiedzielimy, e plik /etc/resolv.conf jest wykorzystywany w sytuacji, kiedy usiujesz rozwiza nazw hosta, ktra nie zostaa uprzednio
zdefiniowana w pliku /etc/hosts. To nie jest do koca prawda. Wiersze rozpoczynajce
si od sowa kluczowego nameserver s wykorzystywane tylko i wycznie wtedy, kiedy usiujesz rozwiza nazw hosta poprzez serwer DNS, natomiast jeeli wiersz search
zosta dopisany do pliku /etc/resolv.conf, to jest on wykorzystywany zawsze. Poniej
przedstawiamy przykad takiego wpisu (podobnie jak poprzednio, moe on si znacznie
rni od tego, co znajdziesz w swojej wersji pliku).
search
debian.org
Sowo kluczowe search informuje aplikacj, e jeeli odpowiednia nazwa hosta w ogle nie
zostanie odnaleziona (ani poprzez plik /etc/hosts, ani poprzez serwery DNS), to powinna
ona ponownie rozpocz poszukiwania, tym razem jednak poszukujc hosta, ktrego
(06-03-31)
161
162
Cz I t Podstawy
Jak wida, bez wiersza search Twj komputer nie by w stanie prawidowo rozwiza
nazwy hosta www co nie powinno by raczej dla nikogo zaskoczeniem; w sieci Internet nie istnieje aden komputer, ktrego pena nazwa brzmiaaby po prostu www. Jeeli
teraz dodalimy do pliku /etc/resolv.conf dodatkowy wiersz search debian.org, to aplikacja prbujca rozwiza nazw najpierw sprbuje znale j tradycyjnymi niejako
metodami (poprzez plik /etc/hosts i odpytanie serwera DNS), a nastpnie sprbuje odnale waciwy host, dodajc do jego nazwy www nazw domeny podan po sowie kluczowym search. Krtko mwic, w pierwszym przebiegu aplikacja usiuje rozwiza
nazw www (co jej si nie udaje), a nastpnie dodaje do nazwy hosta nazw domeny i usiuje
rozwiza nazw www.debian.org co tym razem zostaje uwieczone powodzeniem.
W pojedynczym wierszu zawierajcym sowo kluczowe search moesz zamieszcza
cay szereg nazw domen; bd one kolejno wybierane i testowane dopty, dopki ktra
z prb nie zakoczy si pomylnie, bd te adna z nazw domen nie przyniesie oczekiwanego rozwizania.
Intenfensy sieoiowe
Jak zapewne pamitasz, podczas procesu instalacji systemu Debian przechodzie przez
proces konfiguracji poczenia sieciowego. Proces ten polega w gwnej mierze na odpowiedniej konfiguracji interfejsu sieciowego, co jest argonowym okreleniem caej
klasy urzdze systemu Linux pozwalajcych na wzajemn komunikacj z innymi
komputerami. Nietrudno si domyli, e umiejtnoci sprawdzania, testowania, konfiguracji oraz naprawiania urzdze sieciowych jest niezbdna do prawidowego zarzdzania mechanizmami komunikacji sieciowej. Aby przekona si, jakie interfejsy sieciowe
s dostpne na Twoim komputerze, powiniene wykona polecenie sudo ifconfig.
helion@debian:~$ sudo ifconfig
ethd
Link encap:ethernet HWaddr dd:dd:21: D:4B:Be
inet addr:192.1 e.1.1 Bcast:192.1 e.1.2DD Mask:2DD.2DD.2DD.d
UP BROADCAST RUNNING MULTICAST MTU:1Ddd Metric:1
RX packets:342De24 errors:d dropped:d overruns:d frame:d
TX packets:214d112 errors:d dropped:d overruns:d carrier:d
162 (06-03-31)
163
collisions:d txqueuelen:1ddd
RX bytes: 72d77dD1 ( 4d.9 MiB) TX bytes:13DeD3919d (1.2 GiB)
Interrupt:1d Base address:dxfced
eth1
lo
pppd
helion@debian:~$
(06-03-31)
163
164
Cz I t Podstawy
Jak pamitasz, na naszym ostatnim przykadzie mielimy dwa interfejsy Ethernet dla
przypomnienia zamieszczamy poniej najbardziej interesujce wiersze konfiguracji dla
kadego z nich:
ethd
eth1
SzytlysSy PPP
Interfejsy PPP (ang. Point-to-Point Protocol) s zazwyczaj wykorzystywane do komunikacji poprzez modem (poczenia wybierane typu dial-up), aczkolwiek s rwnie
bardzo czsto wykorzystywane przez dostawcw sieci Internet (ang. ISP) oferujcych
poczenia typu DSL. Nasz przykadowy interfejs PPP ma nastpujc konfiguracj:
pppd
164 (06-03-31)
165
Interfejsy PPP s oglnie rzecz biorc o wiele mniej zoone ni interfejsy Ethernet, poniewa zdecydowana wikszo pocze realizowanych przez takie interfejsy to poczenia typu punkt-punkt (ang. point-to-point). Oznacza to, e dla takich pocze nie
istnieje pojcie sieci lokalnej; wszystkie pakiety s po prostu przesyane na drugi koniec
cza (na adres znajdujcy si w polu P-t-P, ktrym moe by np. Twj ISP) i tam
przetwarzane. Jak wida na przykadzie, adres naszego interfejsu PPP to 05.13.131.70,
natomiast adres komputera znajdujcego si po drugiej stronie cza to 04.232.254.225.
W systemie Debian interfejsy PPP s konfigurowane poprzez odpowiednie pliki znajdujce si w katalogu /etc/ppp/peers/. Kade utworzone poczenie typu PPP bdzie reprezentowane przez odpowiedni plik konfiguracyjny utworzony w tym katalogu, noszcy nazw identyczn jak dane poczenie. Aby uruchomi wybrane poczenie PPP,
powiniene wykona polecenie pon nazwapoczenia; aby je zakoczy, wykonaj polecenie poff nazwapoczenia. Jeeli czysz si z sieci Internet poprzez poczenie DSL
PPP, to podczas instalacji urzdze DSL zostanie utworzony plik konfiguracyjny
/etc/ppp/peers/dsl-provider aby zatem uruchomi takie poczenie, powiniene wykona polecenie pon dsl-provider.
W niniejszym rozdziale skupilimy si gwnie na zagadnieniach zwizanych z zarzdzaniem kontami uytkownikw i grupami uytkownikw, ale za to tematy te zostay
ujte w szerokim kontekcie dobrego zarzdzania systemem oraz utrzymywania bezpieczestwa. Po zakoczeniu lektury tego rozdziau powiniene mie w swoim arsenale
wygodny i bezpieczny interfejs pozwalajcy na korzystanie z uprawnie uytkownika
root z poziomu Twojego normalnego konta uytkownika. Powiniene rwnie by w stanie
tworzy nowe i usuwa istniejce konta uytkownikw i grupy uytkownikw, a take
zarzdza nimi. Lektura tego rozdziau powinna rwnie da Ci pewn podstawow
wiedz na temat pocze sieciowych i sposobw ich dziaania w systemie Linux; powiniene by rwnie w stanie zrozumie, w jaki sposb Twj komputer komunikuje
si z innymi komputerami poprzez sie, co bdzie dla Ciebie znakomitym fundamentem
do dalszego pogbiania wiedzy na ten temat w dalszej czci ksiki.
(06-03-31)
165