You are on page 1of 86

Spis treści

Mnie to nie dotyczy!?

T
Miesięcznik Linux+ (12 numerów w roku) ak mógłby stwier- policji) ze względu na reputację poszkodo-
jest wydawany przez
dzić przypadko- wanego. W takim świecie żyjemy.
Software-Wydawnictwo Sp. z o. o.
wy internauta, gdy- Czy możemy coś poradzić na to?
Redaktor naczelny: Krzysztof Krawczyk, bym zapytał go, czy Oczywiście, dlatego ten numer Linux+ jest
krzysiek@lpmagazine.org boi się włamania do skoncentrowany na zagadnieniach bezpie-
Redaktorzy: swojego komputera. czeństwa. Piotrek Machej w swoich arty-
Piotr Truszkowski, Marek Bettman, Michał Niwicki
Zbyt pewny siebie? kułach stara się udzielić kilku dobrych rad.
Kierownik produkcji: Marta Kurpiewska,
marta@software.com.pl Zdecydowanie. Bardzo Zachęcam do zastosowania się do nich.
Opracowanie CD/DVD: Krzysztof Krawczyk, prosto włamać się do Raz wprowadzone w życie mają szansę
Piotr Truszkowski kogoś, kto jest na stałe podłączony do stać się zwyczajem.
Dział reklamy: Łukasz Łukaszewicz, Sieci i nie dba o bezpieczeństwo swojego Na płytach DVD zamieściliśmy dwie
reklama@lpmagazine.org,
systemu. To tak, jakby nie zamykał drzwi najpopularniejsze europejskie dystrybucje
tel.: (22) 860 18 18
Prenumerata: Marzena Dmowska, do własnego mieszkania czy samochodu. Linuksa: Auroksa 10.1 (mocno poprawiony
pren@software.com.pl, Ilość błędów związanych z bezpie- względem poprzedniego wydania: gorąco
tel.: (22) 860 17 67 czeństwem, które są wykrywane każde- polecam, gdyż sam używam w pracy) oraz
Projekt graficzny okładki: go miesiąca, jest zatrważająca. Wystar- Mandrakelinuksa 10.1 (używam w domu).
Agnieszka Marchocka
czy zapoznać się bliżej z jednym z nich, Przy okazji pragnę zawiadomić, że po-
Projekt graficzny pisma: Marcin Ziółkowski,
marcin@software.com.pl poszukać eksploita lub napisać go samo- szukujemy autorów artykułów, więc zain-
Skład: Marcin Ziółkowski, dzielnie, a następnie znaleźć potencjalną teresowane osoby proszę o zgłoszenie się
marcin@software.com.pl ofiarę. Zdziwilibyście się, jak bardzo admi- do mnie pod adresem krzysiek@lpmaga-
nistratorzy serwerów internetowych zanie- zine.org.
Adres korespondencyjny: dbują swoje obowiązki – nie uaktualnia- Zachęcam do lektury tego numeru.
Software-Wydawnictwo Sp. z o. o., ją oprogramowania, nie przeglądają logów
00-190 Warszawa, systemowych i nie analizują własnych sys-
ul. Lewartowskiego 6
e-mail: redakcja@lpmagazine.org,
temów. Wiele z przestępstw internetowych Krzysztof Krawczyk
tel. (22) 860 18 18 nie jest upubliczniane (czytaj: zgłaszane Redaktor Naczelny Linux+

Redakcja dokłada wszelkich starań, aby publiko-


wane w piśmie i na towarzyszących mu nośnikach
informacje i programy były poprawne, W bieżącym numerze :
jednakże nie bierze odpowiedzialności za efekty
ich wykorzystania.
Redakcja nie udziela pomocy technicznej
dotyczącej zamieszczanego oprogramowania. 8 Opis
Płyty uszkodzone podczas wysyłki wymienia dział
zawartości
mandrakelinux

prenumeraty.
płyt CD/DVD
Wszystkie znaki firmowe zawarte w piśmie Piotr Truszkowski, Michał Niwicki
są własnością odpowiednich firm i zostały
użyte wyłącznie w celach informacyjnych. Aktualności:
Druk: Stella Maris 16 Newsy
Witold Kieraś
Redakcja używa systemu
automatycznego składu
18 Jądro Linux
debian

Płyty dołączone do magazynu przetestowano Tomasz Torcz


programem AntiVirenKit firmy G DATA Software
Sp. z o.o. 20 Debian
Bartosz Feński, Tomasz Napierała
Redakcja zabezpiecza swoje dane korzystając
ze sprzętu firmy Tandberg Data udostępnionego 22 Mandrakelinux
przez Veracomp SA. Daniel Koć
23 Aurox
Sprzedaż aktualnych lub archiwalnych numerów Karol Kozimor
newsy

pisma po innej cenie niż wydrukowana na okład-


ce – bez zgody wydawcy – jest działaniem na jego 24 Gentoo
szkodę i skutkuje odpowiedzialnością sądową. Witold Kieraś

4 styczeń 2005
Spis treści

Temat miesiąca: Bezpieczeństwo

Bezpieczeństwo Oprogramowanie Dla początkujących

26 Bezpieczne łączenie się


z Internetem
40 Dvd::rip
– ripper płyt DVD
52 Nessus
– skaner bezpieczeństwa
Piotr Machej Witold Kieraś Piotr Machej
Internet nie jest miejscem bezpiecznym. Często potrzebujemy przekonwertować
Aby móc spać spokojnie, należy zastoso- filmy z płyt DVD do formatów dających
wać się do kilku podstawowych zasad. się odtworzyć przez osoby nie posiadające
W artykule przedstawiamy najważniej- odpowiedniego napędu. Pokażemy, jak tego
sze zagadnienia, na które należy zwró- dokonać przy użyciu programu Dvd::rip.
cić uwagę przy podłączaniu komputera
z Linuksem do Sieci.
42 KGpg – menedżer
kluczy szyfrujących
32 Odzyskiwanie danych
– sposoby
Witold Kieraś
Projekt Gnu Privacy Guard (GPG) powstał,
i przegląd narzędzi aby udostępnić silną i nowoczesną krypto- Podłączając nasz komputer do Internetu
Michał Niwicki grafię zwykłemu użytkownikowi kompu- lub sieci lokalnej, musimy odpowiednio
Na pewno każdy z nas stanął lub stanie tera domowego. Prawdopodobnie najlep- zadbać o zabezpieczenia na wypadek wła-
przed problemem odzyskiwania utraco- szą nakładką graficzną na tę aplikację jest mania. Nessus jest skanerem, który pozwo-
nych danych – przez nieuwagę, awarię KGpg, który omówimy w artykule. li wykryć w naszym systemie te miejsca,
bądź atak. W takiej sytuacji nieocenio- które są podatne na atak z sieci.
ne mogą stać się takie programy, jak:
44 Gubed – debugger
dd_rescue, dd_rhelp, mondorescue, unrm
oraz gpart.
skryptów w PHP
Piotr Machej
58 Sztuczki i kruczki
Grzegorz Niewęgłowski
Pracując nad większymi projektami w PHP Podczas pracy z Linuksem mogą przydać się
Wywiad na pewno przyda się nam dobry debugger różnego rodzaju sztuczki i kruczki. Ich zna-
tego języka. Gubed pozwala prześledzić jomość również świadczy o tym, czy użytko-
38 Wywiad
z Przemysławem Tołpą,
działanie skryptu linijka po linijce, dzięki
czemu łatwo znajdziemy błąd w kodzie.
wnik jest początkujący, czy zaawansowany.

Sales Managerem w firmie Sprzęt


Adaptec
46 Cssed – edytor arkuszy
Krzysztof Krawczyk stylów CSS
Piotr Machej
60 Programowy RAID
oraz LVM
CSS, czyli kaskadowe arkusze stylów, stały Piotr Wolny
się już niemal standardem przy tworzeniu Linux wspiera dwa zaawansowane mecha-
stron WWW. Cssed pomoże nam stworzyć nizmy gromadzenia danych: Software RAID
odpowiednie definicje nawet do bardzo oraz Logical Volume Manager. Przy ich
rozbudowanych projektów. pomocy możemy zwiększyć wydajność
pamięci masowej, a także poprawić bezpie-
48 Vuurmuur – konfigurator
zapór sieciowych
czeństwo przechowywanych informacji.

Piotr Machej Dla programistów


Konfiguracja zapory sieciowej (firewall)
może nastręczyć nie lada problemów.
Dużym ułatwieniem w takim przypad-
70 Pyro i OpenSSL – bezpieczny
komunikator internetowy
ku może być Vuurmuur – program wspo- Marek Sawerwain
magający tworzenie regułek iptables oraz Gdy planujemy przesyłać istotne informacje
ipchains. przez Internet, to wprowadzenie szyfrowa-
nia danych w naszych aplikacjach rozpro-
Simutrans
50 – gra ekonomiczna
szonych jest bardzo ważnym zagadnieniem.
W artykule pokazujemy, jak w prosty spo-
Tym razem postanowiliśmy porozmawiać Marek Bettman sób stworzyć własny komunikator w stylu
z przedstawicielem firmy Adaptec, dobrze Jeśli znudził nas już Medal of Honor Gadu-Gadu, obsługujący szyfrowanie.
znanej z produkcji kontrolerów pamięci i Quake, to może spróbujmy pokiero-
masowych (SCSI, SATA, RAID) oraz kart wać dużą firmą transportową. Simutrans Testy
sieciowych (NAC). W naszej rozmowie to świetna gra ekonomiczna, wzorowa-
skupiliśmy się na wsparciu wymienionych
produktów w systemach linuksowych.
na na nieśmiertelnym Transport Tycoon
Deluxe.
78 YOPY YP3700
Michał Niwicki

www.lpmagazine.org 5
aktualności
opis CD/DVD CD A / DVD B

Recovery Is Possible (RIP)


Mozilla Firefox 1.0
Najnowsza wersja popularnej
przeglądarki internetowej. Umożliwia
blokadę wyskakujących okienek
T radycyjne dystrybucje Linuksa koja-
rzą się nam z przyjaznym środowi-
skiem graficznym, szeregiem użytecznych
i w efekcie stanowiąca profesjonalne na-
rzędzie do ratowania systemu. Szanse ma
bardzo duże, gdyż za pomocą RIP-a bez
(ang. popups), panelowe przeglądanie programów do pracy i rozrywki oraz problemów naprawimy uszkodzone par-
stron oraz automatyczną instalację
niezbędnych wtyczek (ang. plugins).
mniej lub bardziej skomplikowaną pro- tycje systemowe, odzyskamy utracone
Posiada interfejs w języku polskim. cedurą instalacyjną. Jakie szanse ma za- dane, czy naprawimy pliki konfiguracyj-
http://www.firefox.pl/ tem system, który komunikuje się z użyt- ne już zainstalowanej, aczkolwiek z róż-
Simutrans kownikiem jedynie za pomocą zwykłego nych powodów niedziałającej dystrybu-
Gra strategiczno-ekonomiczna terminala i w którym nie ma użytecznych cji Linuksa. Ta dystrybucja posiada wspar-
polegająca na rozbudowie aplikacji biurowych? Taki właśnie jest RIP cie dla różnych systemów plików, m.in.
infrastruktury drogowej, kolejowej
– dystrybucja wyposażona w liczne apli- ext2, ext3, iso9660, ntfs, umsdos, reiserfs
i morskiej. Zadaniem gracza jest
budowanie połączeń między kacje służące do odzyskiwania danych oraz vfat.
fabrykami i miastami w celu
zapewnienia jak najlepszego
transportu towarów i ludzi. QEMU
http://www.simutrans.de/
Nessus 2.2.0
Program jest zaawansowanym
Q EMU to darmowa wersja prostego
i szybkiego emulatora procesora.
Potrafi pracować w dwóch trybach: peł-
wersja programu pozwala emulować pro-
cesory: i386, ARM, SPARC i PowerPC, ale
twórcy QEMU zastrzegają, że prace zwią-
skanerem bezpieczeństwa. To
kompleksowe narzędzie służy do nej emulacji systemu (full system emula- zane z ich emulacją są jeszcze w fazie te-
wykrywania ewentualnych luki tion) oraz w trybie użytkownika (user mo- stów.
w systemie bezpieczeństwa sieci de emulation). Godnym uwagi jest fakt, że QEMU
komputerowych. Wykorzystuje
kilka tysięcy znanych reguł ataków Pełna emulacja pozwala na urucho- potrafi emulować różnoraki sprzęt. Dzię-
najczęściej wykorzystywanych mienie różnych systemów operacyjnych ki temu użytkownik nie tylko może uru-
do przejęcia kontroli nad obcym bez konieczności restartowania kompu- chomić system operacyjny wewnątrz in-
systemem. tera – wystarczy, że na wejściu progra- nego systemu, ale także wskazać urządze-
http://www.nessus.org/
mu podamy jako parametr nazwę pliku nia i ich parametry, które mają być rozpo-
Nmap 3.75 zawierającego obraz systemu, który chce- znawane przez ten system (np. karty sie-
Profesjonalny skaner sieciowy.
Umożliwia kontrolowanie i badanie
my uruchomić, oraz wskażemy, dla jakie- ciowe, karty dźwiękowe itp).
wybranych urządzeń sieciowych go urządzenia był ten obraz przeznaczony Na płycie CD znajdziecie obrazy
poprzez protokół IP. Potrafi rozpoznać (dyskietka, cdrom, dysk twardy). dwóch systemów, które można urucho-
prawie 1500 systemów operacyjnych Tryb użytkownika jest przeznaczony mić za pomocą QEMU: FreeDOS oraz
i ponad 2000 tysiące portów.
http://www.nmap.org/
do uruchamiania aplikacji przeznaczo- Mandrakelinux 10.0.
nych dla różnych procesorów. Obecna http://www.qemu.org/
OpenSSH 3.9
Darmowy program realizujący
szyfrowane połączenia między
dwoma komputerami. Zapewnia
bezpieczeństwo przesyłania
danych, autoryzację połączeń oraz
autentykację.
http://www.openssh.org/
John the Ripper 1.6
Narzędzie służące do wykrywania
słabych haseł. Potrafi łamać hasła
dostarczone w wielu formatach (DES,
MD5, Blowfish, NT LM).
Snort 2.2.0
Jest to sieciowy system wykrywania
włamań. Dostarcza wszelkich
niezbędnych informacji
o podejrzanych działaniach w sieci.
Umożliwia łatwiejszą analizę danych
niż w przypadku programu Tcpdump.
http://www.snort.org/
TuxSaver 1.0
Atrakcyjny wygaszacz ekranu 3D.
Przedstawia sceny z życia pingwina na
bezludnej wyspie. Umożliwia również
tworzenie własnych scenariuszy.

Morphix pod QEMU

8 styczeń 2005
aktualności
opis CD/DVD CD B / DVD B

Trustix Secure Linux 2.2


Mozilla Firefox 1.0
Najpopularniejsza na świecie
przeglądarka internetowa
oparta o silnik renderujący
T rustix to bezpieczna dystrybucja Li-
nuksa, zoptymalizowana pod kątem
pracy na serwerach. Zawiera starannie
Gecko. dobrane oprogramowanie, umożliwiają-
http://www.mozilla.org/products/
firefox/central.html ce uruchomienie serwera WWW, serwe-
ra poczty, bazy danych i wielu innych. Na
VLC 0.8.1
Konkurencyjny do MPlayer-a
rynku dostępnych jest wiele dystrybucji,
i Xine odtwarzacz filmów, wraz ze o których producenci mówią: bezpieczne.
Ekran powitalny instalatora Trustiksa
wszystkimi niezbędnymi kodekami. Czym wyróżnia się Trustix? Zasadniczo,
http://www.videolan.org/vlc dwoma elementami: wielkością i sposo-
Python 2.4c1 bem aktualizacji. – PostgreSQL 8.0.0beta4,
Jeden z najpopularniejszych W przypadku systemów serwero- – Samba 3.0.7.
języków skryptowych na świecie.
wych chyba wszyscy są zgodni – rozmiar
http://www.python.org
jest istotny. Im dystrybucja po instalacji Ponieważ Trustix jest dystrybucją typo-
Linux 2.6.9 jest mniejsza, tym lepiej. Takie dbanie wo serwerową, nie znajdziemy w niej
Jądro systemowe w najnowszej
wersji. Warto dokonać o rozmiar ma swoje uzasadnienie środowiska X Window. Zaskoczeni bę-
aktualizacji, chociażby z uwagi – mniejsza ilość oprogramowania na- dą również Ci, którzy są przyzwyczajeni
na mechanizm kexec. rażonego na błędy, mniej czasochłon- do najpopularniejszego linuksowego me-
http://www.kernel.org na aktualizacja i większy porządek nedżera plików, czyli programu Midnight
Ethereal 0.10.7 w systemie, a tym samym prostsza admi- Commander – po prostu brak go. Jednak
Popularny sniffer, czyli nistracja. Trustix ma się czym pochwa- wszyscy Ci, którzy największy nacisk kła-
program przechwytujący
lić. Po domyślnej instalacji, nie zawiera- dą na bezpieczeństwo i zastanawiają się
dane krążące w zamkniętych
sieciach LAN. jącej różnego rodzaju serwerów, zajmuje nad dystrybucją Linuksa przeznaczoną na
http://www.ethereal.com niewiele ponad 100 MB i zawiera tylko serwer produkcyjny, będą zadowoleni.
Firewall Builder 2.0.3 i wyłącznie aplikacje niezbędne do dzia- W tym miejscu dochodzimy do kolej-
Najnowsza wersja programu, łania systemu. Dzięki starannemu dobra- nej ważnej rzeczy – Trustix nie jest sys-
którego graficzny interfejs i wygoda niu wszelkiego rodzaju zależności po- temem dla początkujących administrato-
użycia pozwolą nam zaprojektować
między pakietami, nie będziemy mieli rów. Pomimo łatwej do przeprowadzenia
firewalla marzeń.
http://www.fwbuilder.org sytuacji, gdy instalując którąś z aplikacji, instalacji (znana z Red Hata/Fedory i Au-
zostanie zainstalowana również ogrom- roksa Anaconda działająca w trybie tek-
PPRacer 0.2
Pingwin w nietypowym wyścigu na ilość innych, z których prawdopo- stowym), sama administracja systemem
z czasem. dobnie nigdy nie będziemy korzystać. wymaga pewnej znajomości Linuksa.
http://www.planetpenguin.de/ Drugim ciekawym elementem jest Mam tutaj na myśli znajomość chociażby
bereich-20.html narzędzie do aktualizacji systemu o na- podstawowych komend systemowych (ls,
Nessus 2.2.0 zwie Swup (The Secure SoftWare Upda- ps, grep, vi, kill ) i aplikacji (vi), jak rów-
Profesjonalny program do robienia ter). Dzięki temu oprogramowaniu prze- nież umiejętność czytania podręczników
audytów bezpieczeństwa, zarówno
prowadzimy bezpieczną aktualizację sys- systemowych (man) i ręcznej edycji pli-
w małych, jak i dużych sieciach
LAN. temu (obsługa protokołów http, https, ftp ków konfiguracyjnych.
http://www.nessus.org i file, również z autoryzacją, integracja Trustix Linux 2.2 to profesjonalna
Freeciv z GnuPG), zainstalujemy dodatkowe opro- dystrybucja, dzięki której administrato-
Darmowa wersja wielkiego gramowanie bądź usuniemy te, z któ- rzy nauczą się więcej niż na innych, bar-
hitu lat 90. Budujemy własną rego już nie korzystamy. Przejdźmy do te- dziej przyjaznych początkującym, dystry-
cywilizację.
go, co uwielbiają zarówno administrato- bucjach, a zaawansowani administratorzy
http://www.freeciv.org
rzy sieci, jak i zwykli użytkownicy Linuk- poczują się bardziej bezpieczni. Wydaje
Snort 2.2.0 i 2.3.0RC1 sa – omówienia oprogramowania zawar- mi się, że warto zainstalować Trustiksa
Popularny program przyjazny
dla administratorów sieci, mniej
tego w dystrybucji. Na Trustiksa składa- z jeszcze jednego powodu. W natłoku naj-
przyjazny dla włamywaczy. Innymi ją się m.in: różniejszych dystrybucji przedstawianych
słowy – wykrywacz wszelkiej maści jako serwerowe, które po instalacji wita-
intruzów. – jądro 2.4.27 z licznymi dodatkami, ją nas fajerwerkami graficznymi i spra-
http://www.snort.org
zwiększającymi jego bezpieczeństwo, wiają wrażenie powolnych, Trustix nie-
ATI 3.14.6 i NVIDIA 1.0-6629 – Apache 2.0.52, sie ze sobą ducha Linuksa sprzed lat. Ta-
Sterowniki do popularnych kart
– IPTables 1.2.11, kiego, którego pamiętają tylko Ci najstar-
graficznych.
http://www.ati.com – MySQL 4.1.7, si, i tego, którego ostatnim dystrybucjom
http://www.nvidia.com – OpenSSH 3.9p1, tak bardzo brakuje. Zapewniam Cię dro-
– OpenSSL 0.9.7e, gi Czytelniku, że warto poczuć ten kli-
– PHP 5.0.2, mat. Na płycie DVD B dostępny jest ob-
– Postfix 2.1.5, raz ISO systemu.

10 styczeń 2005
opis DVD DVD A

Aurox 10.1 Quicksilver – europejska dystrybucja Linuksa

N
a początku grudnia zakoń- Pierwsze wrażenie
czono prace związane z wy- Nieczęsto spotykamy się z sytuacją, w której
Wymagania systemowe:
Wymagania minimalne Auroksa 10.1dla
daniem nowej wersji Aurok- jakiś produkt zachwyca nas od samego
pracy w trybie tekstowym:
sa o nazwie kodowej początku. Tak właśnie jest z nowym Aurok-
Quicksilver. Jak się okazało, ta dystrybu- sem! Już na wstępie naszym oczom uka- • procesor zgodny z Pentium, zaleca-
cja, bazująca w dużym stopniu na Fedo- zuje się instalator komunikujący się z nami ny 200 MHz lub lepszy
rze, wyprzedziła ją pod wieloma wzglę- w dowolnym europejskim języku. Prosta • pamięć 64 MB
dami, stając się w coraz większym stop- procedura instalacyjna i równie łatwa kon-
Do pracy w trybie graficznym są potrzebne:
niu niezależnym produktem. Usunięto figuracja szybko pozwala nam rozpocząć
wiele błędów, wykorzystano nową wersję pracę z nowym systemem. • procesor: zalecany 400 MH
instalatora (Anaconda 10) oraz zaktuali- Standardowo, do dyspozycji mamy Pentium II lub lepszy
zowano lub dodano wiele nowych pakie- szereg aplikacji przydatnych do pracy • pamięć: minimum 128 MB,
tów. Część oprogramowania zastąpiono w biurze (OpenOffice.org, Evolution, prze- zalecane 256 MB
w pełni funkcjonalnymi odpowiednika- glądarka Firefox), liczne programy eduka-
Niezbędne wolne miejsce na dysku:
mi, bez ograniczeń patentowych narzu- cyjne (KmPilot, Kalzium) i rozrywkowe
canych w USA. Jednocześnie programiści (Ziemniaczany facet). Dodatkowo, w Auro- • instalacja minimalna: 1 GB
Auroksa dodali wiele skryptów ułatwia- ksie 10.1 znajdziemy wiele programów mul- • serwer: minimum 1.1 GB
jących instalację dodatkowych sterow- timedialnych, służących do słuchania i kom- • biuro, szkoła i dom: 3 GB
ników, których nie można było włączyć ponowania muzyki (GLAME, Audacity), • stacja robocza: 3,5 GB
do standardowej procedury instalacyjnej oglądania filmów (MPlayer, Xine) oraz • wszystkie pakiety: 8 GB
(NVidia, ATI). pracy z plikami graficznymi (GIMP). Miłym
Dodatkowo wymagane jest miejsce
W nowym Auroksie poprawiono zaskoczeniem jest łatwa instalacja dodatko-
na dane użytkownika.
także wszelkie błędy związane z prawi- wych programów i sterowników.
dłową detekcją sprzętu. Dzięki zastąpieniu
statycznego deva dynamicznym udevem Instalacja dodatkowych nie instalowanym środowiskiem graficz-
oraz dodaniem szeregu aplikacji, które pakietów nym jest X.org. Użytkownik ma także do
z nim współpracują (hotplug, hal, gamin Twórcy Auroksa postarali się o to, aby wyboru dwa popularne środowiska graficz-
oraz gnome-volume-manager), możliwe użytkownik systemu nie miał najmniej- ne: KDE 3.3.1 oraz GNOME 2.8.1. Dodatko-
jest automatyczne dodawanie i konfigura- szych kłopotów z instalacją sterowników wo, możliwe jest skorzystanie z lekkich
cja urządzeń, takich jak np. aparaty cyfro- kart graficznych (Nvidia, ATI), modemów, menedżerów okien typu FluxBox czy Win-
we czy zewnętrzne karty pamięci. obsługi partycji NTFS, czy uruchomieniem dowMaker. Do dyspozycji mamy również
Dużym atutem Auroksa jest łatwość aplikacji Flash i Java. Specjalnie przygo- pakiet biurowy OpenOffice.org 1.1.2 oraz
instalacji, konfiguracji oraz prostota obsłu- towane skrypty pozwolą jednym polece- program do poczty elektronicznej i zarzą-
gi systemu. W efekcie, osobom przyzwy- niem dodać najbardziej potrzebne biblio- dzania kalendarzem/kontaktami – Evolu-
czajonym do używania innych syste- teki i programy, dzięki czemu nawet osoby tion 2.0.2.
mów operacyjnych, migracja na Linuk- stawiające pierwsze kroki w Linuksie usły-
sa nie powinna sprawić trudności. Co szą z głośników dźwięk w formacie mp3 Podsumowanie
więcej, programistom udało się z suk- i obejrzą filmy avi. Jak cię widzą, tak cię piszą – brzmi popu-
cesem stworzyć platformę nadającą się larne powiedzenie. Koledzy z Auroksa
zarówno dla użytkowników stawiających Co jest w środku? przygotowali naprawdę ładną, łatwą, pro-
pierwsze kroki w świecie Linuksa, jak Dystrybucja Aurox Linux 10.1 pracuje pod fesjonalną i w pełni funkcjonalną dystrybu-
i dla ludzi, którzy tę fazę mają już za sobą kontrolą jądra w wersji 2.6.9-10. W związ- cję Linuksa. Polecamy ją wszystkim Czytel-
– Aurox 10.1 to nie tylko programy biuro- ku ze zmianami licencyjnymi XFree86, nikom Linux+. Na płycie DVD znajduje się
we. ale także szereg aplikacji sieciowych wiele dystrybucji nie chce dołączać naj- pełna wersja dystrybucji Linuksa, pakiety
i narzędziowych. nowszych wersji tego serwera, a domyśl- dodatkowe oraz źródła.

Aurox do nauki Aurox do zabawy Aurox do pracy

12 styczeń 2005
aktualności
opis DVD DVD B

Linux+ Live
Mandrakelinux 10.1 Official
Najpopularniejsza dystrybucja
Linuksa na świecie, szczególnym
uznaniem ciesząca się wśród
L inux+ Live to dystrybucja Linuksa zna-
na Czytelnikom Linux+DVD, urucha-
miana z płyty DVD i nie wymagająca in-
początkujących użytkowników stalacji na dysku twardym. W tym miesiącu
Linuksa. Aby zainstalować
Mandrakelinux 10.1 Official, przekazujemy w Wasze ręce garść progra-
uruchom komputer z płytki mów związanych z bezpieczeństwem sieci:
DVD B, wpisz linux i naciśnij [Enter].
Jeśli podczas – Nmap – popularny skaner portów,
instalacji dodatkowego
oprogramowania system poprosi dzięki któremu wykryjecie słabe punk-
Cię o pierwszą, drugą bądź ty serwerów;
trzecią płytę CD, nie przejmuj – Ettercap – bardzo rozbudowany sniffer, Linux+ Live po uruchomieniu
się – wystarczy nasza płytka DVD, czyli podsłuchiwacz danych krążących
na której zawarte są dane wszystkich
trzech płytek instalacyjnych. Dobrej w zamkniętych sieciach LAN (posia- nia jest następująca: z każdym wysła-
zabawy! da dużą liczbę różnych wtyczek, które nym pakietem związany jest pewien
http://www.mandrakelinux.com/ czynią z niego prawdziwie szpiegow- licznik zawierający ,,czas życia''; jest on
DD_Rescue 1.10 ską maszynę); zmniejszany o jeden podczas przejścia
Program służący do odzyskiwania – Ethereal – kolejny sniffer, ale w prze- przez każdy router; gdy osiągnie zero,
danych. ciwieństwie do wymienionego przed pakiet jest zwracany do nadawcy jako
http://www.garloff.de/kurt/linux/
ddrescue/
chwilą Ettercapa, działa w trybie gra- ,,przeterminowany'').
ficznym i posiada mniejszą liczbę wty-
G4L 0.14
czek (idealny dla początkujących); Patrząc od strony technicznej, Linux+ Live
Ghost For Linux, czyli klon
znanego posiadaczom Windows – Airsnort – jeszcze jeden sniffer, ale jest oparty o jądro 2.6.7 i KDE 3.2.3. Dzię-
programu Norton Ghost. tym razem zupełnie inny od wymie- ki temu, wymienione wcześniej oprogra-
Dzięki niemu zrobisz nionych wcześniej, gdyż działa w za- mowanie wykorzystają również mniej za-
w łatwy sposób kopię swojej partycji.
mkniętych sieciach WLAN; awansowani użytkownicy.
http://freshmeat.net/projects/g4l/
– Ping – program wysyłający pakiet in- Pamiętajcie o jednym – jeśli chcecie
Freerails 20041011 formacji i żądający odesłania go do wykorzystać Ettercapa, Ethereala czy Air-
Klon kultowej gry Railroad.
Budujemy własną kolej. wysyłającego (pozwala zbadać istnie- snorta, spytajcie najpierw o zgodę admini-
http://freerails.sourceforge.net/ nie połączenia między komputerami, stratorów Waszej sieci. Podsłuchiwanie jest
drogę między nimi, czas potrzebny na nielegalne. Redakcja nie odpowiada za ja-
Aktualizacje
Aktualizacje dla systemu przejście pakietu oraz sprawdzać, czy kiekolwiek szkody wyrządzone przez wy-
Mandrakelinux 10.1. dany komputer pracuje w sieci); mienione oprogramowanie. Życzymy do-
http://www.mandrakelinux.com/ – Traceroute – program posiadający brej, a przede wszystkim rozważnej za-
WINE 20041019 funkcje podobne do tych oferowanych bawy!
Środowisko API Win32 przez program Ping (idea jego działa- http://live.lpmagazine.org/
na Linuksie.
http://www.winehq.org/
RIP 11.4 Damn Small Linux 0.8.3
System ratunkowy, uruchamiany
z płyty, zbliżony do System Rescue Bootowalna dystrybucja Linuksa, miesz-
CD. Zawiera oprogramowanie cząca się na płytce o wielkości karty kre-
przydatne każdemu posiadaczowi dytowej, zawierająca środowisko graficz-
komputera. ne i wiele przydatnych aplikacji? Cze-
Ballsmacker 1.0.0 mu nie. Z przyjemnością przedstawiam
Wirtualny bilard w środowisku 3D. Damn Small Linux – jedną z najmniej-
http://ballsmacker.sf.net/
szych dystrybucji Linuksa. Aż dziw bie-
Q DVD-Author 0.0.8 rze, jak wiele można zmieścić na prze-
Zamierzasz uwiecznić jakieś
strzeni 50 MB. Znajdziecie tutaj odtwa-
wydarzenie w postaci filmu na płycie
DVD? rzacz multimedialny XMMS, klienta pocz-
Dzięki Q DVD-Author uzyska on ty elektronicznej, klienta FTP, przeglądar- Kieszonkowy Linux
eleganckie menu. kę internetową, arkusz kalkulacyjny, edy-
http://qdvdauthor.sourceforge.net/
tor tekstu, komunikator internetowy oraz sposób na to, aby mieć swój ulubiony sys-
GIMP 2.2-pre2 menedżera plików. Jeśli dodamy do tego tem zawsze przy sobie. Nagrany na spe-
Najnowsza wersja najpopularniejszego możliwość instalacji na dysku twardym cjalnie przygotowanej płytce, zmieści się
programu graficznego w świecie
Open Source.
i urządzeniu PenDrive, wychodzi nam do portfela czy kieszeni. Rewelacja. Sys-
http://www.gimp.org/ obraz dystrybucji idealnej dla słabszych tem został umieszczony na płycie w for-
komputerów, wyposażonych w proceso- mie obrazu ISO.
ry 486 i wczesne Pentium. To wspaniały http://www.damnsmalllinux.org/

14 styczeń 2005
aktualności
aktualności news

News 3 x Novell
OpenBSD 3.6
Oczekiwana wersja 3.6 systemu
OpenBSD w końcu ujrzała światło
O statnio często, w różnych kontekstach,
wspomina się o firmie Novell, któ-
ra w stosunkowo niedługim czasie, dzięki
dzienne. Główne nowości w stosunku
do poprzedniej wersji to wsparcie swojej zdecydowanej strategii na rynku IT,
dla nowej platformy sprzętowej stała się linuksowym potentatem.
luna88k, obsługa wielu procesorów na Nic dziwnego, że to właśnie Novell po-
platformach i386 i amd64, zwiększona czuł się w obowiązku odeprzeć zarzuty
wydajność i funkcjonalność NFS oraz
zwiększona funkcjonalność Border wystosowane przez Microsoft przeciwko Li-
Gateway Protocol Daemon. nuksowi w kampanii Get the Facts (Poznaj
http://www.openbsd.org/36.html fakty – przechrzczonej szybko przez śro- Novell na swojej stronie internetowej
Bristol na Open Source? dowisko Open Source na Get the FUD, od prostuje “fakty”
Władze miejskie Bristolu planują Fear, Uncertainty, Doubt, czyli Strach, Nie-
wyposażyć 5000 komputerów pewność i Zwątpienie). Specjalnie stworzo- dem SUSE wydaje się być całkiem dobrą al-
w oprogramowanie Open Source.
na w tym celu strona już w pierwszych sło- ternatywą.
Ostateczne decyzje zostaną pojęte
dopiero po debacie na posiedzeniu rady wach nie pozostawia wątpliwości co do te- Kilka dni po premierze strony interneto-
miasta. Zmiany miałyby objąć 5000 go, że Novell nie ma zamiaru łatwo odda- wej odpierającej zarzuty Microsoftu, w ser-
komputerów, na których pojawiłby się wać pola: W ostatnim czasie opublikowano wisach linuksowych znów pojawiła się na-
zintegrowany pakiet StarOffice 7 firmy
opinie podważające przydatność systemu zwa firmy Novell. Niejakim zaskoczeniem
Sun Microsystems, zamiast dotychczas
używanych programów Corel Word Linux do zastosowań w przedsiębiorstwach. dla wielu była informacja o odejściu jedne-
Perfect, Lotus 1-2-3 oraz Microsoft Office. Informacje zebrane w tym miejscu pomogą go z jej głównych menedżerów, Chrisa Sto-
Zgodnie z wyliczeniami urzędników, lepiej zrozumieć motywację, jaka stoi za ty- ne'a, który, jak mówi, postanowił poświęcić
przejście na oprogramowanie Open
mi opiniami, i właściwie ocenić rzeczywi- się teraz innym wyzwaniom zawodowym.
Source pozwoliłoby zaoszczędzić ponad
milion funtów w ciągu najbliższych stą wartość Linuksa dla sieci korporacyjnej. Chris był głównym autorem strategii linuk-
pięciu lat. Zaraz po tym autorzy przechodzą do rze- sowej Novella – to głównie dzięki jego sta-
http://www.computerweekly.com/ czy – w pięciu kolejnych rozdziałach, za- raniom i pracy Novell przejął najpierw fir-
articles/article.asp?liArticleID=134508&
tytułowanych kolejno: Dlaczego lepiej wy- mę Ximian, producenta oprogramowania
liArticleTypeID=1&liCategoryID=6&liC
hannelID=1&liFlavourID=1&sSearch= brać Linuksa, a nie Windows, O czym Mi- Open Source, a następnie SUSE, producen-
&nPage=1 crosoft nie mówi, Nadeszła pora na Linuk- ta znanej komercyjnej dystrybucji Linuksa.
Koders.com sa, Chodzi o swobodę wyboru oraz Dlacze- To właśnie za kadencji Stone'a Novell stał
Pod adresem Koders.com można znaleźć go jeśli Linux, to Novell?, punkt po punk- się potentatem na rynku oprogramowania
nowy projekt będący wyszukiwarką cie podważają argumentację firmy z Red- Open Source, wykorzystując pewne nie-
źródeł oprogramowania Open Source.
mond, zawartą w jej (nie)sławnej kampanii zdecydowanie ze strony konkurencji, głów-
Ma ona ułatwić pracę programistom,
którzy będą mogli porównać, jak dany informacyjnej. Novell przekonuje, że Linux, nie Sun Microsystems. Dzięki swojej platfor-
problem, który napotkali w swojej to nie tylko niskie koszty, ale również bez- mie opartej na SUSE i Ximianie, Novell rzu-
pracy, rozwiązali inni. Oprócz słów pieczeństwo i przyszłość. Firma nie omiesz- cił rękawicę Microsoftowi na rynku korpo-
kluczowych, kryterium wyszukiwania
kała przy tym wspomnieć o swoim progra- racyjnym. Nie wydaje się, aby odejście Sto-
może być język programowania
i licencja, na której kod jest dostępny. mie zabezpieczenia klientów przed roszcze- ne'a miało wpłynąć na zmianę strategii fir-
Serwis Newsforge przeprowadził niami patentowymi. Oczywiście, linuksową my – Novell w każdym razie zdecydowanie
wywiad z twórcą tego projektu, alternatywą dla platformy Microsoftu jest zapowiada kontynuację.
Darrenem Rushem
w tym dokumencie niemal zawsze komer- Trzecia informacja dotyczącą Novella
http://www.newsforge.com/
article.pl?sid=04/11/01/1927212 cyjna dystrybucja SUSE, przejęta niedawno jest chyba najbardziej interesująca dla samej
przez Novella. Trudno się temu dziwić – za- firmy. Na drugiej dorocznej imprezie Tech
Novell Linux Desktop
Novell ogłosił niedawno, że jego nowy równo kampania Microsoftu, jak i kontratak Innovators czasopismo VARBusiness przy-
produkt, oparty na SUSE 9 Novell Novella, są skierowane przede wszystkim znało Novellowi nagrodę "Największy in-
Linux Desktop 9, jest już dostępny. Jest do klienta korporacyjnego, który potrzebu- nowator w dziedzinie sytemu Linux w ro-
to system przeznaczony dla klienta je rozwiązań sprawdzonych w warunkach ku 2004" (2004 Top Innovator Award for Li-
korporacyjnego i dostępny jest wraz
ze wsparciem technicznym, a także produkcyjnych oraz wsparcia techniczne- nux) za jej system SUSE LINUX Enterpri-
szkoleniami dla pracowników. Dostępny go ze strony producenta. Pod tym wzglę- se Server 9. Pakiet SUSE LINUX Enterprise
ma być w sieci sprzedaży partnerów Server 9 znalazł się wśród 460 produktów
Novella. Jego sugerowana cena to $50 zgłoszonych do konkursu przez 50 dostaw-
wraz z rocznymi uaktualnieniami
i poprawkami. Za darmo dostępna jest ców produktów informatycznych dla przed-
trzydziestodniowa wersja próbna siębiorstw.
(trzy obrazy ISO). Oby więc Novell nie zwalniał tempa
http://www.novell.com/products/desktop/ – dla dobra Linuksa...
eval.html
Między innymi dzięki przejęciu firmy
SUSE, Novell stał się linuksowym http://www.novell.com/linux/truth/
potentatem
http://7thguard.net/news.php?id=4198

16 styczeń 2005
news@lpmagazine.org dział prowadzi: Witold Kieraś

Diabełek powraca – FreeBSD 5.3 News

D ługo oczekiwane nowe wydanie naj- Nawigacja GPS na Linuksie


TomTom GO to system nawigacji
popularniejszego systemu z rodziny samochodowej GPS, działający
BSD, FreeBSD 5.3, jest już dostępne. Jak w oparciu o Linuksa. Można dzięki
podkreślają deweloperzy, jest to pierw- niemu korzystać z dwuwymiarowego
sze stabilne wydanie z gałęzi 5.x – stabilne oraz trójwymiarowego widoku
drogi, a także z systemu
w sensie produkcyjnym, tzn. nie testu- informowania kierowcy (zarówno
je się w nim nowych rozwiązań technolo- Demon Beastie to maskotka systemu przy pomocy tekstu, jak i głosu)
gicznych, ale dostarcza system gotowy do FreeBSD o kierunku jazdy. Urządzenie można
wdrażania. Do tej pory twórcy zalecali, ja- zamontować na tablicy rozdzielczej
lub przedniej szybie samochodu,
ko stabilniejszą, gałąź 4.x systemu. sko programistyczne zostało uaktualnione a producent twierdzi, że jest to
Od dość dawna FreeBSD pozostaje do GCC 3.4.2, Binutils 2.15 i GDB 6.1. Do najmniejsze tego typu urządzenie
w cieniu Linuksa, jako ten drugi system ty- ciekawych nowości należy też z pewnością dostępne obecnie na rynku.
pu Open Source. Dzieje się tak głównie za możliwość korzystania z niektórych kart http://www.linuxdevices.com/articles/
AT6929528271.html
sprawą tego, że FreeBSD skupiło wokół sie- sieciowych przy wykorzystaniu sterowni-
bie mniejszą społeczność – zarówno dewe- ków dla MS Windows. Udało się również Za duży wybór?
W serwisie Newsforge ukazał się
loperów, jak i użytkowników. Wśród sys- podnieść wydajność systemu na maszy-
artykuł Vinoda Vijayarajana pt.
temów z rodziny BSD to właśnie FreeBSD nach wieloprocesorowych. Too many cooks in Linux? Autor
uchodzi za najlepiej rozwinięty i najbardziej FreeBSD to bardzo ciekawa alterna- twierdzi w nim, że głównym
wszechstronny – jest niezwykle ceniony na tywa dla Linuksa. Zainteresuje z pewno- problemem dla osób migrujących
z monolitycznego systemu Windows
serwerach, ale ma też swoich zwolenników ścią również tych, którzy chcieliby się na-
na Linuksa jest zbyt duża liczba
w zastosowaniach biurkowych. Niezwykle uczyć czegoś więcej na temat systemów decyzji, jakie muszą podjąć jeszcze
liberalna licencja BSD pozwala na wyko- z rodziny Unix. Mimo zdecydowanie mniej- zanim zaczną pracować w nowym
rzystywanie jego kodu także w projektach szej popularności, FreeBSD ma też niemały środowisku. Najpoważniejszą jest
oczywiście wybór dystrybucji.
typu closed source, przez co FreeBSD ma wpływ na Linuksa – wystarczy wspomnieć
Postuluje stworzenie zbioru
swój wkład w rozwój komercyjnych syste- choćby dystrybucję Gentoo, której podsta- standardów dotyczących przede
mów, takich jak MacOS X czy Solaris. wowy mechanizm Portage wzorowany był wszystkim instalacji i procesu
Co nowego we FreeBSD 5.3? Znajdzie- właśnie na rozwiązaniach podpatrzonych konfiguracji systemu, aby nowy
użytkownik nie czuł się przytłoczony
my w nim między innymi serwer X.org w tym systemie.
brakiem zgodności dystrybucji
w wersji 6.7, a także środowiska graficz- http://www.freebsd.org/releases/5.3R/ Linuksa na płaszczyźnie interfejsu.
ne GNOME 2.6.2 i KDE 3.3.0. Środowi- announce.html Artykuł spotkał się ze zdecydowaną
krytyką czytelników – główną zaletą
Linuksa jest właśnie możliwość
Adobe a sprawa linuksowa wyboru, a rezygnowanie z niej
w imię upodabniania się do

A dobe Systems, znany producent opro-


gramowania, nie może pochwalić
się bogatą kolekcją programów działają-
dyrektor do spraw promocji produktów
w Adobe Systems, uważa, że linuksowe
wersje produktów jej firmy nie znalazły-
produktów MS wydaje się być tym,
czego obecni użytkownicy Linuksa
bardzo by sobie nie życzyli.

cych na platformie linuksowej. W zasa- by zbyt wielu kupców. Jej zdaniem Linux Przeciwko patentom w Unii
dzie jedynym rodzynkiem jest Adobe Re- to bardzo ciekawy rynek, ale na razie je- Georg Greve, prezydent Free
Software Foundation Europe,
ader, ale i tutaj nie jest najlepiej – wersja dynie dla branży programistycznej. Klien- wystosował list otwarty do
dla Linuksa jest mocno spóźniona w sto- tów zainteresowanych tworzeniem grafiki desygnowanego niedawno nowego
sunku do wersji dla Windows i Mac OS X. pod Linuksem jest zbyt mało, aby firmie przewodniczącego Komisji
Być może w niedługiej przyszłości to się opłacało się tworzyć wersję dużych apli- Europejskiej José Manuel'a Barroso.
Powołuje się on na badania
zmieni. Firma Adobe Systems przystąpi- kacji na tę platformę. Dodatkowo, konku- przeprowadzone przez poważne
ła do konsorcjum przemysłowego Open rencja ze strony produktów darmowych, firmy, jak PricewaterhouseCoopers
Source Development Labs, które zatrud- jak choćby GIMP, również, zdaniem Dez- oraz Deutsche Bank, dotyczące
nia m.in. Linusa Torvaldsa. Adobe, zgod- iel, zniechęca do takich posunięć. szkodliwego wpływu na gospodarkę
jakie niesie za sobą przegłosowanie
nie z informacjami, jakie zdobyli dzien- Firma Adobe Systems jest bardzo ta- dyrektywy o możliwości
nikarze serwisu CNET News.com, działa jemnicza, gdyż oficjalnie potwierdzi- patentowania oprogramowania,
w konsorcjum w grupie roboczej zajmują- ła jedynie przystąpienie do konsorcjum oraz zachęca do sprzeciwu wobec
cej się Linuksem w zastosowaniach biur- OSDL. Nie ulega jednak wątpliwości, że wprowadzenia patentów na
"wynalazki realizowane za pomocą
kowych. zaczęła się interesować Linuksem i chce komputera".
Firma zaprzecza jakoby chciała stwo- stworzyć dla siebie strategię postępowa- http://fsfeurope.org/projects/swpat/
rzyć linuksowe wersje swoich flagowych nia na tym rynku. Z pewnością najbliż- letter-20041101.en.html
produktów, takich jak Photoshop czy Illu- sze tygodnie przyniosą nam ciekawe in- http://7thguard.net/
news.php?id=4194
strator, a jedynie zapowiada uaktualnienie formacje na ten temat.
Adobe Readera do wersji 6.0, czyli takiej
jak dla Windows i Mac OS X. Pam Deziel, http://www.linux.pl/?id=news&show=1715

www.lpmagazine.org 17
aktualności
aktualności jądro linux

News Asynchroniczny podsystem kryptograficzny


Emulacja PS/2 dla myszy USB
problematyczna
Na LKML pojawił się problem
P odsystem dostarczający operacji kry-
ptograficznych jest dostępny w Linu-
ksie już od jakiegoś czasu. I chociaż
z obsługą myszy. Specjaliści od
USB i podsystemu wejścia, Greg spełnia swoje zadania dobrze, to nie jest
Kroah-Hartman i Vojtech Pavlik, idealny. Największym problemem jest je-
błyskawicznie zdiagnozowali go go synchroniczność – po wywołaniu
jako wynik włączenia w BIOS-
funkcji kryptograficznej, kod musi ocze-
ie emulacji PS/2 dla urządzeń
wskazujących podłączanych kiwać na jej wykonanie. Mogłoby się to
przez USB. Jest ona konieczna wydawać oczywiste, ale należy brać pod
o obsługi klawiatury i myszy uwagę sytuacje, w których szyfrowanie
w programie uruchomieniowym,
czy liczenie funkcji skrótu jest wykony-
przed załadowaniem Linuksa, Akcelerator kryptograficzny Sun Crypto
ale później stanowi problem. wane przez dodatkową kartę, tzw. akce-
Accelerator 1000 PCI Card
Sterownik PS/2 przejmuje tak lerator kryptograficzny. Czas, gdy akce-
emulowane urządzenie i nie oddaje lerator dokonuje przekształceń, procesor
go podsystemowi USB, co owocuje
marnuje na bezproduktywne czekanie. zestawienie transferu po szynie (np. PCI)
problemami z zapanowaniem nad
kursorem myszy. Okazało się, że Jest to tym większa strata, im szybszą jed- do urządzenia może zająć więcej czasu niż
stosowne łatki od pewnego czasu nostką CPU dysponujemy. sama operacja szyfrowania. W skrajnych
znajdują się w drzewie -mm, ale nie są Rozwiązaniem jest wprowadzenie przypadkach, krótkie pakiety szybciej zo-
włączane automatycznie – wymagają
asynchroniczności. Przekazawszy zada- staną przetworzone przez CPU niż przesła-
specjalnego parametru w linii
poleceń jądra. Deweloperzy zgodnie nie do wykonanie karcie rozszerzeń, pro- ne do karty. Podobne dylematy rozwiązy-
stwierdzili, że muszą jak najszybciej cesor może dalej wykonywać kod. Akce- wano już w przeszłości. Przykładem mo-
trafić do głównego drzewa i być lerator zakończywszy działanie informuje że być kopiowanie odebranych pakietów
aktywowane automatycznie.
jądro o tym fakcie. Sprzęt i oprogramowa- z buforów karty sieciowej do pamięci RAM.
http://lkml.org/lkml/2004/10/1/11
nie mogą działać równocześnie, uzysku- W przypadku większych porcji, jądro wy-
Odchudzenie sysfs
jąc pełną prędkość. korzystuje DMA, a małe pakiety są kopio-
Inną ciekawostką, która w końcu
trafiła do drzewa Linusa, jest łatka Rozszerzenia standardowej warstwy wane przez procesor – większy narzut cza-
nazwana sysfs backing store. Pozwala kryptograficznej o działalność asynchro- sowy rekompensuje zapamiętanie krótkich
ono zaoszczędzić pamięć marnowaną niczną podjął się Evgeniy Polyakov, wzo- pakietów w pamięci podręcznej proceso-
przez system plików sysfs. Znikanie
rując się na rozwiązaniu obecnym w sys- ra, co znacznie przyspiesza kolejne opera-
pamięci nie jest błędem tego systemu,
a jedynie konsekwencją używania temie OpenBSD. Łatka, którą zaprezento- cje na odebranych danych.
przez niego ogólnych wywołań VFS wał, umożliwia stworzenie kilku kolejek Wprowadzone rozszerzenie spotkało
do stworzenia hierarchii katalogów (dla każdego urządzenia kryptograficzne- się z ciepłym przyjęciem, bo jest krokiem
i plików. Takie podejście powoduje
go i obliczeń na procesorze), przypisywa- w kierunku zwiększenia możliwości kryp-
traktowanie przez VFS drzewa
/sys jak każdego innego punktu nie poszczególnych szyfrowanych sesji do tograficznych Linuksa. Pojawiły się prośby
montowania, wraz z wynikającymi konkretnych kolejek, migrację między ko- o stworzenie API dla przestrzeni użytkow-
z tego zagadnieniami cache'owania. lejkami, a nawet przekazywanie sesji mię- nika, zgodnego z tym obecnym w rodzi-
Obowiązująca dla sysfs filozofia
dzy urządzeniami – przydatne np. gdy nie systemów *BSD. Jest to oczywiście uza-
,,jeden plik - jedna wartość'' owocuje
olbrzymią ilością plików, katalogów jedno z nich dokonuje szyfrowania, a in- sadnione – nie ma sensu utrudniać prze-
i łączy symbolicznych, co potrafi ne cyfrowego podpisania. noszenia oprogramowania między platfor-
zmarnować spore ilości pamięci, która Wszystkie sesje kryptograficzne są za- mami. Dodatkowym plusem, przemawia-
znajduje się w fizycznej RAM i nie
rządzane przez proces szeregujący, dba- jącym za wspólnym interfejsem, jest umie-
może zostać przesłana na partycję
wymiany. jący o optymalne wykorzystanie do- jętność korzystania z niego przez biblio-
Łatka włączona do jądra tworzy stępnych zasobów. W najprostszej im- tekę OpenSSL. Gdyby interfejs powstał,
katalogi i pliki w /sys dopiero w plementacji przydziela on nowe zadania wszystkie napisane programy, używające
momencie dostępu do nich. Usuwa
w pierwszej kolejności tym urządzeniom, OpenSSL, niemal automatycznie uzyskały-
także te, którymi w ostatnim czasie
nikt się nie interesował. Autor na które mają najkrótszą kolejkę oczekujących by obsługę sprzętowych akceleratorów.
swojej maszynie testowej odzyskał 145 sesji. Asynchroniczne API poprzez system Pełne wykorzystanie asynchronicznego
megabajtów (sic!) pamięci, ale należy wtyczek daje dużą elastyczność dołączania API w jądrze pociąga za sobą konieczność
zaznaczyć, że dysponuje naprawdę
bardziej skomplikowanych algorytmów przepisania fragmentów kodu. Pojawiły się
ogromnym systemem z mnóstwem
urządzeń. przydziału zadań. Długość kolejek może obawy, że to ogromna ilość pracy, biorąc
Z tej zmiany zadowoleni powinni być uzależniona od szybkości dokonywa- pod uwagę stos IPSec. Jamal Hadi Salim
być zarówno właściciele większych, nia przekształceń przez dane urządzenie, a stwierdził jednak, że wymagane przerób-
bogato wyposażonych komputerów,
ta z kolei może być mierzona przez jądro ki nie są aż tak duże. Spora jest natomiast
jak i ci, którzy używają Linuksa
w zastosowaniach wbudowanych, przy załadowaniu modułu. Na wybór urzą- szansa szybkiego włączenia asynchronicz-
gdzie liczy się każdy bajt pamięci. dzenia mogą wpływać również inne czyn- nego, kryptograficznego API do jądra.
http://lwn.net/Articles/69523/ niki, np. długość pakietu przeznaczonego http://lists.logix.cz/pipermail/cryptoapi/
do zaszyfrowania. Okazuje się bowiem, że 2004/000165.html

18 styczeń 2005
kernel@lpmagazine.org dział prowadzi: Tomasz Torcz

Stos Linuksowych Modułów Bezpieczeństwa (LSM) News

M echanizm Linux Security Module


jest bardzo zaawansowany i daje
wiele możliwości zabezpieczania syste-
mentową. Daje to możliwość współpracy
czterech LSM, kosztem zwiększenia zaję-
tości pamięci i spowolnienia niektórych
Pakietowe nagrywanie płyt
Po długim okresie utrzymywania poza
jądrem, w końcu zostały włączone
zmiany umożliwiające pakietowe
mu przez odpowiednio napisane modu- operacji. nagrywanie płyt, tj. nagrywanie na
ły. Niektóre z powstałych rozszerzeń po- Standardowo, działanie Linux Secu- nośnikach optycznych, tak jak na
zwalają nawet zwiększyć funkcjonalność rity Modules polega na odwołaniu się dyskietkach. Po skojarzeniu napędu
z pseudourządzeniem, można je
Linuksa zaledwie ocierając się o bezpie- do konkretnego modułu w ostatniej fa-
podmontować i po prostu skopiować
czeństwo. Przykładem może być wspo- zie przyznawania dostępu do zasobu. pliki przeznaczone do nagrania.
mniany w zeszłym miesiącu moduł dają- W przypadku plików najpierw są spraw- Zalecany jest do tego system plików
cy dostęp do szeregowania czasu rzeczy- dzane uprawnienia pliku oraz ewentu- UDF, ale można użyć dowolnego
obsługiwanego przez Linuksa.
wistego zwykłym użytkownikom. Wy- alna możliwość jego otwarcia w trybie
Niedogodnością może być brak
korzystując LSM, można także w pew- odczyt/zapis (zależy to również od opcji obsługi błędów w bieżącej wersji
nym stopniu profilować działanie syste- montowania), a jeśli po tych standardo- sterownika, co wymusza używanie
mu. Daje on dostęp do wnętrza systemu wych testach użytkownik ma przyzna- w pełni sprawnych płyt CD.
i jest w miarę elastyczny, chociaż posia- ny dostęp, konsultowany jest LSM. Mo- Pełna losowość w /dev
da bolączkę, poważnie ograniczającą je- duł, kierując się sobie tylko znaną wie- Pliki reprezentujące urządzenia
go zastosowania. Jego konstruktorzy do- dzą, ma jeszcze szansę zabronić dostępu. w katalogu /dev są powiązane
ze sterownikami w jądrze przez
łączyli do wielu struktur danych, używa- W przypadku kilku załadowanych modu- dwa numerki, tzw. major i minor.
nych w jądrze, pole typu void * , które- łów, wystarczy brak zgody tylko jednego, Od dawna obowiązuje sztywne
go zadaniem jest przechowywanie da- aby dostęp nie powiódł się. przypisanie.
nych związanych z zabezpieczeniem da- Czy to dobry rozwiązanie? Inni de- Z punktu widzenia deweloperów jądra
przypisane na sztywno numery nie
nego obiektu. Dodajmy, że danych spe- weloperzy nie są do niego przekonani. mają większego sensu. Jest to zbiór
cyficznych dla bieżącego modułu LSM. Moduły nie wiedzące o sobie nawza- magicznych wartości, na które trzeba
I tu właśnie wpadamy na ograniczenie jem mogą zachowywać się w nieprzewi- uważać i łatwo przy nich popełnić
postawione przez autorów – nie można dziany sposób. A nieprzewidywalność błędy. Niektórzy za błąd uważają
przydzielenie dyskom SCSI tylko 4
w prosty sposób załadować dwóch LSM, jest ortogonalna do możliwości zapew- bitów na numerowanie partycji, co
gdyż ich wspólne, nienadzorowane od- nienia bezpieczeństwa. Z właściwym ogranicza maksymalną ich liczbę
wołania do pola informacyjnego w naj- rozwiązaniem wystąpił James Morris. do 16 (dyski IDE mogą mieć nawet 64
lepszym razie nie dadzą pożądanych re- Według niego nie należy dopuszczać partycje).
Pomysł odrzucenia przypisanych na
zultatów. W najgorszym mogą doprowa- do konieczności jednoczesnego stosowa- stałe numerków co jakiś czas pojawia
dzić do obniżenia bezpieczeństwa chro- nia kilku modułów bezpieczeństwa. się na liście dyskusyjnej twórców
nionych zasobów, a nawet niestabilno- Jedynym załadowanym powinien być Linuksa. Ostatnio przypomniał go
ści systemu. moduł SELinux. Był to pierwszy użyt- Carl-Daniel Hailfinger i obiecał nawet
stworzenie łatki, która przeniesie
Celowo uniemożliwiono proste zała- kownik szkieletu bezpieczeństwa LSM. numerki urządzeń w dziedzinę
dowanie dwóch modułów. Chcąc skorzy- W jego projekcie brano pod uwagę losowości. Pomoże to zlokalizować
stać z różnych LSM naraz, należy zaim- maksymalną elastyczność konfiguracji. sterowniki, które stworzono opierając
plementować w nich obsługę nakładania. SELinux działa na zasadzie narzucenia się na błędnych założeniach
dotyczących numerów urządzeń.
Wiąże się to z kolei z koniecznością napi- zasad określonych w polityce bezpie- Jest tylko jedno ale: aby działanie
sania kodu obsługującego wszystkie miej- czeństwa załadowanej do jądra z pli- systemu nadal było możliwe,
sca, w których następuje konsultacja jądra ku. Ustalanie jej jest dosyć elastyczne, wewnętrzne zdanie jądra co do
z modułami bezpieczeństwa. Jest ich bar- ale nie przewidziano wszystkich możli- numeracji musi pokrywać się
z zawartością katalogu /dev. Istnieją
dzo dużo, więc zazwyczaj autorzy zajmu- wości nadzorowania systemu, stąd po- co najmniej dwa mechanizmy,
ją się tylko swoim modułem, całkowicie wstanie innych niż SELinux modułów które to umożliwiają, zajmujące się
ignorując pozostałe. bezpieczeństwa. Morris starał się skiero- dynamicznym wypełnianiem tego
Nawet jeśli twórca pomyślał o wszyst- wać deweloperów raczej na dopisywa- katalogu: pseudo system plików devfs
(obecnie na wymarciu)
kich potrzebnych zaczepach (hooks) i ob- nie brakującej funkcjonalności do SELi- i zdobywający coraz większość
słudze nakładania innych modułów na nux niż tworzenie własnych, ograniczo- popularność udev. Obydwa
swój, powraca kwestia pojedynczego nych do jednej lub kilku funkcji modu- dbają o stworzenie plików-
pola informacyjnego. Współdzielenie go łów LSM. urządzeń na podstawie informacji
o numerach otrzymanej z jądra,
przez nałożone na siebie moduły wyma- Rozwiązanie to, chociaż wymusza więc aktualnej. Wymuszenie ich
ga sporego wysiłku. uznanie SELinux za podstawowy moduł używania może nie pasować
Spróbował temu zaradzić Serge Hal- bezpieczeństwa, jest zdecydowanie lep- użytkownikom przyzwyczajonym
lyn. Wykorzystał opcjonalne funkcje po- sze niż złożenie razem kilku słabo ze so- do statycznego /dev, których
systemy po wprowadzeniu
mocnicze nakładania do możliwie naj- bą współpracujących fragmentów nieza- losowości po prostu przestaną się
większej separacji modułów od siebie. leżnego kodu. uruchamiać.
Pojedynczy wskaźnik void * zamienił na
tablicę wskaźników, domyślnie czteroele- http://lwn.net/Articles/110432/

www.lpmagazine.org 19
aktualności
aktualności debian

News SkoleLinux
Debian Stable zaktualizowany
Joey Schulze ogłosił kolejną, trzecią już
aktualizację gałęzi stabilnej Debiana.
W zamieszaniu związanym z po-
jawieniem się rewolucyjnego
Ubuntu niektórym mogło umknąć,
Od wydania ostatniej aktualizacji
że jest to jedna z wielu dystrybucji
w listopadzie 2003 roku zebrało się
sporo poprawek bezpieczeństwa. bazujących na Debianie. Dokładnie,
Obecna aktualizacja, o nazwie 3.0r3, jedną ze 115 pochodnych Debiana.
poprawia 212 błędów bezpieczeństwa Wśród nich znajduje się także Skole-
w pakietach. Nowe obrazy
Linux. Niedawno ukazała się jego no-
instalacyjnych płyt Debiana zawierają
już wszystkie poprawki. wa wersja.
http://lists.debian.org/debian- SkoleLinux jest wyspecjalizowa- Administracja SkoleLinuksem poprzez
announce/debian-announce-2004/ Webmina
ną dystrybucją, powstającą głównie
msg00000.html
w Norwegii, przeznaczoną przede
http://www.debian.org/News/2004/
20041026 wszystkim do użytku w szkołach. mowego, dodając wiele programów
W chwili obecnej zespół pracujący nad przydatnych uczniom.
Problematyczna wersja
shareware XChat SkoleLinux ściśle współpracuje z de-
Giacomo Catenazzi zauważył, że weloperami Debiana skupionymi wo- Ciekawym i praktycznym rozwiąza-
na stronie WWW aplikacji XChat kół projektu debian-edu, więc można niem jest zastosowanie pośrednich
dostępna jest binarna wersja
praktycznie postawić znak równości serwerów terminali (stacji roboczych),
shareware programu dla systemu
Windows. Aby odblokować wersję między tymi dwiema odmianami. umożliwiających odciążenie głównego
shareware, należy uiścić odpowiednią SkoleLinux jest mieszaniną pakie- serwera w przypadku większych sie-
opłatę, ale kod źródłowy, wydany tów pochodzących z Debiana Woody, ci. Dla średniej wielkości szkół (dys-
na licencji GPL, nie zawiera
Sarge, wydania niestabilnego, a nawet ponujących 3 pracowniami po 15 sta-
kodu odblokowującego. Istnieje
prawdopodobieństwo, że może to być z serwisu backports.org (m.in. Sam- cji) oznacza to w praktyce konieczność
źródłem kłopotów dla Debiana. ba). Zastosowanie wielu źródeł pakie- posiadania jedynie czterech wydaj-
http://lists.debian.org/debian-legal/ tów jest częstym zabiegiem w wielu po- nych komputerów. Mocniejsze kompu-
2004/10/msg00357.html
chodnych Debiana, gdyż pozwala na tery mogą jednocześnie pełnić rolę sta-
http://lists.debian.org/debian-legal/
2004/10/msg00373.html korzystanie z funkcji, które są nieobec- cji dla nauczycieli, przy czym termina-
ne w wydaniu stabilnym. Dystrybucja le korzystające z ich zasobów nadal do
Spowolnienie list
dyskusyjnych Debiana
została przystosowana do pracy w śro- autentykacji i składowania plików wy-
Pascal Hakim ogłosił, że listy dowisku sieciowym oraz zawiera scen- korzystują serwer centralny.
dyskusyjne Debiana cierpią tralizowane narzędzia autoryzacji użyt- Instalacja, opierająca się na no-
z powodu wielu serwerów poczty, kowników, składowania plików i admi- wym instalatorze z Sarge, sprowadza
które nie przetwarzają wiadomości
wystarczająco szybko. Sytuację
nistracji. Zarządzanie systemem odby- się do odpowiedzi na kilka nieskom-
pogarszają dodatkowo wiadomości wa się z poziomu interfejsu WWW (wy- plikowanych pytań oraz wyboru pro-
wysyłane na listę ogłoszeniową korzystano w tym celu zmodyfikowa- filu. W każdym przypadku, użytkow-
(debian-announce), która posiada ny pakiet Webmin). Współpraca końcó- nik po instalacji dysponuje systemem
ponad 28 tysięcy subskrybentów.
Pascal ogłosił również, że grupa
wek sieciowych odbywa się przy po- praktycznie gotowym do użycia. Więk-
administratorów list wzbogaciła się mocy narzędzia LTSP, zdobywające- szość czynności administracyjnych od-
o osobę Corda Beermanna. go coraz większą popularność, co po- bywa się z wykorzystaniem specjalnie
http://www.redellipse.net/stuff/ zwala na wykorzystanie starych kom- dostosowanego Webmina. Aktualizacja
Debian/Lists/debian-announce_and_
thundering_herds.story
puterów, będących często na wyposa- oprogramowania z zastosowaniem me-
http://lists.debian.org/debian- żeniu szkół. chanizmów Debiana (apt) jest również
announce/debian-announce-2004/ SkoleLinux posiada cztery profile dziecinnie łatwa.
msg00000.html możliwe do zainstalowania: SkoleLinux ze względu na swoją
Aktualizacja Sarge elastyczność, niskie koszty wdrożenia
Frank Lichtenheld ogłosił – główny serwer – działają na nim oraz łatwość administracji, nawet dla
rezultaty swojej pierwszej aktualizacji
usługi autentykacji, DHCP, DNS itp. początkujących użytkowników, wyda-
z Woodiego do Sarge na platformie
i386, a Andreas Barth podsumował oraz są składowane pliki użytkow- je się być idealną alternatywą dla go-
problemy dla wszystkich platform. ników; towych rozwiązań opartych o produk-
Niezgodność pomiędzy glibc – klient – terminal, korzystający z za- ty zamknięte i drogie, takich jak in-
i jądrem może sprawiać problemy
sobów innego komputera do uru- tensywnie promowany Small Business
również na architekturach hppa,
arm, sparc i mips(el). W przypadku chamiania swoich procesów; Server Microsoftu.
części z nich wystarczy najpierw – stacja robocza – umożliwia normal-
zaktualizować jądro. ną pracę i służy jednocześnie za http://www.skolelinux.org/
http://lists.debian.org/debian-kernel/
serwer aplikacji dla kilku klientów;
2004/10/msg00430.html
– komputer domowy – instaluje sys-
tem przeznaczony do użytku do-

20 styczeń 2005
debian@lpmagazine.org dział prowadzi: T. Napierała, B. Feński

Echa Ubuntu... News

Z
Aktualizacje Debiana
eszłomiesięczne wydanie dystrybu- ro osób uważa, że testowe wydania Debia-
przez BitTorrent
cji Ubuntu, czyli młodszego brata De- na są i tak bardziej stabilne niż finalne in- Arnaud Kyheng uruchomił dla Apta
biana, rozwijanego przez firmę Canonical nych dystrybucji. Taki projekt już istnieje serwer proxy do sieci Bittorrent. Ze
Inc., doprowadziło do szeregu dyskusji na i nazywa się Debian Desktop Distribution. względów bezpieczeństwa, wykaz
pakietów oraz pliki .torrent będą
temat modelu rozwoju samego Debiana. Jest rozwijany w ramach projektu Debian
ściągane ze stałego serwera HTTP,
Nikt nie ma wątpliwości, że Ubuntu to i właściwie realizuje wizję Clemensa po- tak jak zazwyczaj dzieje się to
spory krok naprzód względem orygina- przez rozluźnienie wymagań dla pakie- w przypadku pakietu, ale same
łu i naturalnym wydaje się ciekawość de- tów przechodzących z dystrybucji niesta- pakiety będą pobierane przez protokół
Bittorent i przekazywane do Apta.
weloperów i zadawanie sobie pytania, jak bilnej oraz przez plany regularnych wy-
http://lists.debian.org/debian-devel/
to możliwe, że kilkudziesięciokrotnie mniej dań. 2004/10/msg01715.html
ludzi (aniżeli wolontariuszy Debiana) było Marco d'Itri dla odmiany zaproponował
Jądro 2.6.9 w Sarge?
w stanie poczynić takie postępy w tak krót- usunięcie dystrybucji stabilnej i pozostawie- Andres Solomon ogłosił,
kim czasie. nie wydawania jej zewnętrznym firmom lub że w repozytorium przygotował
Z pewnością fakt, iż Canonical Inc. za- innym ludziom, którym nie brakuje entuzja- wymagane standardowe debianowe
trudnia programistów rozwijających dystry- zmu i motywacji. Ten pomysł jednak szyb- łatki dla jądra 2.6.9. W odpowiedzi
Christoph Hellwig zasugerował, aby
bucję (często również deweloperów Debia- ko upadł, bo stabilna linia to coś z czego najpierw zająć się doprowadzeniem
na) na pełny etat, nie pozostał bez znacze- Debian jest znany i za co jest ceniony. wersji 2.6.8 do lepszego stanu
nia. To oczywiste, że nie każdy poświę- Ubuntu wspiera trzy architektury, pod- dla Sarge. Gdy ten etap zostanie
ca tyle samo czasu na pracę, co na hob- czas gdy Debian wspiera ich aż 10, a pro- ukończony, to rozpocznie się etap
pracy nad 2.6.9.
by. Ale czy to jedyny powód dla którego wadzi prace nad przynajmniej dwoma ko- http://lists.debian.org/debian-kernel/
Ubuntu tak prężnie się rozwija? Jak zauwa- lejnymi. Sporo komentarzy dotyczyło ak- 2004/10/msg00355.html
żył Jérôme Marant, deweloperzy Debiana tywności członków projektu. Debian ma Nowy Skolelinux
używają głównie dystrybucji niestabilnej, co prawda ponad 1300 wolontariuszy, Petter Reinholdtsen przedstawił nowy
a z tego powodu często nie wiedzą, jaki ale część z nich to martwe dusze, a jesz- obraz CD Skolelinux. Zawiera on
jest stan testowej. Deweloperzy Ubuntu na- cze większa część jest co prawda aktyw- ostatnio wprowadzone aktualizacje
bezpieczeństwa, nowsze jądro
tomiast korzystają z dystrybucji, która przy- na, ale w stopniu, który ma raczej niewiel- i trochę nowych tłumaczeń. Baza
gotowywana jest do wydania, a więc sa- ki wpływ na postępy zbliżające wszystkich rozpoznawanego sprzętu również
mi mają okazję przekonać się o jej błędach, do kolejnego wydania stabilnego. została zaktualizowana.
a tym samym szybciej je poprawić. Do jakich wniosków doprowadziła http://www.skolelinux.org/portal/
index_html
Z tej dyskusji powstało kilka różnych ta dyskusja? Do takich samych, jak każ-
koncepcji. Jedną z nich było porzucenie da tak rozbudowana dysputa od ostat- Duży klaster Opteronów
działający na Debianie
dystrybucji testing w Debianie i mrożenie nich kilku miesięcy, a mianowicie, aby
Thomas Lange poinformował
dystrybucji niestabilnej. Część dewelope- skupić się na wydaniu Sarge, a na zmiany o nowym klastrze o nazwie Sarek,
rów sądzi, że to bardziej motywowałoby przyjdzie czas później. Reasumując, zmia- zbudowanym na procesorach AMD
ludzi do pracy, ale takie rozwiązanie było ny zapewne nastąpią, ale jak bardzo ra- Opteron i działającym na uniwersytecie
Umel. Składa się ze 192 węzłów
już kiedyś stosowane i niestety, działało na- dykalne będą, tego dzisiaj nie wie nikt,
(384 procesory), a pracuje na nim
wet gorzej niż obecne. bo i nie czas skupiać się na tym w chwi- 64-bitowa wersja Debiana GNU/Linux
Clemens Schwaighofer zaproponował, li obecnej. Cieszy natomiast fakt, że De- na amd64 z jądrem 2.6. Klaster został
aby oprócz linii testing, która w zamierze- bian mimo tego, że jego ostatnie stabil- w czerwcu 2004 roku sklasyfikowany
na miejscu 165 w rankingu TOP 500.
niu ma stać się wersją stabilną, stosować ne wydanie ujrzało światło dzienne po-
http://www.hpc2n.umu.se/resources/
migawki (ang. snapshots), które miałyby się nad 2 lata temu, nadal może być bazą dla sarek.html
pojawiać raz na pół roku. Z pewnością nie tak obiecujących projektów, jak Ubun-
GNOME 2.8 w Sarge?
oferowałyby one takiego bezpieczeństwa tu. Jeszcze bardziej pocieszające jest to, W imieniu zespołu GNOME, Jordi
i stabilności, jak choćby w tym momencie że już w tym momencie zaczęto część Mallach zapytał, czy może wgrać
Woody, ale byłyby aktualne. Ponadto, spo- zmian poczynionych przez Canonical Inc. GNOME w wersji 2.8 do unstable
przenosić do Debiana, a kilku ich pra- – wersja ta została wydana już we
wrześniu, gdy Sarge miał zostać
cowników zostało oddelegowanych, aby zamrożony. Ponieważ od tamtej
wspierać rozwój Ubuntu poprzez popra- pory omawiany zbiór pakietów
wianie niedociągnięć w samym Debianie. był poddawany testom i wielu
Wygląda na to, że powstanie omawia- użytkowników już go używa, wydaje
się być gotowy do włączenia do
nej dystrybucji przyniesie korzyści zarów- nowej wersji stabilnej Debiana. Grupa
no użytkownikom, którzy mogą już teraz zarządzająca wydaniem zgodziła się na
spróbować “doszlifowanej” wersji Debiana, włączenie GNOME 2.8.1 do unstable,
jak i macierzystemu projektowi, który prę- skąd może zostać przeniesiony
(częściowo lub w całości) do Sarge.
dzej czy później wchłonie te poprawki. http://lists.debian.org/debian-release/
Ubuntu – młodszy brat Debiana 2004/11/msg00067.html
http://www.ubuntulinux.org/

www.lpmagazine.org 21
aktualności
aktualności mandrakelinux mandrakelinux@lpmagazine.org dział prowadzi: Daniel Koć

News Q DVD-Author 0.8


Mandrakelinux 10.1 Official
27 października 2004 roku ukazało
się wydanie Mandrakelinux 10.1
Q DVD-Author to aplikacja do obróbki
menu samodzielnie przygotowywa-
nych płyt DVD. Jest to graficzna nakład-
Official. Jest ono praktycznie takie
samo, co opublikowane we wrześniu ka na tekstowy program Dvdauthor, który
wydanie Community, ale dodatkowo zajmuje się właściwą generacją menu.
zawiera zebrane w tym czasie Za pomocą Q DVD-Authora można
poprawki. Official można polecać projektować menu, tworzyć przyciski oraz
przede wszystkim użytkownikom
oczekującym stabilności, np. skalować i kolorować wszystkie obiekty.
administratorom serwerów oraz Każde menu można zilustrować ścieżką
boleśnie odczuwającym tzw. “syndrom dźwiękową, co na pewno ożywi przeglą- Q DVD-Author pomoże tylko w układaniu
wersji .0”, a pozostali mogą liczyć, że dy slajdów, które także da się w tym pro- menu, a o jego estetykę musimy już
aktualizacja do wersji Official poprawi zadbać sami...
błędy dystrybucji czające się dotąd gramie złożyć z kolekcji zdjęć. Bardziej za-
w cieniu. awansowane funkcje programu obejmu-
http://www.mandrakesoft.com/ ją importowanie warstw i kombinowanie mniej 3.2.0 oraz bibliotek Xine lub MPlay-
products/101 ich z obiektami menu za pomocą mecha- era. W dziale podręczników na stronie
Nowsze KDE i GNOME nizmu masek, znanego z programów gra- domowej znajdziemy samouczek do pro-
Wielu użytkowników Linuksa lubi ficznych. Do tej samej kategorii zalicza się gramu, opisujący tworzenie złożonego
mieć zainstalowane najnowsze
również możliwość ręcznej modyfikacji menu DVD dla systemów PAL i NTSC, po
wersje programów, zwłaszcza
tych biurkowych, gdyż stają się poleceń oraz plików XML, zawierających angielsku, francusku, niemiecku, polsku
one wyraźnie wygodniejsze opis naszego menu. oraz hiszpańsku.
i lepsze dosłownie z wersji Obecnie największe wady programu Instalacja Q DVD-Authora z wiersza
na wersję. Kalendarze wydań
to brak możliwości ustawiania filmów jako poleceń administratora następuje przez
aplikacji i dystrybucji nie zawsze
układają się korzystnie, więc przycisków menu oraz jako tła, a także brak wpisanie urpmi qdvdauthor, ale trzeba
Mandrakelinux 10.1Official wciąż obsługi wielu wersji napisów. Na szczęście, mieć dopisane do źródeł pakietów sekcję
zawiera środowiska KDE 3.2.x oraz te dwie pierwsze funkcje są planowane już Contrib z repozytorium Cooker.
GNOME 2.6.x, podczas gdy ukazało
w najbliższych wydaniach aplikacji.
się już KDE 3.3.1 oraz GNOME 2.8.1
– twórcy dystrybucji woleli postawić Najnowsza wersja programu wymaga http://qdvdauthor.sourceforge.net/
na jakość zamiast w ostatniej chwili do działania biblioteki Qt w wersji co naj-
dopuścić niedotestowane pakiety.
Jak zwykle w takich sytuacjach,
społeczność sama zadbała VLC 0.8.0
o nowe wersje i obie te nowinki
można zainstalować na własne
ryzyko z repozytorium pakietów
przygotowanych przez Thaca.
W gronie kilku najpopularniejszych
odtwarzaczy multimedialnych dla
Linuksa, obok MPlayera i Xine, znajduje
http://rpm.nyvalls.se/index10.1.html
się VLC (dawniej: VideoLAN Client). Po-
Wycieczka do Zoo
dobnie jak jego konkurenci, obsługuje
Najlepszym sposobem na poznanie
Wolnego Oprogramowania jest dużą ilość zarówno kontenerów multime-
osobisty, niezobowiązujący kontakt. dialnych (MPEG, AVI, MOV, Ogg, Matro-
Obok dystrybucji Linuksa startujących ska, Real, DV, WAV, AC3, DTS, FLAC), ko-
wprost z płyty CD, istnieje jeszcze
deków obrazu (DivX 1/2/3, Theora, WMV,
inny podobny sposób – emulacja. Free
OS Zoo to serwis zawierający obrazy MJPEG, Indeo), napisów, jak i źródeł od-
takich gotowych do uruchomienia twarzania (FTP, HTTP, RTP, MMS, kame- Konwersja do innych formatów czy
systemów operacyjnych. Do stworzenie w VLC lokalnego serwera
ry, DVB, DVD, VideoCD/SVCD); działa
eksperymentów zalecane jest multimediów jest bardzo prosta dzięki
także na kilku systemach operacyjnych. graficznemu asystentowi
przynajmniej 256 MB pamięci oraz
emulator QEMU, który według Wyjątkowym czyni go możliwość ob-
autorów strony zapewnia wydajność róbki i dalszego przekazywania strumie-
tylko od dwóch do czterech razy ni multimedialnych. Zasadnicze funkcje obsługę wielu źródeł oraz znacznie po-
gorszą niż podczas pracy systemu na
VideoLAN to przerabianie multimediów prawić przeszukiwanie strumieni, zo-
rzeczywistym sprzęcie, a więc całkiem
przyzwoitą. do plików w innym formacie oraz nada- stał przyspieszony start dzięki buforowa-
Wśród dostępnych obrazów znajduje wanie w sieci jako serwer multimedialny. niu wtyczek oraz poprawiony kod biblio-
się Mandrakelinux 10.0 na platformę Taka zresztą była jego pierwotna funkcja: teki libvlc i obsługi napisów. Można tak-
x86, który wymaga ściągnięcia
program powstał w École Centrale Pa- że uruchamiać VLC w tle, tak jak klasycz-
z sieci 355 MB – niestety, nie da się go
użyć pod Windows 9x na partycjach ris jako projekt studencki do nadawania ny serwer. Program jest dostępny w sek-
FAT 16/32. strumieni w sieciach lokalnych. cji Contrib repozytorium Cooker, instalu-
http://www.freeoszoo.org/ W najnowszej wersji VLC został mię- je się go z wiersza poleceń administratora
dzy innymi przepisany od nowa kod od- przez urpmi vlc.
czytywania danych, co ma pozwolić na http://www.videolan.org/vlc/

22 styczeń 2005
ktualności
aktualności aurox aurox@lpmagazine.org dział prowadzi: Karol Kozimor

Aurox Recommended Hardware


News

J ednym z najczęściej pojawiających się


pytań zadawanych przez nowych użyt-
dware. Ma on polegać na przeprowadze-
niu dokładnych testów na współpracę Au-
Nowości w Auroksie
W ostatnim czasie nastąpiły
kowników Linuksa jest, czy dystrybucja roksa z udostępnionym sprzętem, ewentu- w Auroksie poważne zmiany.
Z Aurox Core Team odszedł
X zadziała na moim sprzęcie. Choć Li- alne dostosowanie systemu do konfiguracji Jarek Górny. W imieniu ACT
nux potrafi już obsłużyć znaczną więk- oraz monitorowanie współdziałania z ko- chcielibyśmy podziękować mu za
szość urządzeń dostępnych na rynku, od- lejnymi wydaniami Auroksa. Szczegółowe wspaniałą atmosferę i stworzenie
powiedź na tak postawione pytanie nie za- raporty z testów oraz spis sprzętu objęte- warunków do powstania
zgranego zespołu. Po zamknięciu
wsze jest prosta i wymaga czasem długo- go programem będzie dostępny na stronie Auroksa 10.1 pojawiło się wiele
trwałych testów. Jest to szczególnie ważne http://www.aurox.org/. pytań o kształt dystrybucji i jej
w przypadku komputerów przenośnych, Do program Recommended Hardware model rozwoju. Zgodnie
z którymi Linux ciągle ma problemy. W ce- można zgłaszać nie tylko gotowe zestawy z przyjętym planem, cykl
rozwoju dystrybucji wydłuży
lu ułatwienia przyszłym użytkownikom komputerowe, ale również taki sprzęt, jak się do 4-5 miesięcy, co pozwoli
Auroksa wyboru komputera bezproblemo- drukarki, skanery, karty rozszerzeń oraz in- jeszcze dokładniej przetestować
wo współpracującego z tym systemem po- ne peryferia. Szczegółowe informacje moż- dystrybucję i znacznie
wstał program Aurox Recommended Har- na otrzymać pisząc na aurox@aurox.org. zminimalizować liczbę błędów.
W dalszym ciągu będą jednak
AmaroK w Auroksie wychodziły 4 wydania Auroksa
w roku, co oznacza, że przez

Z godnie z życzeniami użytkowników


w dystrybucji pojawi się pakiet od-
twarzaczem dźwięku AmaroK. Łączy on
lekcji plików, a także nagrać cały album
na CD za pośrednictwem K3b.
Duże możliwości odtwarzacza bio-
pewien okres rozwijane będą
dwie wersje Auroksa jednocześnie.
Aurox w pudełku
w sobie przyjazny interfejs aplikacji typu rą się w dużym stopniu z jego modular- Niedługo również pojawi się
w sprzedaży Aurox w wersji
WinAMP czy XMMS z łatwością manipu- nej architektury. W obecnej wersji odtwa-
pudełkowej. Będzie dostępny
lowania listami odtwarzania w takich pro- rzacz posiada wtyczki do obsługi Arts na DVD razem z 16-stronicową
gramach, jak JuK. AmaroK idzie jednak o (serwera dźwięku KDE), MAS (Media Ap- instrukcją. Płyta DVD będzie
o krok dalej, prowadząc własną bazę da- plication Server) czy GStreamera. Są też zawierała dodatki dostępne
dotychczas tylko na piątej płycie
nych odtwarzanej muzyki i rejestrując ta- wtyczki do obsługi wizualizacji czy pro-
wersji dołączanej do polskiego
kie dane, jak ilość czy data ostatniego od- tokołów sieciowych. Warta wspomnienia wydania pisma Linux+ Extra!.
słuchania. Na podstawie tych informacji jest zaawansowana obsługa tagów ID3 i Równolegle pojawi się też Aurox
są generowane automatycznie listy od- możliwość ich zbiorowej edycji. Dzięki preinstalowany na gotowych
zestawach komputerowych.
twarzania ulubionych utworów, ostatnio tym cechom AmaroK nadaje się doskona-
Pytajcie sprzedawców o pudełka
słuchanych czy też niesłuchanych w ogó- le nie tylko do odtwarzania muzyki, ale lub komputery z Auroksem! Po
le. Oprócz tego, odtwarzacz potrafi wy- też do zarządzania kolekcją. więcej informacji zapraszamy
szukać i ściągnąć nam okładkę albumu w na http://www.aurox.org/.
celu łatwiejszej identyfikacji bogatej ko- http://amarok.kde.org/ Aurox Security Team
Zapoczątkowana pewien czas
temu współpraca z Linux Academy
(http://www.linuxacademy.pl/ )
doprowadziła do powstania
Aurox Security Team (http://
www.auroxsec.org/ ), czyli zespołu,
który będzie na bieżąco śledził
wszelkie krytyczne błędy i dbał
o wypuszczanie poprawionych
wersji pakietów. Wszelkie błędy
związane z bezpieczeństwem
można już teraz zgłaszać na
http://bugs.aurox.org/
w dziale Security.
Ćwiczenia z Auroksem
Nakładem Wydawnictwa
MIKOM ukazał się podręcznik
“Ćwiczenia z... Aurox Linux”.
Podręcznik bazuje na
Auroksie 9.4 i na około 100
stronach ilustrowanych zrzutkami
omawia instalację, konfigurację
i używanie systemu oraz
Internetu.
http://www.mikom.pl/

AmaroK w Auroksie

www.lpmagazine.org 23
aktualności
aktualności gentoo gentoo@lpmagazine.org dział prowadzi: Witold Kieraś

News Gentoo na Linux World Expo


Programiści Javy poszukiwani...
Jeśli jesteś doświadczonym
programistą Javy, znasz dobrze J2EE
K onferencja Linux World Expo, któ-
ra miała miejsce niedawno w nie-
mieckim Frankfurcie, to jedna z najwięk-
i jesteś użytkownikiem Gentoo, to
wiedz, że twoja ulubiona dystrybucja szych imprez linuksowych skupiających
cię potrzebuje. W związku z rosnącym się na komercyjnych zastosowaniach sys-
zainteresowaniem aplikacjami w Javie temu spod znaku pingwina. Odwiedzi-
(mającą prawdopodobnie związek ła ją niebagatelna liczba piętnastu tysięcy
z powstaniem środowiska Eclipse)
i liczbą zgłaszanych błędów, Karl gości. Nie mogło zatem zabraknąć na niej
Trygve Kalleberg z Gentoo Java team przedstawicieli Gentoo. Nasza ulubiona
zgłosił ogromne zapotrzebowanie dystrybucja, za sprawą niemieckiej orga-
na takich programistów i wezwał nizacji non-profit Förderverein Gentoo e.V. Na konferencji nie zabrakło deweloperów
wszystkich chętnych do udzielenia Gentoo
pomocy grupie. (adres jej strony to: http://www.gentoo-
http://www.gentoo.org/news/en/gwn/ ev.org/ ), miała swoje stanowisko w pawi-
20041101-newsletter.xml lonie organizacji niekomercyjnych i pro- Z okazji konferencji, deweloperzy
... i Haskella również jektów społecznościowych. Zaprezento- przygotowali specjalne wydanie Gen-
W projekcie Gentoo również mile wano m.in. Gentoo na różnych platfor- too LiveCD dla architektury x86, nazwa-
widziani są programiści dobrze mach – od x86 i PPC, aż po Ultra-Sparc ne Fizzlewizzle, a z myślą o uczestnikach
znający język Haskell – język
czy Xeon. Najbardziej interesującą sprawą konferencji wzbogacone między innymi
funkcyjny oparty na rachunku
Lambda. dla odwiedzających stoisko Gentoo by- o niemiecką lokalizację KDE. Jest ono do-
http://www.gentoo.org/news/en/gwn/ ło ewentualne wydanie czegoś w rodza- stępne również w Internecie, wraz z przy-
20041025-newsletter.xml ju edycji serwerowej czy też Enterprise gotowaną do wydruku konferencyjną na-
KDE kawałek po kawałku Gentoo, która wyróżniałaby się stabilniej- klejką na płytę.
Gdy wykonujemy polecenie emerge szą wersją drzewa Portage, wygodniejszą http://download.iansview.com/gentoo/
kde, to po kilku godzinach oczekiwań
dla zastosowań produkcyjnych. Takie za- exhibitions/lwe-frankfurt/2004/livecd/
(w zależności od parametrów
naszego komputera), otrzymujemy potrzebowanie nie może dziwić, biorąc http://www.gentoo.org/news/en/gwn/
gotowe środowisko KDE z całym pod uwagę profil imprezy. 20041101-newsletter.xml
dobrodziejstwem inwentarza, tzn.
również z całą masą aplikacji,
które należą do projektu, a których Portage 2.0.51
nigdy nie zamierzalibyśmy użyć.
Dan Armak, znudzony ciągłym
dopytywaniem deweloperów
Gentoo, czy nie dałoby się czegoś
N owa wersja Portage, programu naj-
istotniejszego dla działania Gentoo,
przynosi więcej nowości niż należałoby
tencjalnie niebezpieczne, np. brak pliku
Manifest. Najbardziej restrykcyjny wariant
to FEATURES=”gpg severe strict” – Porta-
z tym zrobić, postanowił wziąć
sprawy w swoje ręce. Przygotował się tego spodziewać, wnioskując jedynie ge zaakceptuje tylko te pliki Manifest, któ-
zestaw nieoficjalnych ebuildów, z nieznacznej zmiany numeru wersji. re zostały podpisane kluczami uznanymi
pozwalających na instalację Po pierwsze, wprowadzono możli- przez nas za bezpieczne. Wariant drugi
pojedynczych aplikacji będących
wość automatycznego przekompilowania wydaje się być rozsądnym wyborem – nie
częścią KDE – dzięki nim można
np. wykonać polecenie emerge wszystkich programów po wprowadze- powoduje dodatkowych komplikacji (nie
konqueror lub emerge kmail niu zmian we flagach USE. Służy do te- jest uciążliwy dla użytkownika), a jedno-
i cieszyć się najnowszą wersją tylko go opcja --newuse – jeśli zmieniliśmy fla- cześnie chroni przed instalacją pakietów
tych wybranych aplikacji.
gi i chcemy, aby program Emerge znalazł zmodyfikowanych przez włamywaczy na
Gentoo Linux 2004.3 i przekompilował wszystkie programy, serwerze lustrzanym.
Zgodnie z kalendarzem które tego wymagają, to wystarczy wydać W nowych plikach ebuild można te-
wydawniczym, ukazała się niedawno
nowa wersja dystrybucji Gentoo, polecenie: emerge --newuse --update --deep raz definiować testy poprawności kompi-
sygnowana numerem 2004.3. To world. Portage obsługuje teraz również lacji wykonywane przed zainstalowaniem
ostatnie wydanie z 2004 roku nie sprawdzanie podpisów GPG zawartych programu w systemie. Aby uaktywnić tę
przynosi rewolucyjnych zmian. w plikach Manifest. Dostępne są trzy funkcję, dodajemy w pliku /etc/make.conf
Deweloperzy Gentoo od dłuższego
czasu skupiają się przede wszystkim poziomy bezpieczeństwa. Każdy moż- w zmiennej FEATURES flagę maketest.
na udoskonalaniu narzędzi na uaktywnić przy pomocy flagi zmien- Oprócz tego, poprawiła się wyraźnie
systemowych i płyt instalacyjnych. nej FEATURES w pliku /etc/make.conf. efektywność wyszukiwania zależności w
Gentoo 2004.3 wydano dla architektur I tak, jeśli chcemy włączyć tę funkcję w drzewie Portage. Jak twierdzą dewelope-
amd64, hppa, ppc, sparc, x86 oraz,
po raz pierwszy, dla ppc64. Obrazy najmniej restrykcyjnej wersji, to wystar- rzy, w nowej wersji proces ten zabiera za-
płyt instalacyjnych można znaleźć czy dodać w pliku make.conf linijkę: FE- ledwie jedną trzecią czasu, który potrzeb-
na oficjalnych serwerach lustrzanych ATURES=”gpg” . W tym wariancie Portage ny był dotychczas do wykonania tej czyn-
dystrybucji oraz w sieci BitTorrent. sprawdzi jedynie poprawność podpisu ności. Zachęcamy zatem do aktualizacji!
http://www.gentoo.org/proj/en/releng/
release/2004.3/2004.3.xml cyfrowego. Dodanie linijki FEATURES=”gpg
strict” zaostrzy reguły – program zare- http://www.gentoo.org/news/20041021-
aguje również na wszelkie sytuacje po- portage51.xml

24 styczeń 2005
bezpieczeństwo

Bezpieczne
łączenie się
z Internetem
Piotr Machej

J
eśli ktoś jeszcze wierzy, że w dzisiej-
szych czasach jego komputer podłą-
czony do Internetu nie jest zagrożo-
ny, to powinien natychmiast zdjąć
różowe okulary. Korzystając z ogólno-
światowej pajęczyny, nie jesteśmy samot-
ni – wraz z nami jest tam wiele osób
o bardzo różnych charakterach i potrze-
bach. Dlatego warto podjąć środki ostroż-
ności. Pozwoli nam to żeglować po Inter-
Rysunek 1. Na stronach serwisu SANS
necie ze spokojem, że nasze dane nie są
możemy znaleźć obszerne wskazówki
łatwe do wykradzenia lub zniszczenia.
dotyczące wykrywania intruzów

Planowanie zabezpieczeń
Absolutnie nie powinniśmy podłączać Dobre określenie naszych celów
do Internetu komputera, który nie został i potrzeb pozwoli nam lepiej wykorzy-
jeszcze zabezpieczony. Może wydawać stać zawarte w tym artykule informacje.
się nam, że jeśli podłączymy się tylko Mając ciągle na myśli nasz cel, z łatwo-
na chwilkę, to nic się nie stanie. Jest to ścią wybierzemy zabezpieczenia, które
jednak bardzo złudne wrażenie. Włamy- musimy zastosować, i pominiemy te,
wacze bardzo często automatyzują swoją z których możemy (lub nawet powinni-
pracę, uruchamiając skrypty okresowo śmy) zrezygnować.
sprawdzające adresy sieciowe kompu-
terów. Poszukują w ten sposób maszyn Wykorzystywane usługi
wrażliwych na znane im metody ataków Generalna zasada mówi, aby uruchamiać
(np. posiadających bardzo proste hasła). tylko niezbędne usługi. Tak naprawdę
Może zdarzyć się, że nasz system zostanie powinniśmy posunąć się nieco dalej i w
spenetrowany już w minutę po zalogowa- ogóle nie instalować niepotrzebnego opro-
niu do sieci. Z tego powodu jak najwię- gramowania. Praktycznie każda z dystry-
cej czynności zabezpieczających powin- bucji podczas instalacji pozwala nam na
niśmy dokonać jeszcze przed skorzysta- wybór pojedynczych pakietów, z których
niem z Internetu. chcemy korzystać. Warto poświęcić trochę
Zanim zabierzemy się za umacnia- czasu na lekturę opisów poszczególnych
nie zabezpieczeń, dobrze jest dokładnie pakietów i wybranie tylko tych, które na
zastanowić się, co chcemy osiągnąć. Czy pewno nam będą potrzebne.
chcemy zrobić z naszego komputera nie- Zysk z takiego postępowania jest
zdobytą twierdzę? A może tylko chcemy podwójny. Po pierwsze, oszczędzamy
ochronić nasze zdjęcia z igraszek na łonie miejsce na dysku. Po drugie, zmniejsza-
natury? Istotne jest też, czy będziemy my liczbę zainstalowanego oprogramo-
chcieli udostępniać jakieś zasoby innym wania. Dzięki temu łatwiej nam będzie
użytkownikom Internetu. Jeśli kompu- kontrolować zmiany w systemie, a w
ter będzie przeznaczony dla wielu anoni- dodatku możemy uniknąć instalacji pro-
Na płycie CD/DVD mowych użytkowników (np. jako anoni- gramów znanych z problemów z bez-
Na płycie CD/DVD znajduje się mowy serwer FTP), to zastosujemy inne pieczeństwem. Warto zastanowić się
oprogramowanie omawiane zabezpieczenia niż wtedy, gdy do kom- nad tym, który program wykorzystamy
w artykule. putera będziemy chcieli mieć dostęp do realizacji konkretnego celu. Przykła-
tylko my, razem z wybranymi kolegami. dowo, jeśli jest nam potrzebny serwer

26 styczeń 2005
bezpieczny internet bezpieczeństwo

pocztowy, możemy zainstalować Send- Hasła użytkowników


maila (dosyć topornego w konfigura- Oglądaliście film Hakerzy (Hackers)?
cji i mającego w przeszłości sporo pro- Pomimo całej jego naiwności, było w nim
blemów z bezpieczeństwem) lub szyb- trochę prawdy. Szczególnie w jednym miej-
kiego i łatwego w konfiguracji (a przy scu, gdy pada pytanie o najpopularniejsze
tym bezpiecznego) Postfiksa. Również w hasła wykorzystywane przez użytkowni-
przypadku pozostałego oprogramowania ków komputerów. Odpowiedzią były: love,
mamy różne alternatywy, nawet jeśli nie- secret, sex i god. I taka jest prawda – wiele
koniecznie są one dołączone do dystry- osób lekceważy znaczenie haseł i wybie-
bucji. Im bardziej zależy nam na bezpie- ra pierwsze z brzegu. No bo przecież, kto Rysunek 2. Część z tych nasłuchujących
czeństwie naszego systemu, tym więcej się domyśli, że wybrałem hasło misiek ? A usług z pewnością można wyłączyć
wysiłku powinniśmy włożyć w zainstalo- przynajmniej łatwo mi je będzie zapamię-
wanie bezpiecznych aplikacji. tać. I rzeczywiście. Ale równie łatwo przyj- ni użytkownicy, warto zabezpieczyć się
dzie je odgadnąć włamywaczowi. dodatkowo. Po pierwsze, powinniśmy
Uruchamianie usług Zakładając proste hasło ułatwiamy mu odpowiednio skonfigurować zaporę sie-
Jak już powiedziałem, powinniśmy uru- życie. Nie musi się męczyć z wyszukiwa- ciową, aby można było logować się tylko z
chamiać tylko niezbędne usługi. Ale skoro niem luk w naszym systemie i analizo- określonych komputerów. Nie zawsze jest
zbędnych nawet nie zainstalowaliśmy, to waniu sposobów włamania do niego. Po to możliwe (szczególnie, jeśli dużo podró-
o co chodzi? Otóż może zdarzyć się, że prostu uruchamia program sprawdzający żujemy i logujemy się z różnych miejsc).
nie ze wszystkich usług będziemy korzy- po kolei hasła ze słownika i idzie sobie na Po drugie, możemy w ogóle uniemożliwić
stać bez przerwy. Opiszę tu znany mi herbatę. A gdy wróci, nasz komputer nie włamywaczom atak na hasła. Jest to moż-
przykład. Mamy komputer, który kiedyś ma już dla niego tajemnic. Ustawiajmy więc liwe dzięki temu, że SSH pozwala na auto-
był podłączony do Internetu za pośred- hasła trudne do odgadnięcia, ale nadal ryzację za pomocą pary kluczy. Jeśli każdy
nictwem sieci lokalnej, w której działały łatwe do zapamiętania. Warto też samemu z użytkowników mających dostęp do
również komputery z systemem Windows. stosować różne programy do łamania haseł naszego komputera będzie dobrze pilno-
Do współdzielenia plików była wykorzy- – właśnie w celu sprawdzenia, na ile nasze wał swojego klucza prywatnego, a klucze
stywana na tym komputerze Samba. Po hasła są trudne do złamania. Reguły te publiczne będą umieszczone u nas, to spo-
jakimś czasie komputer został odłączony dotyczą nie tylko haseł do kont na naszym kojnie możemy wyłączyć obsługę zwy-
od sieci lokalnej i przyłączony do Interne- komputerze. Każdy z użytkowników powi- kłych haseł. Dokonujemy tego wstawiając
tu bezpośrednio. Samba pozostała zain- nien w ten sposób traktować również inne w pliku /etc/ssh/sshd_config linię o treści:
stalowana, gdyż przydaje się do współ- hasła – do skrzynki pocztowej, do portalu
dzielenia plików z systemem Windows 98, internetowego czy jakiejś gry sieciowej. PasswordAuthentication no
uruchamianym pod kontrolą VMWare. Pamiętajmy też o tym, aby nigdzie
Ponieważ ta funkcjonalność jest wykorzy- (podkreślam – nigdzie!) nie używać takie- Po zrestartowaniu serwera SSH użytkownik
stywana okazjonalnie (raz na tydzień lub go samego hasła, jakie broni dostępu do próbujący zalogować się bez odpowiednie-
rzadziej), więc nie ma uzasadnienia dla konta użytkownika root. Co do innych go klucza powinien zobaczyć komunikat:
uruchamiania Samby przy starcie systemu. haseł, to często trudno uniknąć ich dublo- Permission denied (publickey,keyboard-
Dlatego też tego typu usługi powinny być wania – choćby ze względu na ogranicze- interactive). Należy więc uważać, aby przy-
wyłączone. Uruchamiamy je tylko wtedy, nia naszej pamięci. Należy jednak podcho- padkiem nie odciąć sobie dostępu do ser-
gdy są nam potrzebne. dzić do tego z rozwagą. Jaki bowiem jest wera stojącego na drugim końcu kraju.
Sposób wybrania usług, które mają sens zakładania mocnego hasła na nasze W ten sam sposób możemy sami
być uruchamiane przy starcie, zależy konto, jeśli używamy go również w kilku łączyć się ze zdalnymi serwerami – za-
od dystrybucji. W przypadku dystrybucji serwisach internetowych, gdzie jest ono miast wykorzystywać hasła (choćby prze-
pochodzących od Red Hat (na przykład przechowywane otwartym tekstem? To syłane przez SSH), korzystajmy z pary
Fedora i Aurox) należy usunąć lub dodać prawdziwe zaproszenie dla włamywacza. kluczy. Najpierw musimy je wygenerować.
odpowiednie łącza symboliczne w kata- Oczywiście, jeśli nie mamy urucho- Zaczynamy od wydania polecenia:
logu /etc/rc.d/. W innych dystrybucjach mionego serwera SSH, FTP czy Telnet
nazwa katalogu może być inna. Można (o tym ostatnim lepiej zapomnieć – nie ssh-keygen -t rsa
również wykorzystać do tego celu narzę- instalujemy go i nie uruchamiamy), to
dzie ntsysv. Z kolei usługi uruchamiane intruz próbujący dostać się do nas z Inter- Zostaniemy zapytani o nazwę pliku,
przez superserwer Xinetd można wyłą- netu niewiele skorzysta z naszego hasła. w którym ma być umieszczony klucz pry-
czyć zmieniając opcję disable w plikach Lepiej być przezornym – może kiedyś watny, a następnie o hasło. Tak, o hasło. Z
umieszczonych w katalogu /etc/xinetd.d/. uruchomimy serwer, albo zaprosimy do zaletami i wadami wprowadzenia tu hasła
Wyniki naszych działań można obserwo- siebie znajomego. Warto mieć wtedy możemy zapoznać się w ramce Klucze z
wać wpisując polecenie netstat -nlutp. mocne, trudne do złamania hasła. hasłem czy bez? – na tej podstawie zdecy-
Wyświetli ono wszystkie porty TCP i dujemy, czy wciśniemy tu klawisz [Enter],
UDP, na których nasłuchują jakieś pro- Bez haseł w SSH czy też jednak wpiszemy hasło. W wyniku
gramy. Oprócz tego, poznamy nazwy Jeśli mamy uruchomiony serwer SSH, do powinniśmy uzyskać dwa pliki. Pierwszy z
tych programów. którego powinni mieć dostęp tylko wybra- nich (domyślnie ~/.ssh/id_rsa) to klucz pry-

www.lpmagazine.org 27
bezpieczeństwo

cat id_rsa.pub >> .ssh/authorized_keys


chmod 600 authorized_keys
Testowanie haseł
W większości nowszych dystrybucji pod-
czas wprowadzania hasła jest prze-
Należy upewnić się jeszcze, czy na zdal- prowadzana jego wstępna kontrola
nym serwerze jest włączona obsługa (np. z wykorzystaniem systemu PAM),
kluczy i że wykorzystywany jest wła- ale czasami system ogranicza się tylko do
śnie ten plik ze spisem kluczy. W pliku sugestii, że wprowadzane hasło nie speł-
/etc/ssh/sshd_config powinny znajdować nia odpowiednich norm (np. jest za krótkie
się następujące linie: lub zbyt oczywiste). Tak czy inaczej, jest to
tylko wstępne rozpoznanie. Aby się prze-
Rysunek 3. John the Ripper to tylko
PubkeyAuthentication yes konać, czy na pewno w naszym systemie
jeden z wielu programów umożliwiających
hasła są trudne do złamania, musimy sko-
AuthorizedKeysFile .ssh/authorized_keys
testowanie siły haseł rzystać z innych narzędzi – łamaczy haseł.
Jednym z takich programów jest John
watny, którego należy strzec niczym oka Teraz już możemy opuścić to konto (exit)
the Ripper. Możemy go pobrać ze strony
w głowie. Nikt poza nami nie powinien i spróbować zalogować się ponownie. http://www.openwall.com/john/. Po jego
mieć prawa do jego odczytu, a najlepiej, Tym razem powinien powitać nas napis: zainstalowaniu (zgodnie ze wskazówka-
jeśli przechowywać go będziemy tylko na Enter passphrase for key z podaną ścież- mi umieszczonymi w pliku doc/INSTALL)
zabezpieczonej dyskietce. Drugi plik (do- ką do klucza prywatnego. Po wpisaniu wykonujemy kopię pliku /etc/shadow
myślnie ~/.ssh/id_rsa.pub) to klucz publicz- hasła, jakiego użyliśmy przy tworzeniu i umieszczamy ją w jakimś bezpiecznym
ny, którego nie musimy chronić – każdy klucza, zostaniemy zalogowani na nasze katalogu (pamiętajmy, aby przypadkiem
może mieć do niego dostęp. konto. Oczywiście, jeśli zdecydowaliśmy nie udostępnić tego pliku niepowołanym
Teraz czas skopiować klucz publicz- się nie chronić naszego klucza hasłem, to osobom). Teraz wystarczy uruchomić pole-
cenie john shadow (zakładając, że kopia
ny na nasze konto na zdalnym serwerze. zostaniemy zalogowani bez pytania.
pliku /etc/shadow znajduje się w bieżącym
Gdy to zrobimy, logujemy się na to konto. Gdy kiedyś zdecydujemy się zmie-
katalogu). Jeśli programowi uda się odgad-
Musimy upewnić się, że mamy tam katalog nić hasło do naszego klucza prywatnego,
nąć hasło, wyświetli je na ekranie wraz z
~/.ssh/. Jeśli nie, tworzymy go poleceniami: możemy to zrobić poleceniem ssh-keygen nazwą użytkownika. Ponieważ obliczenia
-c -f .ssh/id_rsa. mogą trwać bardzo długo, warto czasem
mkdir .ssh/ wcisnąć dowolny klawisz w celu sprawdze-
chmod 700 .ssh/ Kontrola integralności nia, czy program nadal działa – zostanie
systemu wyświetlony jego status. W dowolnej chwili
Teraz pozostaje nam dodać klucz publicz- Pomimo wszelkich zabezpieczeń, jakie możemy przerwać jego pracę kombinacją
ny do spisu kluczy, które mogą być mogliśmy stworzyć, szczególnie zdespe- [Ctrl]+[c], a następnie wznowić poleceniem
wykorzystywane do łączenia się z tym rowany intruz, prędzej czy później, jest john -restore.
Odgadnięte hasła, oprócz wyświe-
kontem: w stanie dostać się do naszej twierdzy.
tlenia na ekranie, są zapisywane
Musimy być świadomi, że jedyną w miarę
w pliku john.pot, umieszczonym w kata-
skuteczną formą ochrony naszego kom-
Zbędne usługi logu, gdzie znajduje się program john.
Jeśli mamy wątpliwości, które usługi putera jest odłączenie go od sieci i wsta- Możemy je wyświetlić poleceniem john
powinny być wyłączone, zapoznajmy się wienie do szafy pancernej. Jeśli jednak -show shadow (gdzie shadow wskazuje na
z poniższym spisem: chargen, chargen- chcemy, aby nasz komputer był podłą- naszą kopię pliku /etc/shadow).
udp, daytime, daytime-udp, echo, echo- czony do Internetu, to musimy liczyć się Jeśli chcemy zwiększyć szanse na
udp, finger, imap, imaps, innd, ipop2, z ewentualnym włamaniem. wykrycie słabych haseł, powinniśmy
ipop3, named, netfs, ntalk, ntpd, pop3s, W takim przypadku najważniej- pobrać z sieci pliki ze słownikami. Przykła-
swat, talk, time, time-udp. sze jest, abyśmy się o tym dowiedzieli. dowy plik z listą słów w różnych językach
Zawiera on te usługi, których nie Ponieważ intruz zazwyczaj będzie próbo- jest do pobrania ze strony domowej John
powinniśmy włączać, jeśli nie są nam the Ripper, a jego znacznie rozszerzoną
wał ukryć swoją obecność w systemie, a
absolutnie potrzebne. Nie jest to spis kom- wersję można zamówić za odpowiednią
następnie uzyskać jak najwięcej informa-
pletny – oprócz podanych usług, możemy opłatą. Inne zestawy haseł można zna-
cji, prędzej lub później spróbuje podmie-
mieć zainstalowane inne programy, któ- leźć pod adresem ftp://ftp.ox.ac.uk/pub/
rych nie powinniśmy włączać bez potrze- nić jakiś kluczowy plik systemowy. Może wordlists/. Możemy je później wykorzystać
by, jak choćby różne serwery FTP (wu-ftpd, tego dokonać na przykład w celu wykra- wydając polecenie john -w = words.lst
vsftpd) czy wszelkie usługi typu rsh, rexec, dzenia hasła. Jednym z najlepszych spo- shadow, gdzie world.lst jest pobranym pli-
rcp, rlogin i inne z grupy usług o nazwach sobów na wykrycie podobnych działań kiem ze słownikiem.
zaczynających się literą r (możemy je spo- jest kontrolowanie integralności syste- Warto też zapoznać się z plikiem doc/
kojnie zastąpić programem ssh). mu. Polega to na tym, że (zaraz po insta- EXAMPLES, gdzie podane są inne cieka-
Jeśli zaszłaby konieczność włącze- lacji systemu) tworzymy bazę zawierającą we sposoby wywołania programu John
nia jednej z wymienionych usług, w miarę informacje o istotnych plikach w systemie. the Ripper.
możliwości powinniśmy wybierać wersję
Bazę tą przechowujemy w miejscu niedo-
bezpieczniejszą. Przykładowo, zamiast
stępnym dla włamywacza (np. na płycie zapisanym w bazie. Oczywiście, jeśli sami
imap powinniśmy wybrać szyfrowaną
CD). Później pozostaje nam okresowo dokonamy zmian w plikach (na przykład
wersję imaps, a zamiast ipop3 – pop3s.
kontrolować zgodność plików ze stanem ze względu na aktualizację oprogramowa-

28 styczeń 2005
bezpieczny internet bezpieczeństwo

ustawienia domyślne powinny wystarczyć, np. specjalnie przygotowanej dystrybu-


Klucze z hasłem czy bez? lecz w razie potrzeby można je zmodyfi- cji uruchamianej z płyty CD. Dzięki temu
Podczas tworzenia kluczy musimy zdecy-
kować. Plik konfiguracyjny posiada dosyć możemy mieć pewność, że włamywacz
dować, czy nasz klucz prywatny będzie
obszerne i czytelne komentarze. nie mógł zmodyfikować naszego progra-
chroniony hasłem, czy nie. Można się
zastanawiać, co się zyskuje, zamienia- mu, ani żadnej części systemu, od której
jąc jedno hasło (do systemu) na drugie Wykrywanie zmian w plikach on zależy.
(do klucza). Już odpowiadam – bardzo W celu sprawdzenia, czy nie nastąpiły Musimy zdawać sobie sprawę z tego,
dużo. Przede wszystkim, ewentualny wła- zmiany w plikach systemowych, urucho- że Afick i jemu podobne programy nie
mywacz musiałby zdobyć zarówno nasze miamy polecenie /usr/bin/afick.pl -k uchronią nas przed włamaniem do sys-
hasło, jak i klucz prywatny, co znacznie (lub /usr/bin/afick.pl --compare). Spo- temu. Ich zadaniem jest jedynie dać nam
utrudnia mu zadanie. Tym bardziej, że woduje to ponowne przeanalizowanie znać, że włamanie miało miejsce. Nie
hasło chroniące klucz nie jest przesyłane wszystkich plików i porównanie informa- należy w tej mierze polegać tylko na inte-
przez sieć. W dodatku, możemy wykorzy-
cji o nich z zawartymi w bazie. Ewentual- gralności systemu – należy również kon-
stać ten sam klucz do łączenia się z wielo-
ne różnice zostaną wyświetlone na ekra- trolować dzienniki systemowe (logi), jak
ma serwerami – a więc możemy korzystać
nie. Oczywiście, możemy tego dokonać i uruchomione usługi. Warto też okreso-
w tym przypadku z jednego hasła.
A jeśli jednak zdecydujemy się na również w interfejsie graficznym (wci- wo wykonywać kopię ważnych dla nas
stworzenie klucza bez hasła? Możemy tak skając przycisk compare) lub w module danych. Dzięki temu nie utracimy ich, ani
zrobić, ale wtedy musimy jeszcze bardziej Webmina (w sekcji run Afick, zaznacza- z powodu jakiegoś wandala, ani też ze
chronić nasz klucz prywatny. Jeśli komuś jąc w polu action wartość compare i wci- względu na przypadkową awarię sprzętu.
uda się uzyskać do niego dostęp, to będzie skając przycisk Run Afick).
mógł połączyć się bez problemów wszę- W przypadku wykrycia zmian w pli- Zapora sieciowa
dzie tam, gdzie z tego klucza korzystali- kach, nie powinniśmy od razu pani- Jednym z najważniejszych zabezpieczeń
śmy. Dlatego jeśli tylko do naszego kom- kować. Najpierw upewnijmy się, czy naszego komputera jest zapora sieciowa,
putera ma dostęp więcej osób, to lepiej
sami nie dokonaliśmy zmian (mogli- zwana też ścianą ogniową (firewall). Jeśli
założyć hasło, a w każdym razie zdawać
śmy zapomnieć uaktualnić bazę). Może prawidłowo ją skonfigurujemy, będzie
sobie sprawę z niebezpieczeństwa.
okazać się również, że przechowujemy chroniła porty naszego komputera przed
w bazie informacje o plikach zmieniają- intruzami, udostępniając je tylko wybra-
nia), to bazę musimy również uaktualnić. cych się dosyć często, a niezbyt istotnych nym osobom. Oczywiście, my będzie-
Jednym z programów pozwalających na – w takim przypadku należy poprawić my mogli korzystać z Internetu bez ogra-
kontrolowanie integralności systemu jest konfigurację i ponownie zainicjalizować niczeń.
Afick (Another File Integrity Checker). bazę poleceniem /usr/bin/afick.pl -i W przypadku aktualnych dystrybucji
Ponieważ nie jest on zazwyczaj dołą- (init w przypadku interfejsu graficznego Linuksa, najczęściej do filtrowania pakie-
czany do dystrybucji Linuksa, musimy i modułu Webmina). tów jest wykorzystywany program IPTales.
go pobrać ze strony domowej (http: Jeśli zamierzamy wprowadzić zmiany Z reguły najlepszą metodą tworzenia
//afick.sourceforge.net/ ) lub z płyty dołą- w systemie plików (np. uaktualnić oprogra- zapory sieciowej jest przyjęcie zasady, że
czonej do pisma. Jego instalacja nie spra- mowanie), powinniśmy najpierw upewnić blokujemy wszystkie pakiety z wyjątkiem
wia problemu, a w przypadku instalacji się, że pliki są nienaruszone. Następnie tych, które rzeczywiście chcemy przepu-
pakietu RPM od razu zostanie zainicja- możemy dokonać niezbędnych zmian, ścić. Zasada jest słuszna, lecz w niektórych
lizowana baza. Na stronie domowej pro- a później zaktualizować bazę poleceniem przypadkach może nam sprawić nieco kło-
jektu możemy pobrać interfejs graficzny, /usr/bin/afick.pl -u (update w przypad- potu. Wyobraźmy sobie przykładowo, że
ułatwiający obsługę programu, a także ku interfejsu graficznego i modułu Web- chcemy udostępniać użytkownikom Inter-
spełniający to samo zadanie moduł do mina). Polecenie to wyświetli nam wpro- netu serwer SSH, WWW, FTP, a w dodat-
Webmina. Z tych dwóch możliwości oso- wadzone zmiany, a w bazie umieści infor- ku pragniemy dzielić się plikami z użyciem
biście polecam raczej moduł do Webmi- mację o nowych plikach. BitTorrenta. W takiej sytuacji może okazać
na – po instalacji dostępny jest w sekcji Jeśli chcemy dokładnie wiedzieć, jakie się, że mniej wysiłku będzie nas koszto-
System pod nazwą Another File Integri- zmiany zaszły podczas instalacji oprogramo- wać stworzenie zapory, która będzie bro-
ty Checker. wania, to należy uruchomić polecenie niła dostępu tylko do wybranych portów
update zarówno przed, jak i po instalacji.
Konfiguracja Aficka
Główny plik konfiguracyjny programu Kilka uwag
Afick to plik /etc/afick.conf. Możemy w Sprawdzanie integralności systemu nie
nim określić ścieżki do bazy danych, histo- ma większego sensu, jeśli włamywacz
rii i archiwum. Oprócz tego, możemy usta- ma dostęp do konfiguracji i bazy danych.
wić inne opcje konfiguracyjne, jak również Warto plik konfiguracyjny i bazę prze-
wykluczyć z magazynowania w bazie pliki chowywać np. na płycie CD, uaktualnia-
o określonych końcówkach (lub przedrost- jąc ją w razie potrzeby.
kach) nazw. Plik ten zawiera również spis Optymalnym rozwiązaniem jest uru-
katalogów, o których informacje są zapisy- chamianie programu Afick z osobne- Rysunek 4. Konfigurację Aficka możemy
wane w bazie. W większości przypadków go, bezpiecznego systemu operacyjnego, zmienić także z użyciem Webmina

www.lpmagazine.org 29
bezpieczeństwo

(np. poczty czy Samby). Należy pamię- łów dostępnych z CPAN: Net::RawIP, Net: lizatory integralności systemu) pewną
tać, że tak zbudowana zapora nie będzie :PcapUtils i NetPacket. Możemy je zainsta- wielką wadę – dzięki niemu dowiadu-
w stanie zablokować możliwości łączenia lować poleceniem perl -MCPAN -e 'in- jemy się o ataku, który już doszedł do
się z naszym serwerem, jeśli zostanie na stall Net::RawIP' (odpowiednio zmie- skutku. Cała sztuka polega na tym, aby
nim zainstalowana jakaś tylna furtka (back- niając nazwę modułu). Na komputerze, wykryć atak jeszcze w czasie jego prze-
door). Wybór metody tworzenia zapory gdzie mamy zainstalowaną zaporę siecio- prowadzania i odpowiednio go zablo-
zależy więc tylko od naszych chęci i umie- wą, należy uruchomić polecenie ./ftestd kować.
jętności. -i eth0 (gdzie eth0 to nazwa interfejsu Jednym z najlepszych programów
Podczas projektowania zapory pamię- łączącego nas z siecią). Spowoduje to uru- przeznaczonych do tego celu jest Snort.
tajmy o tym, aby zablokować możli- chomienie sniffera nasłuchującego pakie- Program nasłuchuje na wskazanych inter-
wość łączenia się z naszym kompute- tów wysyłanych przez klienta. Klienta naj- fejsach sieciowych, analizując pojawiające
rem z maszyn o adresach sieci lokalnej za lepiej uruchomić na komputerze znajdu- się tam pakiety. Analizowane są one pod
pośrednictwem interfejsu łączącego nas jącym się bezpośrednio za zaporą siecio- kątem informacji istotnych dla bezpie-
z Internetem. Zapobiegnie to przynajm- wą – służy do tego polecenie ./ftest -f czeństwa lub sprawnego funkcjonowania
niej części prób ataków przez podszywa- ftest.conf. Najpierw jednak należy przy- sieci. Dzięki skonfigurowaniu odpowied-
nie (spoofing). gotować odpowiedni plik konfiguracyjny, nich preprocesorów, możemy polecić
Jeśli nie odpowiada nam ręczne wpi- w którym wskażemy, jakie testy mają być Snortowi wyszukiwanie informacji o pró-
sywanie regułek, możemy skorzystać wykonywane. Przykładowy plik ftest.conf bach skanowania portów, atakach zwią-
z któregoś z interfejsów graficznych. jest dosyć dobrze opisany, więc nie powin- zanych z błędną fragmentacją pakietów
Jednym z ciekawszych jest Firewall Buil- niśmy mieć problemów z dostosowa- IP, czy próby ukrycia ataków poprzez
der, którego wersja 2.0.2 była niedawno niem go do własnych potrzeb. Zwróćmy zakodowanie adresów HTTP URI.
opisywana w Linux+. Program ten można uwagę, że możemy korzystać zarówno Następnie pakiety są przekazywane
pobrać ze strony domowej projektu (http:// z pojedynczych pakietów, np. 192.168.0.5: do modułu, który porównuje je z regu-
www.fwbuilder.org/ ) lub z płyty dołączo- 1025:192.168.0.1:21:A:TCP:0, jak i z symu- łami opisującymi różne znane metody
nej do gazety. lowania połączeń: connect=192.168.0.5: ataków (tzw. sygnaturami ataków). Do
1025:192.168.0.1:22:AP:TCP:0. Każdy test nas należy wybranie sygnatur, które
Testowanie zapory powinniśmy kończyć sygnałem zatrzy- będą potrzebne w naszym systemie. Sam
Po zbudowaniu zapory sieciowej najważ- mania: stop_signal=192.168.0.5:80: Snort nie potrafi określić, czy w naszej
niejsze jest jej dokładne przetestowanie. 192.168.0.1:1025:S:TCP:0. Ważne, aby ten sieci połączenie na konkretny port jest
Niestety, IPTables nie obsługuje opcje -C, ostatni pakiet na pewno przeszedł przez legalne, czy też powinien je traktować
znanej z IPChains, pozwalającej na łatwe zaporę. W innym przypadku, jeśli na czas jako próbę włamania – o tym my decy-
testowanie reguł. Musimy więc radzić testów zmienialiśmy ustawienia TTL, to w dujemy podczas konfiguracji. Jeśli zosta-
sobie łącząc się z zaporą z różnych maszyn przypadku przerwania działania skryptu nie wykryty atak, Snort może zareago-
umieszczonych w Internecie i sieci lokal- przed otrzymaniem sygnału stop, będzie- wać na wiele różnych sposobów. Oprócz
nej lub korzystając z innego oprogramo- my musieli przywracać ustawienia ręcz- powiadomienia administratora i zapisa-
wania. Przykładowe programy, które mogą nie. Po zakończeniu testu należy skopio- nia informacji o ataku, może również
okazać się bardzo pomocne przy testowa- wać pliki ftest.log z klienta i ftestd.log z ser- podjąć środki zaradcze, np. przerywa-
niu zapory, to HPing i Firewall Tester. O wera w jedno miejsce, a następnie wyko- jąc połączenie z komputerem potencjal-
programie HPing można było niedawno nać polecenie ./freport ftest.log fte- nego włamywacza, a nawet odpowiednio
przeczytać w Linux+, więc zapoznajmy się std.log. W jego wyniku otrzymamy zesta- zmieniając zaporę sieciową.
z drugim z programów. wienie pakietów, które przeszły lub zostały Z takim zabezpieczaniem należy
Firewall Tester to zestaw skryptów zablokowane przez zaporę sieciową. uważać, gdyż może to doprowadzić do
napisanych w Perlu, które można wyko- Podczas testowania zapory powinni- tego, że intruz zdezorganizuje naszą
rzystywać nie tylko do testowania jako- śmy pamiętać, aby sprawdzić ją bardzo pracę symulując przeprowadzanie ataków
ści zapory sieciowej, ale również syste- dokładnie. Jeśli w jakiejś regułce mamy zde- z sieci, na których nam zależy. Można to
mów wykrywania włamań. Do działania finiowany zakres adresów IP, to sprawdza- oczywiście obejść odpowiednio modyfi-
Firewall Tester potrzebuje trzech modu- my zachowanie zapory zarówno dla adre- kując nasze skrypty. Generalnie Snort nie
sów granicznych, jak i leżących wewnątrz jest może zbyt łatwy w konfiguracji, ale
i na zewnątrz zakresu. Warto przygoto- jeśli sobie z tym poradzimy, to uzyska-
wać sobie własne skrypty do testowania my narzędzie porównywalne z produkta-
zapory, dzięki czemu nie będziemy musieli mi komercyjnymi. Dzięki niemu nie tylko
wciąż powtarzać wpisywania tych samych będziemy mogli wykrywać ataki, ale
komend. Również wprowadzanie popra- również dowiadywać się o innych pro-
wek jest w takim przypadku łatwiejsze. blemach w naszej sieci, np. związanych
z błędami w oprogramowaniu.
Systemy wykrywania
włamań Instalacja i obsługa Snorta
Rysunek 5. Afick wydaje się być godnym
Zapoznaliśmy się już z programem Afick, Program Snort możemy pobrać ze strony
następcą sławnego Tripwire
ale posiada on (podobnie jak inne ana- domowej projektu (http://www.snort.org/ ),

30 styczeń 2005
bezpieczny internet bezpieczeństwo

• Z konta superużytkownika (root) nagrywarki powinniśmy kopie umie-


korzystamy tylko w bardzo wyjątko- ścić na innej partycji, dysku lub kom-
wych okolicznościach. Nawet w przy- puterze.
padku instalacji oprogramowania ze • Nie udostępniamy komputera
źródeł, uprawnienia administratora osobom, których nie znamy lub do
uzyskujemy tylko na czas potrzeb- których nie mamy zaufania. Dotyczy
ny do uruchomienia polecenia make to nie tylko umożliwiania dostępu
install. przez SSH czy FTP, ale także dostępu
• Regularnie uaktualniamy system, inst- fizycznego. Nie wykonujemy też żad-
Rysunek 6. Snort jest wciąż rozwijany, alując poprawione wersje oprogra- nych poleceń podanych nam przez
a na jego stronie można znaleźć obszerną mowania (w tym również jądra). takie osoby, jeśli nie jesteśmy absolut-
dokumentację Łączy się to ze śledzeniem serwi- nie pewni, co dane polecenie robi.
sów dotyczących bezpieczeństwa,
gdzie dostępne są nie tylko źródła, ale jak również stron domowych pro- Zakończenie
i pakiety binarne (RPM). Można też sko- gramów zainstalowanych na naszym Większość prób włamań do naszych
rzystać z pakietów dostępnych w róż- dysku. Jeśli dla naszej dystrybu- komputerów jest wynikiem działania tzw.
nych repozytoriach (np. DAG – http:// cji dostępne są serwery z aktuali- script kiddies, czyli osób – z reguły dość
dag.wieers.com/packages/snort/ ). Przed zacjami, to powinniśmy z nich sko- młodych – używających gotowych roz-
uruchomieniem warto sprawdzić, czy rzystać. wiązań. Korzystają oni zazwyczaj z tych
Snort będzie oczekiwał na połączenia • Nigdy nie instalujemy oprogramo- samych źródeł informacji co my, zatem
na właściwym interfejsie. Informacja ta wania pochodzącego z nieznane- będąc na bieżąco mamy całkiem sporą
umieszczona jest w pliku /etc/sysconfig/ go źródła. Mam tu na myśli przy- szansę, że nie uda im się spenetrować
snort w linii INTERFACE="eth0". Jeśli do godnych znajomych spotkanych na naszego systemu. Dbajmy o nasz system,
łączenia z siecią wykorzystujemy inny IRC, czy serwery z oprogramowa- a wówczas będziemy mogli z czystym
interfejs, należy poprawić tą wartość. niem, o którym niewiele lub nic nie sumieniem wędrować po naszej global-
Warto też sprawdzić konfigurację zawar- wiemy. Nie znaczy to, że pobierając nej sieci.
tą w pliku /etc/snort/snort.conf. Później pliki z bardzo popularnych serwisów
już możemy uruchomić Snorta polece- jesteśmy całkiem bezpieczni – zda-
niem /etc/rc.d/init.d/snortd start. rzały się już przypadki podrzucenia W Internecie:
Jeśli teraz popatrzymy do pliku /var/ na takie serwery oprogramowania z
log/messages, od razu zobaczymy znacz- koniami trojańskimi. • Afick:
ny przyrost liczby komunikatów. Oprócz • Przy instalowaniu programów powin- http://afick.sourceforge.net/
tego, pojawi się katalog /var/log/snort/. niśmy w miarę możliwości sprawdzać • Firewall Builder:
http://www.fwbuilder.org/
Własnoręczna analiza tylu komunika- podpisy PGP oraz sumy MD5 pobra-
• HPing:
tów nie ma sensu – lepiej skorzystać z nych plików. Pozwoli to upewnić się,
http://wiki.hping.org/
gotowych narzędzi. Dostępne są one na że oprogramowanie otrzymaliśmy w
• Firewall Tester:
stronie http://www.snort.org/dl/contrib/ takiej postaci, w jakiej zamierzyli to http://ftester.sourceforge.net/
wraz z innymi narzędziami przydatnymi autorzy. • Snort:
w zarządzaniu Snortem. • Zawsze stosujemy hasła trudne do http://www.snort.org/
złamania. Staramy się unikać prze- • Lista dwudziestu najpoważniejszych
Zasady korzystania syłania haseł kanałami niekodowa- zagrożeń dla bezpieczeństwa:
z komputera nymi (np. w przypadku korzystania http://www.sans.org/top20/
Jeśli naprawdę zależy nam na bezpiecz- z poczty należy używać szyfrowania • SANS:
nym korzystaniu z sieci, nie powinniśmy SSL). Jeśli nie mamy możliwości prze- http://www.sans.org/
• Secunia:
ograniczać się do jednorazowego zadba- syłania hasła w postaci zakodowanej,
http://secunia.com/
nia o bezpieczeństwo. Każdego dnia to należy zadbać, aby było ono uni-
• SecurityFocus:
pojawiają się komunikaty o wykryciu kalne (nie powinniśmy go wykorzy-
http://www.securityfocus.com/
kolejnych błędów w oprogramowaniu. stywać nigdzie indziej). Dzięki temu • CERT Coordination Center:
Część z tych błędów może mieć mniej- w razie jego przechwycenia przez http://www.cert.org/
sze lub większe znaczenie dla bezpie- włamywacza, narażona będzie tylko • LinuxToday:
czeństwa. Jeśli nie zadbamy o uaktual- jedna usługa (np. zdalna poczta), a http://linuxtoday.com/
nienia oprogramowania, cała nasza praca nie cały system. • Artykuł o uwierzytelnianiu z wykorzy-
może pójść na marne. Czasem przez • Regularnie przeglądamy logi systemo- staniem kluczy w OpenSSH:
naszą pomyłkę, zaniedbanie lub nieświa- we – samodzielnie lub z pomocą ana- http://www.securityfocus.com/
domość możemy otworzyć włamywa- lizatorów logów, wysyłających powia- infocus/1810 /
• Serwis IPSec.pl:
czowi drogę do naszego systemu. Z tego domienia pocztą elektroniczną.
http://ipsec.pl/
powodu podczas codziennego korzysta- • Wykonujemy kopie zapasowe istot-
• Serwis Hacking.pl:
nia z komputera powinniśmy stosować nych danych. Najlepiej wykonywać
http://hacking.pl/
się do szeregu zaleceń: je na płytach CD, lecz w razie braku

www.lpmagazine.org 31
bezpieczeństwo

Odzyskiwanie danych
– sposoby i przegląd
narzędzi
Michał Niwicki

N
a pewno każdy z Was sta- tykamy się z fizycznym uszkodzeniem
nął lub stanie przed proble- jednej z optycznych warstw na skutek
mem odzyskania danych. zarysowania.
Zazwyczaj w momencie, W obu sytuacjach, gdy dochodzi do
w którym uświadamiamy sobie, że stra- utraty części (kilku lub kilkudziesię-
ciliśmy istotne pliki, nie widzimy szansy ciu bajtów) pliku lub systemu plików,
na ich odratowanie i nie podejmuje- system komunikuje nam, że odczyt
my żadnych działań. Spotykamy się z urządzenia jest niemożliwy i zaprze-
z dwiema sytuacjami. Pierwsza wiąże staje dalszych prób dostępu do danych.
się z fizycznym uszkodzeniem nośni- Spróbujmy zilustrować przykładem
ka danych (twardego dysku, dyskiet- zaistniały problem. Posiadamy płytę,
ki, płyty CD/DVD), co uniemożliwia na której znajduje się dwugodzinny film
nam prawidłowe odczytanie zawarto- w pliku o łącznej objętości 690 mega-
ści całego pliku. Druga to taka, w której bajtów. Na skutek fizycznego uszkodze-
umyślnie lub nieumyślnie skasowaliśmy nia (przypadkowe zarysowanie płyty)
z dysku potrzebny nam plik i chcemy go nie jest możliwy odczyt kilku ostatnich
odzyskać. W obu przypadkach istnieją bajtów pliku, w efekcie czego program
sposoby i narzędzia pozwalające na cał- odtwarzający przerywa działanie przed
kowite lub częściowe odzyskanie utra- najciekawszym fragmentem filmu.
conych danych. Wiemy lub domyślamy się, że uszko-
W niniejszym artykule dokonamy dzeniu uległo jedynie kilka sekund cen-
przeglądu kilku popularnych aplika- nego nagrania, natomiast kilkanaście
cji służących do odzyskiwania danych pozostałych minut nadal znajduje się na
– uszkodzonych bądź usuniętych płycie. Stajemy przed problemem, jak
z naszego komputera. zmusić program do odtworzenia tego,
co znajduje się za uszkodzonym obsza-
Fizyczne uszkodzenie rem. Innymi słowy, chcemy, aby pro-
nośnika gram nie przerywał działania w przypad-
Zanim przejdziemy do omówienia spo- ku, w którym nie może odczytać zapisa-
sobu odzyskania utraconych danych nych danych.
z uszkodzonego nośnika, wytłumaczy-
my najpierw, jak dochodzi do uszkodze- DD_rescue
nia nośnika i jaki ma to wpływ znajdu- Gdy próba przekopiowania uszkodzone-
jące się na nim dane. go pliku standardową metodą nie skutku-
Tradycyjnie, wszystkie magnetycz- je (tak dzieje się, gdy używamy standar-
ne nośniki danych – dyskietki, twarde dowej komendy cp), z pomocą przycho-
dyski, taśmy – mogą ulec częściowe- dzi nam program DD_rescue.
mu rozmagnesowaniu na skutek kon- Jego zasada działania jest prosta
Na płycie CD/DVD taktu z różnymi urządzeniami wytwa- – próbuje odzyskać uszkodzone bajty
Na płycie CD/DVD znajduje się rzającymi duże pole elektromagnetycz- pliku, a w przypadku, gdy nie może ich
oprogramowanie omawiane ne (magnesy, bramki kontrolne na lot- odczytać, nie przerywa swego działania,
w artykule. nisku, telefony komórkowe). W przy- nie ucina uszkodzonego pliku i kontynu-
padku płyt CD/DVD najczęściej spo- uje proces kopiowania.

32 styczeń 2005
narzędzia data recovery bezpieczeństwo

W efekcie otrzymujemy lekko uszko- ale od użytkownika nie jest wymaga-


dzony, ale już możliwy do odczytania ne podawanie żadnych dodatkowych
Wybrane parametry
plik, który nie różni się rozmiarem od opcji – wystarczy, że w linii poleceń DD_rescue:
oryginału, ale zawiera błędy w miejscu, wpiszemy: dd_rhelp <plik_źródłowy>
• -w – przerywa kopiowanie jeśli
w którym doszło do uszkodzenia nośni- <plik_docelowy>, a skrypt domyślnie
napotka na błędy
ka, z którego kopiowaliśmy. odzyska (jeśli tylko mu się uda) wszel- • -r – kopiowanie wsteczne
kie utracone dane. (od końca pliku do początku)
Praca z dd_rescue • -v – wyświetla pełną informację
Kopiowanie za pomocą dd_rescue jest Skasowane pliki – jak o procesie kopiowania
proste. Wywołanie programu przybiera sobie z nimi radzić • -q – nie wyświetla żadnych
postać: dd_rescue [opcje] <plik_źró- Zdarza się, że na skutek pomyłki lub komunikatów
dłowy> <plik_docelowy>. celowego działania osób trzecich w • -e x – przerywa działanie po

Jeśli w wyniku działania komen- wyniku operacji kasowania (plików lub osiągnięciu x błędów
• -s s – rozpoczyna kopiowanie pliku
dy dd_rescue plik_a plik_b program partycji) straciliśmy część lub wszystkie
od s bajta
skopiuje pliki bez napotkania na błędy, nasze dane. Mogłoby się wydawać, że
• -m m – kopiuje jedynie m bajtów
powinien wyświetlić się komunikat wszystko stracone, ale i na takie przy-
• -d – wykorzystuje bezpośredni
podobny do poniższego: padki jest rada. W najlepszym razie dostęp do urządzenia blokowego
może okazać się, że dane są w 100% (z pominięciem pamięci cache)
dd_rescue: (info): plik_a (0.8k): EOF odzyskiwalne, ale najczęściej spotkamy
Summary for plik_a -> plik_b: się z sytuacją, w której odzyskamy jedy- wały się na nim przed zamazaniem tabli-
dd_rescue: (info): ipos: 0.8k,S nie mniejszy lub większy procent ska- cy partycji. Problem w tym, że takimi
opos: 0.8k, xferd: 0.8k sowanych zbiorów. Paradoksalnie, to co informacjami większość użytkowników
errs:0, errxfer: 0.0k, succxfer: 0.8k wygląda bardzo groźnie, może okazać nie dysponuje. Tu z pomocą przycho-
+curr.rate: 15kB/s, avg.rate: 15kB/s,S się łatwe w naprawie. Najczęstszym dzi Gpart – narzędzie, którego działanie
avg.load: 0.0% omawianym wyżej przypadkiem jest wydaje się być proste: program analizu-
zamazanie tablicy partycji dysku twar- je dane zapisane na dysku (jeszcze nie
Jeśli podczas procesu kopiowania przytra- dego (tracimy wszystko) lub skasowa- skasowane) i na ich podstawie próbuje
fią się błędy odczytu, pojawi się dodatko- nie pliku/plików komendą rm. Narzę- odbudować tablicę partycji dysku.
wa informacja dotycząca ilości uszkodzo- dzia, jakich można użyć w obu przy-
nych bajtów i miejsca ich występowania. padkach, przedstawię poniżej. Praca z narzędziem Gpart
Dodatkowe przydatne opcje progra- Ponieważ po skasowaniu partycji nie
mu to kopiowanie piku od określonej Namierzanie partycji programem mamy dostępu do żadnych danych, które
pozycji (w bajtach), kopiowanie zbioru Gpart się na dysku znajdują, nie możemy rów-
danych od końca do początku, wyświe- Jeśli z pewnych powodów zamazaliśmy nież uruchomić Gparta. W takiej sytu-
tlanie pełnej informacji o procesie tablicę partycji dysku twardego (dzieje acji powinniśmy skorzystać z ratunko-
odczytywania i zapisywania przetwa- się tak przykładowo podczas nieuważ- wej dystrybucji Linuksa – RIP. Po wło-
rzanych danych oraz określenie górnej nego dzielenia dysku na partycje), mimo żeniu do napędu CD/DVD bootowalnej
granicy ilości błędów, po osiągnięciu że dysk wygląda tak, jakby nic na nim się płyty i ponownym uruchomieniu kom-
której praca programu jest przerywana. nie znajdowało, nasze dane wciąż na nim putera, naszym oczom ukaże się ascetycz-
Pewnym ułatwieniem w korzystaniu są. Proces przywracania struktury dysku nie wyglądające okno terminala. Po zalo-
z programu DD_rescue jest skrypt napi- do pierwotnej postaci wymaga od użyt- gowaniu się na konto administratora sys-
sany z BASH-u – DD_rhelp. Jego działa- kownika wiedzy na temat tego, jakiej temu (root) mamy do dyspozycji kilkadzie-
nie opiera się na programie DD_rescue, wielkości i jakiego typu partycje znajdo- siąt programów służących do odzyskiwa-

R E K L A M A

www.lpmagazine.org 33
bezpieczeństwo

Listing 1: Wynik działania programu Gpart: w miejsce, z którego zostały usunięte


(nie mylmy go zatem z katalogiem Śmiet-
Primary partition(1) nik w niektórych popularnych menedże-
type: 131(0x83)(Linux ext2 filesystem)
rach okien), lecz tworzy plik o nazwie
size: 101mb #s(208776) s(63-208838)
unrm.recovered/unrm.inode#, w którym
chs: (0/1/1)-(207/2/57)d (0/1/1)-(207/2/57)r
przy odrobinie szczęścia znajdziemy
Primary partition(2) nasze skasowane dane.
type: 130(0x82)(Linux swap or Solaris/x86)
size: 1019mb #s(2088448) s(208845-2297292)
Profilaktyka
chs: (207/3/1)-(1023/15/63)d (207/3/1)-(2279/0/61)r
Większości problemów opisanych w arty-
kule można uniknąć. Dobrym nawy-
nia i ratowania różnych systemów opera- mogło, tragiczna w skutkach próba zmiany kiem jest sporządzenie kopii zapasowej
cyjnych. Nas interesuje Gpart. typu partycji z ext3 na swap zostanie pra- MBR (512 bajtów – mieści się na każdej
Wydajemy polecenie gpart [opcje] widłowo zdiagnozowana przez Gparta dyskietce). Wystarczy w linii poleceń
urządzenie i czekamy na to, aż program i naprawiona. z uprawnieniami administratora systemu
przeanalizuje nasz nośnik danych pod Mimo swojej niepozorności, Gpart wydać komendę:
względem struktury zapisanych na nim jest potężnym narzędziem, które potra-
danych. Przykładowo: fi o wiele więcej niż opisaliśmy powy- # dd if=/dev/hda of=mbr bs=512 count=1
żej. Obsługuje większość znanych typów
# gpart /dev/hda partycji – począwszy od ext2, ext3, xfs, W efekcie otrzymamy plik o nazwie mbr
fat, poprzez stosowane w systemie Win- zawierający kopię naszego sektora rozru-
spowoduje, że narzędzie będzie analizo- dows ntf s i vfat, a skończywszy na party- chowego.
wało dysk /dev/hda. cjach LVM czy hpfs. Powinniśmy także przyzwyczaić się
Po pewnym czasie (może trwać to Gpart jest wyposażony również do systematycznego okresowego sporzą-
nawet kilkanaście minut – w zależności w szereg dodatkowych użytecznych dzania kopii zapasowej najważniejszych
od tego jakiej wielkości posiadamy dysk) opcji, służących przykładowo do spo- plików systemowych (tar -cjvf archi-
naszym oczom powinna ukazać się infor- rządzania kopii zapasowych sektora roz- wum.tar.bz2 /etc) i katalogu użytkowni-
macja podobna do tej z Listingu 1. ruchowego, a także do odzyskiwania ków systemu (tar -cjvf archiwum.tar.bz2
Wynika z niej, że pierwsza party- danych z formatowanych partycji (tylko /home).
cja jest typu ext2 i ma rozmiary 101 MB, w niektórych okolicznościach) Wskazane jest również używanie sys-
podczas gdy druga partycja jest najpraw- temu plików z księgowaniem (zastąpmy
dopodobniej partycją wymiany (swap) o Praca z programem unrm tradycyjny ext2 nowocześniejszym roz-
rozmiarach sięgających ponad 1 GB. Radziliśmy, jak uporać sobie z uszko- wiązaniem – ext3), aby w przypadku
Jeśli przedstawione informacje uwa- dzonymi fizycznie nośnikami danych, nagłego spadku napięcia nie trzeba było
żamy za prawdziwe, możemy zapisać z zamazanymi systemami plików, a teraz odzyskiwać bajta po bajcie.
na dysku nową tablicę partycji wydając przyszła kolej na odzyskiwanie skasowa-
polecenie: nych plików. Podsumowanie
Pomocną aplikacją w takich sytu- Utrata danych jest sytuacją, która może
# gpart -W /dev/hda /dev/hda acjach jest unrm, przypominający nieco przytrafić się każdemu. Istnieje szereg
swoim działaniem program undelete, pra- narzędzi, za pomocą których możliwe
Parametr /dev/hda podajemy dwa razy, cujący w systemie DOS. jest odzyskanie skasowanych zbiorów.
gdyż pierwszy mówi nam, jaka jest struk- Jest to skrypt powłoki BASH, który na Należy również pamiętać, że i te narzę-
tura badanego dysku, a drugi zapisuje na podstawie analizy i-węzłów potrafi przy- dzia mogą zawieść i wtedy niezbędna
wskazanym dysku tablicę partycji. wrócić skasowane pliki. stanie się kosztowna wizyta w specjali-
Po ponownym uruchomieniu kompu- Jego działanie jest proste – wystarczy stycznym laboratorium.
tera możemy od nowa cieszyć się zawar- w wierszu poleceń wpisać z uprawnienia- Najlepszym rozwiązaniem wydaje się
tością naszego dysku. mi administratora systemu komendę unrm zachowanie szczególnej ostrożności pod-
/dev/hda, aby na ekranie pojawiła się lista czas kasowania plików i pracami związa-
Więcej o Gpart plików możliwych do odzyskania. nymi ze zmianami w tablicy partycji.
Jak zobaczyliśmy, w niektórych sytu- Aplikacją posiada wiele dodatkowych
acjach potrafi naprawić strukturę dysku, parametrów ułatwiających wyszukiwanie
na którym po zamazaniu tablicy party- utraconych zbiorów. Możliwe jest odzy- W Internecie:
cji utworzono nowe partycje (jeszcze nie- skiwanie danych należących do jakiegoś
formatowane). Dzieje się tak dlatego, że użytkownika (opcja -u), a także plików ● Strona domowa DD_rescue:
narzędzie to nie próbuje odzyskać zamaza- zawierających określony tekst (opcja -s). http://freshmeat.net/projects/
nej tablicy partycji, lecz na podstawie roz- Podstawowym problemem, który dd_rescue/
● Strona projektu programu Gpart:
kładu danych na dysku (analizuje sektor pojawia się w przypadku skuteczne-
http://www.stud.uni-hannover.de/
po sektorze) stara się stworzyć tablicę par- go odzyskania pliku, jest jego zapis.
user/76201/gpart/
tycji na nowo. W efekcie, wydawać by się Program unrm nie przywraca plików

34 styczeń 2005
ZAMÓWIENIE PRENUMERATY
Prosimy wypełnić czytelnie i przesłać faksem na numer: (22) 860 17 71
lub listownie na adres: Software-Wydawnictwo Sp. z o.o.,
Lewartowskiego 6, 00-190 Warszawa,
e-mail: pren@software.com.pl
Przyjmujemy też zamówienia telefoniczne: (22) 860 17 67

Dane osoby / firmy zamawiającej

Imię i nazwisko Stanowisko

ID kontrahenta*
* jeżeli jesteś już klientem firmy Software-Wydawnictwo Sp. z o.o. – wystarczy, że podasz swój numer ID kontrahenta; jeżeli nie posiadasz takiego numeru, podaj swe dane teleadresowe

Upoważniam firmę Software-Wydawnictwo Sp. z o.o. do wystawienia faktury VAT bez podpisu odbiorcy

Pieczęć firmy i podpis

Nazwa firmy

Dokładny adres

Telefon (wraz z numerem kierunkowym) Faks (wraz z numerem kierunkowym)

Adres e-mail Numer NIP firmy

Ilość numerów Ilość zamawianych Od numeru pisma Opłata w zł


Tytuł
w roku prenumerat lub miesiąca z VAT
Software 2.0 (1 płyta CD) 12 250/ 180*
Miesięcznik profesjonalnych programistów

Software 2.0 Extra! (od 1 do 4 płyt CD lub DVD) 6 150 / 135**


Numery tematyczne dla programistów

Linux+ (2 płyty CD) 12 250/180*


Miesięcznik o systemie Linux

Linux+DVD (2 płyty DVD) 12 270/198*


Miesięcznik o systemie Linux

Linux w szkole (1 płyta CD) 4 99


Zastosowanie Linuksa w edukacji

Linux+Extra! (od 1 do 7 płyt CD lub DVD) 8 232/198**


Numery specjalne z najpopularniejszymi dystrybucjami Linuksa

PHP Solutions (1 płyta CD) 6 150


Dwumiesięcznik o zastosowaniach języka PHP

PHP Solutions (1 płyta CD) - Prenumerata .PRO*** 6 445


Dwumiesięcznik o zastosowaniach języka PHP

Hakin9 (1 płyta CD) 6 135


Dwumiesięcznik o bezpieczeństwie i hakingu

Programy dla Twojej firmy (1 płyta CD) 6 135


Oprogramowanie dla małych i średnich przedsiębiorstw

.psd (1 płyta CD + film instruktażowy na DVD) 6 140


Dwumiesięcznik użytkowników programu Adobe Photoshop

Aurox Linux (7 płyt CD) 4 119


Magazyn z najpopularniejszym polskim Linuksem

W sumie
(liczba prenumerat x cena)

* Cena prenumeraty rocznej dla osób prywatnych


** Cena prenumeraty rocznej dla osób prenumerujących już Software 2.0 lub Linux+
*** Wykupienie prenumeraty PHP Solutions w wersji .PRO za 445 złotych, upoważnia do zamieszczania na
ostatnich stronach PHP Solutions ogłoszenia o wymiarach 5,4 na 2,7 cm (300 znaków) we wszystkich ko- Jeżeli chcesz zapłacić katrą kredytową, wejdź na stronę
lejnych numerach obejmujących prenumeratę (standardowo: 6 numerów). naszego sklepu internetowego:

www.stock.com.pl
UWAGA: Nadesłanie zamówienia jest jednocześnie zobowiązaniem do zapłaty.
Linux+ 05/2004 Linux+ 06/2004 Linux+ 07/2004
(DVD, CD, bez CD) (DVD, CD, bez CD) (DVD, CD, bez CD)

Linux+ 09/2004 Linux+ 08/2004


(DVD, CD, bez CD) (DVD, CD, bez CD)
Linux+ 10/2004
(DVD, CD, bez CD)

Numery archiwalne
Prosimy o przesłanie kuponu pocztą lub faksem.
Prosimy w odpowiednim polu zakreślić numery, które Państwo chcą zamówić.

żółte pola – 24 zł za Linux+

białe pola – 15 zł za Linux+

niebieskie pola – 27.90 zł za Linux+ DVD

zielone pola – 16.50 zł za Linux+ DVD

czerwone pola – 9,90 zł za Linux+ bez CD

1 2 3 4 5 6 7 8 9 10 11 12
Linux+ 11/2004
(DVD, CD, bez CD) 2000
2001
2002
2003
2004
2004
2004

– rocznik 2001 (12 numerów) – 120 zł


– rocznik 2002 (12 numerów) – 150 zł
– rocznik 2003 (12 numerów) – 150 zł
– rocznik 2004 (12 numerów) – 150 zł

Imię i nazwisko, nazwa firmy ..............................................................................


Dokładny adres: ....................................................................................................
.................................................................................................................................

Wypełnia płatnik VAT. Oświadczam(y), że jestem(śmy) płatnikiem VAT


L+ 1/2005

i upoważniam(y) Software-Wydawnictwo Sp. z o.o. do wystawienia faktury VAT


bez podpisu odbiorcy.

Linux+ 12/2004
(DVD, CD, bez CD) pieczątka i podpis

Software-Wydawnictwo Sp. z o.o.


ul. Lewartowskiego 6, 00-190 Warszawa, Tel.: (22) 860 17 67
wywiad

Wywiad
z Przemysławem Tołpą,
menedżerem sprzedaży
firmy Adaptec
Krzysztof Krawczyk: Na począt- zobaczyć na stronach projektu Linux1394
ku prosiłbym, abyś krótko przedstawił się pod adresem http://www.linux1394.org/
naszym Czytelnikom. hcl.php?class_id=2, jest wiele produktów
Przemysław Tołpa: Jestem mene- serii Adaptec FireWire, które współpracu-
dżerem sprzedaży w firmie Adaptec ją z tym sterownikiem.
i jestem odpowiedzialny za rejon Europy KK: Zgadza się, ale użytkownik
Wschodniej i Bliskiego Wschodu, czyli Linuksa mimo wszystko musi sam poszu-
także Polski i Czech. kać rozwiązania. A kto zajmuje się two-
KK: Jaki jest wasz stosunek do syste- rzeniem nowych wersji sterowników? Czy
mu Linux oraz w ogólności do oprogra- macie jakąś wydzieloną komórkę linuk-
mowania Open Source? sową w ramach firmy?
PT: Dla firmy Adaptec system Linux PT: Nasze wsparcie jest wymagane
jest bardzo ważny – większość produk- zarówno przez naszych klientów OEM-
tów sieciowych i rozwiązań pamięci owych, jak również nasze kanały dys-
masowej firmy Adaptec jest wspierana trybucyjne. Mamy różne zespoły inży-
na Linuksie. W wielu przypadkach ste- nierskie w różnych miejscach na świecie,
rowniki dla naszych produktów są już skoncentrowanych wyłącznie lub częścio-
zawarte w jądrze systemu Linux. Zdaje- wo na tworzeniu linuksowych sterowni-
my sobie sprawę z potrzeby funkcjono- ków dla kontrolerów Adapteca. Wiemy,
wania i dalszego rozwoju oprogramowa- że istnieje duże zapotrzebowanie na nie
Przemysław Tołpa
nia Linux jako systemu operacyjnego dla dla systemów SUSE i Red Hat.
przedsiębiorstw. KK: Wróćmy do rozwiązań serwero-
KK: Jakie wsparcie dla systemów wych. Jak wygląda wsparcie dla kontrole- pamięci masowej. Dla przykładu podam
linuksowych posiadają wasze produkty? rów Serial ATA dla Linuksa? urządzenie pamięci masowej iSA 1500
PT: Praktycznie wszystkie produk- PT: Wszystkie kontrolery naszej firmy iSCSI-to-SATA, w której została ona
ty firmy Adaptec, zarówno sieciowe, jak posiadają wsparcie dla systemu Linux. wykorzystana.
i przeznaczone do pamięci masowych, Pełna lista sterowników jest zamieszczo- KK: Z jakimi producentami systemów
włączając produkty ATA, Serial ATA, na na naszej stronie internetowej: http:// linuksowych współpracujecie?
RAID, SCSI, iSCSI oraz TOE/NAC, posia- www.adaptec.com/support/ lub http:// PT: Współpracujemy ze wszystkimi
dają wsparcie dla systemu Linux i w wielu www.adaptec.pl/. Przykładowo, kontrole- najważniejszymi dystrybutorami rozwi-
przypadkach sterowniki do nich są zawar- ry Adaptec SATA dwu- i cztero-portowe, jającymi system Linux na świecie, włą-
te w jądrze systemu Linux. Jedynie część modele 1210SA oraz 2410SA, wspierają czając Red Hat, SUSE, TurboLinux i wielu
produktów firmy Adaptec, tych przezna- odpowiednio SUSE oraz Red Hat Linux. innych.
czonych na podstawowy rynek konsu- Również najnowsze kontrolery 8- i 16- KK: Jak oceniacie rynek klastrów
mencki, oferujemy jedynie ze wsparciem portowe współpracują z tymi systemami. linuksowych na świecie? Czy mogą one
dla systemu Windows oraz Mac. Nowe sterowniki oraz najnowsze wersje konkurować z dużymi superkomputera-
KK: Chciałbym jeszcze trochę skupić jądra będą nadal zamieszczane na stro- mi i w jaki sposób?
się na tym zagadnieniu. Jakiś czas temu nach internetowych w momencie, gdy PT: Jesteśmy przekonani, że kla-
kupiłem kontroler FireWire do swojego będą ogólnie dostępne. stry oparte na oprogramowaniu Linux
notebooka. Otrzymałem wraz z nim płytę KK: Czy jakieś wasze produkty wyko- mają przed sobą znakomitą przy-
CD z oprogramowaniem, ale nie znala- rzystują Linuksa, tak jak przykładowo szłość, a rynek klastrów linuksowych
złem tam pakietów na Linuksa. serwer NAS firmy Raidtec? ma zdecydowanie duży potencjał. Nawet
PT: Użytkownicy Linuksa mają PT: Używamy dostosowanej wersji obecnie klastry linuksowe konkurują
dostęp do sterownika OHCI. Jak można systemu Linux w wielu urządzeniach z superkomputerami – więcej na ten

38 styczeń 2005
wywiad z Przemysławem Tołpą wywiad

temat można znaleźć na stronach CERN gę stosu TCP/IP na poziomie sprzętu, ptec TOE NAC 7711 jest rozwiązaniem
pod adresem http://ajt.iki.fi/writings/ na karcie, rozwiązanie TOE NAC firmy przyspieszającym działanie sieci, obni-
cern/index_eng.html oraz http://www. Adaptec umożliwia eliminację wąskie- żającym poziom zaistniałych opóźnień
interex.org/pubcontent/enterprise/mar00/ go gardła podczas przetwarzania TCP oraz redukującym stopień zużywania
11ntrad.html. oraz pozwala procesorowi kompute- procesora. Technologia NAC zawiera
KK: Pod koniec zeszłego roku opra- ra poświęcić więcej cykli na przetwa- specjalizowany układ scalony ASIC kie-
cowaliście technologię NAC, która wydała rzanie procesów aplikacji oraz umożli- rujący TCP/IP oraz rozładowujący prze-
mi się dość interesująca. Jak jest zasada wia zwiększenie szybkości obsługi sieci twarzanie TCP/IP z hosta i jest najszyb-
jej działania? i wydajności systemu. Aplikacje, do któ- ciej pracującym i najbardziej wytrzy-
PT: Ethernet Networking ewolu- rych jest przeznaczone rozwiązanie NAC, małym rozwiązaniem dostępnym na
ował od 10 Mb/na sekundę (Ethernet), to m.in. aplikacje serwera danych, wyso- rynku. Technologia NAC redukuje
przez 100 Mb/na sekundę (Fast Ether- kowydajne komputery przeznaczone do w znaczącym stopniu obciążenie w sieci
net), do 1,000 Mb/na sekundę (Giga- zadań technicznych, intensywnie wyko- LAN, przedłużając czas działania serwe-
bit Ethernet) oraz TCP/IP Offload Engi- rzystywane bazy danych, kopie zapaso- rów oraz maksymalizując ich wydaj-
nes (rozwiązanie TOE) – są to kolejne we oparte o LAN, pamięć masowa NAS ność.
generacje technologii sieciowej Ethernet. oraz rozwiązania wideo. KK: Dziękuję za rozmowę.
Firma Adaptec wprowadziła na rynek KK: Jak może zostać zastosowana
produkty technologii TOE pod nazwą technologia NAC? W Internecie:
NAC (Network Accelerator Card – sie- PT: Technologia NAC jest idealna dla
ciowa karta przyspieszająca), np. GigE wysokowydajnego środowiska informa- – Strona domowa firmy Adaptec:
NAC 7711C (oparty na rozwiązaniu mie- tycznego, włączając klastry oraz udo- http://www.adaptec.com/
dzianym) oraz GigE NAC 7711F (oparty stępnianie plików na rynkach werty- – Strona firmy Adaptec poświęcona
zagadnieniom Linuksa:
na światłowodzie). Oba produkty zosta- kalnych, takich jak np. bio-informaty-
http://linux.adaptec.com/
ły zaprojektowane, aby maksymalizo- ka, informatyka działająca na potrze-
– Polski oddział firmy Adaptec:
wać wydajność sieci oraz obniżyć zuży- by nauki, wydobycie ropy i gazu oraz http://www.adaptec.pl/
cie samego procesora. Poprzez obsłu- sektor obronności. Produkt firmy Ada-

R E K L A M A

www.lpmagazine.org 39
aktualności
oprogramowanie gnome

Dvd::rip
– ripper płyt DVD
Witold Kieraś

D vd::rip to napisana w Perlu, z uży-


ciem biblioteki GTK, nakładka gra-
ficzna na program Transcode, pozwalają-
nie, możemy wówczas zainstalować pro-
gram w systemie, wydając, jako root, pole-
cenie make install. Program uruchamiamy
ka pliku wykonywalnego rar w katalogu
/usr/local/bin/.
W trzeciej zakładce (CD Burning) mo-
ca zgrać filmy z płyt DVD do pliku .avi poleceniem dvdrip. żemy zdefiniować opcje wypalania płyt.
lub .mpeg. Przy pierwszym uruchomieniu pro- W większości przypadków będą one już
gramu ukaże się nam okno konfiguracji. ustawione poprawnie – wskazujemy ścież-
Instalacja i konfiguracja Nie trzeba wszystkich pól uzupełniać od kę do urządzenia nagrywającego, numer
Na stronie projektu są dostępne pakiety razu, gdyż można do konfiguracji wró- urządzenia nagrywającego w formacie wy-
dla wielu dystrybucji Linuksa, a nawet dla cić później, wybierając z menu progra- maganym przez program cdrecord (X,X,X,
FreeBSD i OpenBSD. Warto z nich skorzy- mu pozycję Edit–>Edit Preferences... Pro- gdzie każdy X jest jest jakąś liczbą całkowi-
stać, pamiętając jednak o zależnościach. gram przechowuje wszystkie ustawienia tą – wartości te można uzyskać wydając ja-
Do uruchomienia Dvd::rip potrzebny bę- w ukrytym pliku .dvdriprc, znajdującym ko root polecenie cdrecord -scanbus), oraz
dzie pakiet transcode, bez którego aplikja- się w katalogu domowym użytkownika, ścieżki do programów cdrecord, cdrdao,
cja jest bezużyteczna. Należy również za- więc najłatwiejszym sposobem na przy- mkisofs i vcdimager (jeśli te programy są
instalować ImageMagick. Potrzebny bę- wrócenie ustawień domyślnych jest wy- zainstalowane w systemie, a ich pliki wy-
dzie także interpreter Perla, w wersji co kasowanie tego właśnie pliku. konywalne są w standardowych ścieżkach
najmniej 5.6.0, oraz moduł Perl GTK. War- Okno konfiguracji jest podzielone na dostępu, to wystarczy wpisać ich nazwę).
to również zainstalować takie pakiety, jak kilka zakładek. W każdej zakładce na do- W omawianej zakładce możemy jeszcze
xvid4conf, ogmtools, subtitleripper, dzię- le znajduje się okno, w którym na zielo- zdefiniować szybkość zapisu (Writing spe-
ki którym będziemy dysponować więk- no są wypisane opcje skonfigurowane po- ed) oraz metodę kasowania zawartości
szą liczbą funkcji przy rippowaniu. Ponad- prawnie, a na czerwono te, których jesz- nośników CD-RW (fast lub all). W kolej-
to, w systemie powinien być zainstalowa- cze nie ustawiono. Niektórych z nich nie nej zakładce możemy jeszcze zdefiniować
ny jeden z dwóch najpopularniejszych od- trzeba ustawiać w ogóle, jeśli zdecyduje- opcje programu nagrywającego cdrdao
twarzaczy multimediów (a najlepiej oby- my, że nie chcemy korzystać z dostarcza- – wybrać sterownik (można sprawdzić, ja-
dwa), czyli MPlayer lub Xine. nych przez nich funkcji. W każdej zakład- ki sterownik obsługuje naszą nagrywarkę
Jeśli chcemy instalować program ze ce mamy dostęp do przycisków Check all na stronie programu, pod adresem: http://
źródeł, to, po zainstalowaniu wyżej wy- settings oraz Check settings on this page, po cdrdao.sourceforge.net/drives.html#dt), ze-
mienionych aplikacji, musimy rozpako- których wciśnięciu zostanie sprawdzona zwolić lub nie na tzw. overburning, czy-
wać skompresowane źródła poleceniem: poprawność ustawień odpowiednio całe- li nagrywanie na obszarze nośnika wy-
tar xfz Video-DVDRip-<wersja>.tar.gz, go programu i opcji konfigurowanych tyl- kraczającym poza jego nominalną pojem-
przejść do utworzonego katalogu (cd ko w danej zakładce. ność, oraz zadecydować, czy po zakoń-
Video-DVDRip-<wersja>) i wykonać w nim W pierwszej zakładce (Filesystem) czeniu nagrywania tacka nagrywarki ma
kolejno polecenia: perl Makefile.PL, make wskazujemy kolejno ścieżkę do napędu się wysuwać automatycznie. Należy jed-
i make test. Jeśli test przebiegnie pomyśl- DVD (zwykle /dev/dvd lub /dev/cdrom), nak pamiętać, że program Dvd::rip oferu-
punkt montowania napędu DVD (praw- je tylko podstawowe funkcje nagrywania,
dopodobnie /mnt/dvd/ lub /mnt/cdrom/ ), zatem użytkownik nie powinien zrażać się
domyślny katalog dla danych programu ewentualnym niepowodzeniem w konfi-
(ustawiony wedle uznania – należy pa- guracji tych opcji, ponieważ do nagrywa-
miętać, aby użytkownik miał prawa zapisu nia można wykorzystać zewnętrzne, bar-
i odczytu do tego katalogu), domyślny ka- dziej przyjazne, programy, np. K3b.
talog dla plików rip, w których są zapisy- Przedostatnią zakładkę, Cluster
wane projekty, oraz rozszerzenie dla pli- options, pomijamy – dotyczy ona wyko-
ków w formacie OGG. rzystywania klastrów do rippowania płyt
W drugiej zakładce (Commands), je- DVD. W ostatniej zakładce, Miscellane-
śli tylko mamy zainstalowane odtwarza- ous options, możemy zdefiniować domyśl-
cze Xine i MPlayer, prawdopodobnie nie ny kodek, wykorzystywany przy konwer-
musimy nic poprawiać. Wyjątkiem może sji filmów DVD, oraz domyślny format pli-
Rysunek 1. Konfiguracja programu jest być ostatnia rubryka dotycząca ścieżki do ków wynikowych konwersji. Ustawienie
bardzo prosta
programu rar – program domyślnie szu- opcji Preferred language spowoduje, że

40 grudzień 2004
GNOME News

GIMP 2.2 coraz bliżej


program domyślnie będzie wybierał przy żemy dobrać samodzielnie w dolnej czę- Twórcy GIMP-a, najpopularniejszego
linuksowego programu do obróbki
rippowaniu ścieżkę dźwiękową w zdefi- ści okna. Każdemu z kroków odpowiada grafiki, nie zwalniają tempa. Po
niowanym przez nas języku, o ile oczy- podgląd dostępny w trzech oddzielnych udanej wersji 2.0 przygotowują już
wiście na płycie DVD zapisane jest więcej okienkach. wersję 2.2 – jej kolejne wersje testowe
niż jedna ścieżka dźwiękowa i dostępna Czwarta zakładka, Subtitles, dotyczy są dostępne w Internecie. Wśród wielu
zapowiadanych zmian uwagę zwracają
jest preferowana przez nas wersja języko- napisów w filmie – możemy w niej wy- liczne udogodnienia w pracy, takie
wa. Całość ustawień zatwierdzamy przyci- brać jedną z wersji napisów, jeśli jest do- jak poprawienie interfejsu, znaczne
skiem OK. stępnych kilka na płycie. Możemy też zmo- ulepszenie obsługi techniki drag-and-
dyfikować sposób ich wyświetlania (ram- drop pomiędzy GIMP-em a innymi
programami, oraz usprawnienie
Rippowanie ka Render subtitle on movie). kopiowania i wklejania obiektów
Po pomyślnym skonfigurowaniu progra- Kolejna zakładka, Transcode, to konfi- pomiędzy GIMP-em a programami
mu możemy zabrać się od razu do przete- guracja opcji programu kodującego. Więk- zewnętrznymi, w tym OpenOffice.org
stowania jego działania. Z menu programu szość z nich zdefiniowaliśmy już wcze- i Abiwordem.
http://gnomedesktop.org/node/2051
wybieramy File –>New Project. Konfigura- śniej, ale możemy je tutaj zmienić. Prze- http://www.gimp.org/
cja projektu przebiega w podobny spo- ciętnego użytkownika zainteresuje naj-
GNOME-owy Firefox
sób, jak konfiguracja programu – przecho- bardziej ramka Video bitrate calculation, Na fali popularności przeglądarki
dzimy kolejno od jednej zakładki do dru- w której definiujemy, na ilu nośnikach i ja- Firefox powstały tematy graficzne dla
giej. W pierwszej z nich (Storage) wybiera- kiej wielkości ma zmieścić się przekonwer- niej, upodabniające ją do natywnych
my nazwę dla projektu. Po wpisaniu na- towany film. Domyślne wartości to dwie programów GNOME.
http://gnomefx.mozdev.org/
zwy, kolejne pola, w których musimy po- płyty po 700 MB każda. Możemy je do-
dać miejsce przechowywania plików VOB brać według własnych preferencji. Na do- GNOME 2.9.1
Od niedawna możemy cieszyć się
(film DVD) i plików AVI (przekonwertowa- le okna dostępnych jest kilka przycisków:
wersją 2.8 środowiska GNOME, ale
ny film), zostaną odpowiednio wypełnio- Transcode + Split przekonwertuje wybra- jego programiści nie marnują czasu
ne (możemy je oczywiście zmienić). Mu- ne ścieżki i stworzy tyle plików wyjścio- i ostro zabierają się za tworzenie
simy jeszcze wybrać sposób rippowania wych, ile wybraliśmy nośników dla fil- wersji 2.10. Na razie ukazała się
pierwsza wersji środowiska w gałęzi
– przegranie na dysk i potem konwersja mu. Przycisk View AVI służy do podglą-
rozwojowej, oznaczona numerem 2.9.1.
(Rip data from DVD to harddisk before en- du pliku wyjściowego. Proces konwersji Zakończenie prac nad wersją 2.10
coding), konwersja w locie wprost z płyty trwa kilkanaście do kilkudziesięciu mi- planowane jest na marzec 2005 roku.
DVD (Encode DVD on the fly) lub konwer- nut – w zależności od wielkości filmu Deweloperzy zachęcają do testowania!
http://gnomedesktop.org/node/2021
sja z wykorzystaniem obrazu płyty DVD i parametrów komputera.
przechowywanym na dysku we wskaza- Przedostatnia zakładka, Burning, doty- GNOME Personal Web
nym katalogu (Use existing DVD image lo- czy wypalania efektów rippowania na pły- Publishing
Powstał niedawno projekt GNOME
cated in this directory:). cie – definiujemy m.in. rodzaj płyty (zwy- Personal Web Publishing. mający na
W drugiej zakładce (RIP Title) może- kły obraz ISO 9660, (X)SVCD/CVD lub celu stworzenie narzędzia podobnego
my już przeglądać zawartość płyt DVD (X)VCD). Zależy on od wybranego przez do znanego z MacOS X programu
– jeśli włożyliśmy płytę do napędu, to nas wcześniej kodeka – w przypadku stan- Personal Web Sharing. Ma on ułatwiać
użytkownikowi publikowanie stron
należy wcisnąć przycisk Read DVD table dardowego formatu DivX będzie to opcja internetowych oraz wymianę plików
of contents, a w ramce poniżej ukażą się pierwsza. Możemy też nadać płycie etykie- zarówno w Internecie, jak i w sieciach
wszystkie ścieżki zapisane na płycie. Inte- tę i zdefiniować szybkość zapisu. lokalnych. Na razie program jest
resuje nas ta najdłuższa (pierwsza pozycji w wersji 0.0.2. Napisany jest w C#
i, co za tym idzie, wymaga Mono.
w każdym wierszu to czas trwania ścież- Podsumowanie http://gpws.sourceforge.net/
ki), ewentualne pozostałe (jeśli w ogó- To tylko pobieżny przegląd podstawo-
Grisbi 0.5.2
le są), które stanowią dodatki i filmy re- wych i najczęściej wykorzystywanych
Grisbi to ciekawy program do
klamowe. W rozwijanym menu po pra- możliwości programu Dvd::rip. Zaawan- zarządzania osobistymi finansami,
wej stronie, możemy też wybrać domyśl- sowanych użytkowników zainteresuje napisany przy użyciu GTK
ną dla rippowania, ścieżkę dźwiękową dla z pewnością tryb klastrowy – możliwość i przeznaczony oczywiście dla
GNOME. Dzięki programowi możemy
filmu. Należy pamiętać, że w kolejnych za- rozłożenia zasobożernego procesu rippo-
zaplanować nasz domowy budżet na
kładkach przetwarzane będą ścieżki, które wania płyt na kilka maszyn połączonych najbliższy miesiąc. Grisbi posiada
zostały wskazane w tym oknie. Wciśnię- w sieć. Pewnym mankamentem programu też wersję dla platformy Win32.
cie przycisku RIP selected title(s)/chapter(s) jest z pewnością język interfejsu – Dvd:: Program został napisany przez
deweloperów z Francji i pierwotnie
spowoduje przegranie wskazanych ścieżek rip przemówi do nas wyłącznie po angiel-
był przystosowany dla francuskiego
z płyty DVD na twardy dysk. sku. Zrekompensować to może, przynajm- użytkownika. Jego popularność
W trzeciej zakładce, Clip & Zoom, niej częściowo, intuicyjny układ sterowa- wzrosła jednak z chwilą stworzenia
decydujemy o parametrach przycięcia nia programem. Dużą zaletą programu jest angielskiej wersji programu.
Deweloperzy wciąż jednak poszukują
i zmiany wielkości obrazu. Standardowo również bardzo dobra dokumentacja, do-
chętnych do przetłumaczenia
proces ten przebiega w trzech krokach: stępna na stronie internetowej projektu Grisbi na inne języki. Program
pierwsze cięcie (1st clipping), powiększe- – niestety również tylko po angielsku. rozpowszechniany jest na licencji GPL.
nie (Zoom) i drugie cięcie (2nd clipping).
Parametry każdego z tych kroków mo- http://www.exit1.org/dvdrip/

www.lpmagazine.org 41
aktualności
oprogramowanie kde

KGpg
– menedżer kluczy
szyfrujących
Witold Kieraś

T ym, którzy nie spotkali się z szyfro-


waniem asymetrycznym i podpisem
cyfrowym, należy się kilka słów wyja-
klucz publiczny nie może posłużyć do
sfałszowania podpisu.
cujemy na archaicznych maszynach, to
raczej nie zauważymy różnicy. Propo-
nuję wybrać co najmniej klucz 2048-bi-
śnienia. Nie wnikając w szczegóły tech- Generujemy klucze towy. W polu Algorytm najlepiej pozo-
niczne, potrzebujemy zawsze dwóch po- Jeśli posiadamy zainstalowane środowi- stawić opcję domyślną, czyli DSA & El-
łączonych w parę kluczy – prywatnego sko KDE przynajmniej w wersji 3.2, to Gamal. Niektórych użytkowników być
(tajnego) i publicznego. Klucza tajne- prawdopodobnie KGpg jest już zainstalo- może skusi przycisk Tryb eksperta. Jest
go strzeżemy jak oka w głowie, nato- wane w systemie. to opcja otwierająca wirtualny terminal
miast klucz publiczny rozdajemy wszyst- Jeśli posiadaliśmy już wcześniej klu- i rozpoczynająca w nim proces genero-
kim chętnym – możemy go umieścić na cze GnuPG w standardowej ścieżce (ka- wania kluczy bezpośrednio w GnuPG.
swojej stronie internetowej lub na spe- talog .gnupg/ w katalogu domowym), to Mamy wówczas do dyspozycji wszyst-
cjalnym serwerze. Wszystko, co zosta- KGpg wykryje je i będziemy mogli z nich kie opcje tego programu, ale w większo-
ło zaszyfrowane naszym kluczem pu- normalnie korzystać. Jeśli jednak nie po- ści przypadków nie są nam one potrzeb-
blicznym, może zostać odszyfrowane siadamy kluczy, to będziemy je musieli te- ne. Po wciśnięciu przycisku OK zostanie-
wyłącznie przy pomocy naszego klu- raz wygenerować. Aby wygenerować no- my poproszeni o dwukrotne podanie ha-
cza tajnego (takiej wiadomości nie moż- wą parę kluczy, wybieramy z menu Klu- sła dla pary kluczy. Ważne jest, aby ha-
na odszyfrować nawet kluczem publicz- cze–>Wygeneruj parę kluczy... lub wci- sło było ono odpowiednio długie (najle-
nym, którego użyto do jej zaszyfrowania skamy kombinację klawiszy [Ctrl]+[N ]. piej kilkunastoznakowe) i z pozoru bez-
– na tym zresztą polega siła kryptogra- Musimy teraz wypełnić kilka pól w no- sensowne (zawierające znaki niealfanu-
fii asymetrycznej). Zatem, jeśli ktoś bę- wootwartym oknie. Nazwa to miejsce na meryczne), aby w przypadku wykrad-
dzie chciał przesłać nam poufną wiado- nasze imię i nazwisko lub pseudonim. nięcia przez kogoś klucza tajnego, unie-
mość, zaszyfruje ją naszym kluczem pu- W polu E-mail wpisujemy adres poczty możliwić tzn. atak słownikowy. Po za-
blicznym i prześle e-mailem, nie mar- elektronicznej, z którego będziemy korzy- twierdzeniu hasła rozpoczyna się właści-
twiąc się, że list może zostać przechwy- stać np. przy wysyłaniu zaszyfrowanych wy proces generowania kluczy. Im więk-
cony. W gruncie rzeczy może on taką listów. W polu Komentarz możemy (choć sze klucze generujemy, tym dłużej będzie
wiadomość umieścić nawet na publicz- nie musimy) zamieścić własne uwagi na on trwał - w przypadku kluczy 4096-bi-
nie dostępnym serwerze lub (jeśli bę- temat klucza. Następnie określamy datę towych na średniej klasy maszynie nawet
dzie miał taki kaprys) jako ogłoszenie ważności klucza, czyli czas, po którym kilkadziesiąt sekund. Dzieje się tak dla-
w gazecie codziennej. Nie ma to znacze- klucz zostanie unieważniony (uznany za tego, że generator liczb pseudolosowych
nia, ponieważ i tak odszyfrować ją bę- nieważny). W przypadku gdy generujemy potrzebuje zapełnić swój bufor losowymi
dzie mógł tylko adresat, czyli posiadacz klucze jakiegoś projektu programistycz- danymi, a im większy klucz generujemy,
klucza tajnego. nego, warto określić rozsądny termin ich tym więcej czasu to zajmuje. Można mu
Wraz z szyfrowaniem asymetrycznym wygaśnięcia, bo może mieć to krytycz- w tym pomóc poruszając w trakcie gene-
dostępny jest również podpis cyfrowy. ne znaczenie dla bezpieczeństwa nie tyl- rowania kluczy myszką i/lub wciskając
Podpisać możemy nim zarówno doku- ko naszego, ale i innych użytkowników
ment tekstowy, jak i plik binarny. Podpisu projektu. Jeśli natomiast ma to być klucz
dokonujemy przy pomocy klucza prywat- wykorzystywany wyłącznie do korespon-
nego. Zweryfikować go możemy przy po- dencji prywatnej, to zwykle wybierzemy
mocy klucza publicznego – zatem auten- tutaj opcję Nigdy – wówczas wygeneruje-
tyczność podpisu może potwierdzić nie- my klucze bezterminowe. Rozmiar klucza
mal każdy. Nie można jednak zmienić za- to kolejny parametr decydujący o bezpie-
wartości dokumentu lub pliku bez złama- czeństwie – im większy klucz, tym lepszy.
nia poprawności podpisu. Jeśli podmieni- Autorzy GnuPG twierdzą, że klucz 1024-
my chociaż jeden bit, wówczas weryfika- bitowy w zupełności wystarcza. Zwykle
cja da wynik negatywny. Ponadto, podpi- to prawda, ale z drugiej strony jedyną nie-
Rysunek 1. W KGpg możemy wygodnie
sanie kluczem publicznym da inny efekt dogodnością większych kluczy jest wy-
zarządzać kluczami szyfrującymi
niż podpisanie kluczem tajnym – zatem dłużony czas szyfrowania – jeśli nie pra-

42 styczeń 2005
KDE News

Książka dostępna w sieci


Książka pod tytułem C++
ciskiem myszy kliknąć na ikonce KGpg
GUI Programming with Qt 3,
(kłódka) w tacce systemowej i z menu autorstwa Jasmina Blanchette'a,
wybrać Odszyfruj zawartość schowka. jednego z inżynierów firmy
Otworzy się edytor KGpg i poprosi nas Trolltech, oraz menedżera
dokumentacji, Marka Summerfielda,
o podanie hasła. Jeśli hasło będzie prawi-
jest obecnie dostępna do ściągnięcia
dłowe, to wyświetli rozszyfrowaną wia- w postaci pliku PDF na stronie
domość. Podobnie w przypadku szyfro- wydawcy.
wania – zaznaczamy niezaszyfrowany http://phptr.com/title/0131240722#
tekst, kopiujemy go do schowka i w me- KOffice 1.3.4
nu ikonki wybieramy Zaszyfruj zawar- Wydano kolejną wersję
tość schowka. Wówczas program zapy- poprawkową pakietu biurowego
KOffice z gałęzi 1.3.x. Poprawiono
Rysunek 2. KGpg ma również wbudowany ta nas, którego klucza ma użyć do zaszy- w niej między innymi błąd filtra
edytor frowania wiadomości, a następnie wyko- importu dokumentów PDF w
na zadanie w wewnętrznym edytorze. Za- KWordzie oraz przywrócono
losowo na klawiaturze klawisze, które nie miast kopiowania do schowka, możemy możliwość kompilacji w KDE 3.1.5
i Qt 3.1.2.
powodują drukowana znaków, tzn. [Tab], użyć samego zaznaczania tekstu (bez ko- http://www.koffice.org/
[Caps Lock], [Shift], [Ctrl] i [Alt]. Po wyge- nieczności wciskania klawiszy [Ctrl]+[C ]). announcements/changelog-1.3.4.php
nerowaniu kluczy dobrze jeszcze zapisać W tym celu w menu głównego okna pro-
Wprowadzenie do Hydrogen
do pliku tzw. certyfikat unieważnienia. gramu wybieramy: Ustawienia–>Konfi- Linux Jurnal opublikował
W przypadku zapomnienia hasła, zagu- guracja: KGpg..., a następnie w zakładce artykuł pod tytułem An Introduction
bienia lub złamania klucza publicznego Różne zaznaczamy opcję Używanie za- to Hydrogen. Hydrogen jest
zaawansowanym programem
certyfikat ten może zostać rozpowszech- znaczenia myszy zamiast schowka. Po
perkusyjnym napisanym przy
niony w celu poinformowania innych, zrestartowaniu programu będziemy mo- użyciu biblioteki Qt, bardzo
że ten klucz nie powinien być już więcej gli już korzystać z tej funkcji. wysoko ocenianym przez
używany. Unieważniony klucz publiczny KGpg, jako część KDE, jest w pełni użytkowników.
http://www.linuxjournal.com/
nadaje się nadal do potwierdzania pod- zintegrowany z tym środowiskiem. Klika-
article.php?sid=7846
pisów wykonanych w przeszłości, ale nie jąc na dowolny plik prawym przyciskiem http://hydrogen.sourceforge.net/
będzie nim można podpisać dokumen- myszy, otrzymamy w menu konteksto-
Nuvola 1.0
tów w imieniu jego właściciela. Nadal bę- wym opcję: Działania–>Zaszyfruj plik, Znany artysta grafik, David
dzie można odszyfrowywać stare wiado- wywołującą ten program. Vignoni, udostępnił niedawno
mości przy pomocy odpowiadającego mu Opcje dostępne w menu konfigu- wersję 1.0 popularnego zestawu
ikon dla KDE swojego autorstwa
klucza prywatnego. racji są raczej intuicyjne i nie powin-
o nazwie Nouva. Przyznać
ny sprawić użytkownikowi problemów. trzeba, że ikony robią wrażenie
I co dalej? Jedną z ciekawszych funkcji dostępnych i ucieszą z pewnością każdego
Klucz możemy modyfikować po jego w KGpg jest Niszczarka. W menu progra- fana biurkowych “upiększaczy”.
W skład zestawu wchodzi ponad
wygenerowaniu. Wystarczy w głównym mu wybieramy: Ustawienia–>Konfigura-
sześciuset (!) ikon Davida.
oknie KGpg kliknąć na wybrany klucz cja: KGpg...–>Różne, a następnie klika- http://www.kde-look.org/content/
prawym przyciskiem myszy i odnaleźć my przycisk Zainstaluj Niszczarkę. Na na- show.php?content=5358
opcję Modyfikuj klucz. Możemy modyfi- szym pulpicie pojawi się ikona Niszczar- QGO 0.2.2
kować datę ważności klucza, hasło oraz ka. Służy ona do skutecznego zamazy- Powstały niedawno projekt QGO,
stopień zaufania. Możemy również do- wania dokumentów, których chcemy się klient starożytnej dalekowschodniej
dać do klucza nasze zdjęcie –wybieramy pozbyć tak, aby nie można ich było od- gry Go, napisany w Qt, rozwija
się całkiem prężnie. Ostatnio
opcję Dodaj fotografię, a następnie wska- tworzyć na podstawie zapisów na dysku. udostępniono wersję 0.2.2 tego
zujemy plik ze zdjęciem. W menu kontek- O przydatności takiej funkcji boleśnie programu. QGO pozwala na grę
stowym dostępne są również takie opcje, przekonał się w ostatnich miesiącach nie- z żywym przeciwnikiem w Sieci
jak eksport klucza tajnego do pliku (tak, jeden polityk w naszym kraju. lub z programem, np. popularnym
silnikiem do gry w Go o nazwie
abyśmy mogli zrobić jego kopię zapaso- Gnugo.
wą) czy podpisanie cudzego klucza pu- Podsumowanie http://qgo.sourceforge.net/
blicznego (świadczy to o naszym przeko- KGpg to program, który za pomocą kil-
Tropical TuxSaver 1.0
naniu, że klucz jest poprawny i należy do ku kliknięć myszą udostępnia użytkow- Jesteście spragnieni trójwymiarowych
zaufanej osoby). nikowi silne narzędzie kryptograficzne. wygaszaczy ekranu? Oto ukazała
Teraz możemy w łatwy sposób zarzą- Z pewnością przyda się ono nawet tym, się właśnie wersja 1.0 wygaszacza
o nazwie Tropical TuxSaver.
dzać kluczami, a także szyfrować i pod- którzy twierdzą, że nie mają nic do ukry-
Możemy teraz obserwować na
pisywać wiadomości oraz pliki. Najwy- cia, tym bardziej, że w świecie Wolnego naszych ekranach życie pingwina
godniej użyć do tego schowka systemo- Oprogramowania podpisywanie pakie- na tropikalnej wyspie lub na górze
wego. Wystarczy zaznaczyć zaszyfrowany tów kluczami PGP to podstawa bezpie- lodowej...
http://kde-apps.org/content/
tekst (wraz z nagłówkami), wcisnąć kom- czeństwa.
show.php?content=4773
binację klawiszy [Ctrl]+[C ] (kopiowanie
do schowka), a następnie prawym przy- http://developer.kde.org/~kgpg/

www.lpmagazine.org 43
aktualności
oprogramowanie linuxfresh

Gubed
– debugger skryptów w PHP
Piotr Machej

M ówi się, że język PHP jest bardzo


prosty. Owszem, łatwo nauczyć
się podstaw, a wiele rzeczy można
Instalacja może sprawić nieco pro-
blemu. Tym bardziej, że ze względów
bezpieczeństwa lepiej nie dawać do-
to nasz klient, z którego będziemy ko-
rzystać.
Teraz pora na umieszczenie kil-
w nim zrobić na wiele sposobów. Pod- stępu do Gubed nieupoważnionym ku plików w głównym katalogu na-
czas programowania może przytrafić osobom. Jeśli do naszego kompute- szego serwera WWW. W tym celu po-
się nam błąd. Szczególnie, gdy pracu- ra mają dostęp inni użytkownicy (za- trzebujemy uprawnień administratora.
jemy nad jakimś większym projektem. równo zdalny, jak i lokalny), koniecz- Znajdując się w katalogu Gubed0.1.2/,
W takim przypadku z pomocą przy- nie powinniśmy przeczytać sekcję wydajemy polecenie cp -r Gubed/
chodzą debuggery. Jednym z nich, Security zawartą w pliku serverse- /var/www/html/ (zależnie od konfigura-
przeznaczonym do analizowania pro- tup.txt. Jeśli jednak nie boimy się za- cji naszego serwera WWW, katalog do-
gramów napisanych w PHP, jest Gu- grożeń lub potrafimy sobie z nimi po- celowy może być inny).
bed. radzić, to możemy zabrać się za in- Możemy już uruchomić nasze-
Do czego może przydać się debug- stalację. Ze strony domowej pobiera- go klienta poleceniem ./gbdwxGubed.
ger? Na pewno nie do szukania braku- my plik Gubed0.1.2.tar.gz, a następ- Oprócz tego, należy uruchomić prze-
jącego nawiasu – do tego w zupełno- nie rozpakowujemy go. W utworzo- glądarkę internetową i wejść do
ści powinien wystarczyć dobry edy- nym katalogu najpierw zainteresu- katalogu, w którym umieściliśmy skry-
tor z kolorowaniem składni. Jeśli nasz je nas podkatalog Clients/wxGubed/. pty Gubed (np. http://localhost/Gubed/ ).
program działa nie do końca tak, Wchodzimy do niego i wydajemy pole- W ten właśnie sposób będziemy pra-
jak powinien, zapętlając się w nieskoń- cenia: ./autogen.sh, ./configure, make. cować – z pomocą przeglądarki bę-
czoność lub, przeciwnie, nie wyko- Jeśli wszystko przebiegnie bez pro- dziemy podawać, jakie skrypty mają
nując jakiejś pętli ani razu, to wtedy blemów (w przypadku Auroksa wy- być testowane (i będziemy obserwować
właśnie pora na debuggera. Z jego magany jest pakiet wxGTK-devel ), to wyniki działania), a z pomocą klien-
pomocą możemy prześledzić program w podkatalogu src/ powinniśmy zna- ta będziemy śledzić działanie progra-
krok po kroku, obserwując zmienia- leźć plik o nazwie gbdwxGubed. Jest mu.
jące się wartości zmiennych, i może
w końcu dostrzeżemy, że znów zamiast
= = w warunku wstawiliśmy =. Oczy-
wiście, błąd może być zupełnie inny,
i niekoniecznie tak trywialny. Zawsze
jednak mamy większe szanse na zna-
lezienie go obserwując kod podczas
działania.
W przypadku debuggera Gubed
z pewnością ucieszy nas wiadomość,
że nie są wymagane żadne przerób-
ki w oprogramowaniu serwera, ani
tym bardziej w sprawdzanym ko-
dzie. Co więcej, możemy uruchamiać
Gubed na innym komputerze niż te-
stowany skrypt. Przykładowo, skrypt
może być uruchamiany na serwe-
rze linuksowym, a sam Gubed może
działać na naszym domowym kompu-
terze z Windows (Gubed działa zarów-
no w środowisku Linuksa, jak i Win-
Rysunek 1. Gubed pozwala zapoznać się dokładnie z działaniem skryptu
dows).

44 styczeń 2005
FRESH News

PostgreSQL AutoDoc 1.24


Program ten pozwala na zapisywanie
do pliku XML informacji o bazie
PostgreSQL, które później mogą
być wykorzystane do stworzenia
diagramu UML. Diagram taki (wraz
z relacjami pomiędzy tabelami
i informacjami opisowymi) można
utworzyć wczytując plik XML do
programu Dia. Oprócz plików XML,
możemy zapisywać informacje
o bazie w formatach HTML,
GraphViz .dot, a także SGML
(Docbook 4.1). Program
współpracuje z każdą bazą opartą
na PostgreSQL 7.x. W najnowszej
wersji wprowadzono poprawki kilku
błędów.
http://freshmeat.net/projects/
postgresql_autodoc/
MPFC 1.3.3
MPFC to działający w trybie
tekstowym (w oparciu o bibliotekę
Curses) odtwarzacz muzyki. Dzięki
Rysunek 2. Gubed może zostać zintegrowany z programem Quanta wykorzystaniu listy odtwarzania
jest wygodniejszy w użyciu od
programów typu mpg321. Program
Przy pierwszym korzystaniu z Gubed Analizowanie własnego skryptu obsługuje wiele różnych formatów
warto uruchomić testy. Pozwoli to na za- przebiega bardzo podobnie do tego, plików (wykorzystuje w tym celu
wtyczki). W nowej wersji znacznie
poznanie się z możliwościami progra- co robiliśmy w czasie testów. Skrypt poprawiono system konfiguracji
mu. W tym celu na wyświetlonej stronie należy umieścić gdzieś pod głównym i wprowadzono dowiązania klawiszy.
należy wybrać odnośnik znajdujący się drzewem katalogu serwera WWW http://freshmeat.net/projects/mpfc/
w sekcji Gubed tests. Jeśli później zdecy- (a więc w naszym przykładzie w pod- Exobius 0 0.3
dujemy się testować własne skrypty, to katalogu katalogu /var/www/html/ ). Grając w rozbudowane gry
skorzystamy z odnośnika specify script to Następnie ścieżkę do niego podaje- z trójwymiarową grafiką,
czasem zapominamy o prostych
debug (albo od razu wejdziemy na stronę my na stronie http://localhost/Gubed/
strzelaninach, od których wszystko
http://localhost/Gubed/StartSession.php). StartSession.php, po czym wciskamy się zaczęło. Próbą stworzenia takiej
Mamy do dyspozycji cztery grupy przycisk Debug i przechodzimy do dwuwymiarowej gry jest właśnie
testów. O każdym z nich możemy okna klienta Gubed. Tutaj możemy do Exobius 0. Gra zawiera obecnie 13
poziomów, wypełnionych broniami
najpierw poczytać. Drugi odnośnik woli analizować go krok po kroku, lub
i przeciwnikami. Pomimo wczesnej
pozwala na uruchomienie skryptu bez też ustawić punkty kontrolne w wątpli- fazy rozwoju, gra jest już w pełni
udziału debuggera – dzięki temu mo- wych miejscach i pozwolić mu się wy- funkcjonalna – można przechodzić
żemy zaobserwować jego działanie konywać. ją od początku do końca.
Największym mankamentem jest
i wynik. Trzeci odnośnik to wykonanie W najnowszej wersji wprowadzono
niedokończona grafika, która jednak
skryptu pod kontrolą Gubed. Po jego wy- funkcje Step over (wykonuje funkcję, ma zostać poprawiona w następnych
wołaniu należy przełączyć się na klienta. lecz nie śledzi jej wykonania), Step out wydaniach. Warto zainteresować się
Musimy bowiem zdecydować, czy chce- (śledzi wykonanie funkcji krok po kro- tym tytułem, a może nawet wesprzeć
autora w jego wysiłkach.
my obserwować wykonanie krok po kro- ku) oraz Backtrace. Oprócz tego, po-
http://freshmeat.net/projects/
ku (przyciski Step), czy też wolimy po- prawiono otwieranie skryptów z klien- exobius0/
zwolić skryptowi się wykonywać – przy- ta oraz dodano listę historii do Start-
Thunder&Lightning 041013
cisk Run. W tym drugim przypadku za- Session. Thunder&Lightning to futurystyczny
wsze możemy wcisnąć przycisk Pause. http://freshmeat.net/projects/gubed symulator lotu. Pozwala nam zasiąść
Warto przeczytać wszystkie wprowadze- za sterami myśliwca i toczyć walki
zarówno z innymi samolotami, jak
nia do testów. Pouczają one między in-
i z czołgami. Ładna, trójwymiarowa
nymi o ustawieniach dotyczących reago- grafika z pewnością ułatwi wczucie
wania na pojawiające się błędy. Wykonu- się w grę. Program jest wciąż w fazie
jąc po kolei testy, nauczymy się korzystać rozbudowy – dopiero niedawno
został udostępniony publiczności.
z punktów kontrolnych (breakpoint), ob-
Najnowsza wersja działa również
serwować wywołania funkcji (tu przy- pod Windows. Obecnie można
dadzą się przyciski Step Over, Step Into latać jednym z dwóch dostępnych
i Step Out), konfigurować Gubed tak, aby samolotów (tytułowe Thunder
i Lightning), lecz w przyszłości
zwracał uwagę na konkretne błędy oraz
autor zamierza udostępnić więcej
będziemy mieli okazję śledzić wartości typów maszyn.
zmiennych i ustawiać warunkowe punk- http://freshmeat.net/projects/tnl/
Rysunek 3. Gubed analizujący skrypt PHP
ty kontrolne.

www.lpmagazine.org 45
aktualności
oprogramowanie linuxfresh

Cssed
– edytor arkuszy stylów CSS
Piotr Machej

C oraz więcej twórców stron WWW


wykorzystuje w swej pracy kaskado-
we arkusze stylów (CSS – Cascading Sty-
le Sheets). Jest to godne pochwały, gdyż
dzięki temu nie tylko oszczędzają sobie
mnóstwo pracy, ale równocześnie idą
z duchem czasu. A jeśli tylko wykażą
trochę wysiłku, to mogą stworzyć stro-
nę, którą nie tylko da się wygodnie oglą-
dać w dowolnej przeglądarce, ale również
będzie dostępna dla niepełnosprawnych
(czy to korzystających z linijek brajlow-
skich czy z syntezatorów mowy).
Cssed to program ułatwiający tworze-
nie arkuszy stylów. Co prawda, obecnie
potrafi podświetlać również składnie in-
nych plików, ale nadal pozostaje edyto-
rem plików CSS. Wśród jego zalet war-
to wymienić podświetlanie i autouzupeł-
nianie. Program wyposażony jest również
w wiele kreatorów pomagających przy
tworzeniu najczęściej wykorzystywanych Rysunek 1. Nic dziwnego, że arkusz stylów użyty na stronie domowej Cssed nie zawiera
błędów
stylów (np. układu marginesów czy ro-
dzaju fontów). Oczywiście, Cssed jest
w stanie sprawdzić poprawność wpisane- my korzystać z autouzupełniania, mu- nie tylko we wprowadzaniu nazw atrybu-
go kodu. Nie można mu również odmó- simy zaznaczyć opcję Document–>Ena- tów, ale również ich wartości. Sugeruje
wić wygody użytkowania – interfejs jest ble autocompletion (ma to tylko sens bowiem zarówno możliwe wartości, jak
przejrzysty i łatwy w obsłudze. w przypadku CSS). Przydatna może i pozwala skorzystać z kreatora (np. z pa-
Program możemy zainstalować za- się też okazać opcja Document–>Ena- lety barw w przypadku kolorów czcionek
równo z pakietów (dostępne są pakiety ble folding – szczególnie, gdy pracuje- lub obramowań). Kreator możemy rów-
RPM i DEB), jak również ze źródeł. Naj- my z dłuższym plikiem. Pozwala ona nież uruchomić ręcznie, wybierając od-
wygodniejsza oczywiście jest ta pierwsza bowiem zwijać zawartość poszczegól- powiednią ikonę z paska znajdującego
możliwość. Po zainstalowaniu możemy nych klas tak, że widoczny jest tylko na- się tuż nad dokumentem lub z menu CSS.
uruchomić program poleceniem cssed. główek. Warto przy tym zauważyć, że Ostatnia możliwość wstawienia do doku-
Po uruchomieniu, gdy zaczyna- opcje ustawiane w menu Document są mentu atrybutu wraz z wartością to sko-
my pracę z nowym dokumentem, war- charakterystyczne dla każdego doku- rzystanie z drzewka atrybutów znajdują-
to od razu ustawić odpowiednią czcion- mentu z osobna – możemy w każdym cego się po prawej stronie dokumentu,
kę. Dokonujemy tego wybierając z me- z nich korzystać z innej czcionki i edyto- w zakładce CSS.
nu Document pozycję Change font. War- wać inny typ pliku. Podczas edycji może przydać się nam
to też wybrać typ pliku, z jakim będzie- Wartości do naszego pliku stylów mo- pewna wygodna funkcja. Wystarczy za-
my pracować. W tym celu wskazujemy żemy wprowadzać na kilka sposobów. znaczyć grupę atrybutów, które chcemy
Document–>Highlighting –>CSS. Oczy- Najbardziej podstawowy to wpisywa- modyfikować, a następnie wybrać opcję
wiście, jeśli mamy zamiar tworzyć in- nie wszystkich wartości ręcznie. Do te- Tools–>Scan selector. Wybrane atrybu-
ny dokument (np. stronę WWW ), to za- go jednak nie potrzebowalibyśmy Cssed. ty znajdą się w prawym górnym oknie,
miast CSS wybieramy HTML/PHP lub Jak już wiemy, możemy sobie pomóc au- gdzie w wygodny sposób będziemy mo-
inną odpowiednią wartość. Jeśli chce- touzupełnianiem. Co ważne, pomaga ono gli zmodyfikować ich wartości.

46 styczeń 2005
FRESH News

CbrPager 0.9.4
CbrPager to jeden z programów
Inną przydatną funkcją są znaczniki. ustawić domyślne wartości dla każdego
pozwalających przeglądać archiwa CBR,
Podczas edycji dużych plików są one po dokumentu. Warto zaznaczyć opcje View w których coraz częściej rozprowadzane
prostu nieocenione. Jeśli podczas edycji line numbers i Enable autocompletion. są w sieci komiksy i mangi. Co prawda
często skaczemy pomiędzy konkretny- W zakładce Font ustawiamy odpowiada- nie jest to program na miarę CDisplay,
znanego z Windows, ale autor wciąż
mi liniami poprawiając wartości, to wy- jącą nam czcionkę i zatwierdzamy ją przy-
dodaje nowe funkcje. Program pozwala
starczy kliknąć na marginesie po lewej ciskiem Apply. Pozostaje jeszcze zakładka przeglądać pliki JPG, GIF i PNG. Oprócz
stronie każdej z tych linii. Powinny po- Highlighting. Tutaj możemy dokładnie podstawowych funkcji powiększania
jawić się tam białe znaczniki. Teraz mo- określić, jakie kolory powinny być uży- i zmniejszania widoku, posiada kilka
ciekawych opcji konfiguracyjnych
żemy poruszać się pomiędzy nimi ko- te do podświetlania w konkretnych przy-
(np. możemy określić, czy przy przejściu
rzystając ze strzałek Previous Bookmark padkach. do kolejnej strony ma być wyświetlona
i Next Bookmark, widocznych na pasku Trzeba przyznać, że Cssed zapowia- jej górna lub dolna część, czy też raczej
narzędzi. da się interesująco. Już w tej chwili jest ta, którą właśnie wyświetlaliśmy).
Najnowsza wersja programu pozwala
W dolnej części ekranu mamy dwie przyjemnym edytorem CSS, a autor sta-
także określić, czy panel nawigacyjny
zakładki – Program output i Scratch Pad ra się jeszcze bardziej rozbudować je- ma być wyświetlany poziomo czy
/ Static Pad. Pierwsza z nich zawiera wy- go możliwości. Wśród najbardziej intere- pionowo.
niki zwracane przez program, np. komu- sujących planów można wymienić moż- http://freshmeat.net/projects/cbrpager/
nikaty o błędach. Szczególnie przydatna liwość przeglądania strony WWW z na- Player vs. Player Gaming
jest podczas testowania poprawności ko- łożonym stylem w zewnętrznej przeglą- Network 1.6.6
du, czego dokonujemy wybierając z menu darce oraz (uwaga!) możliwość tworze- PvPGN to darmowe oprogramowanie
emulujące serwer Battle.net. Dzięki
pozycję Tools–> Validate only. Warto przy nia arkusza stylu na podstawie dokumen- niemu można w sieci lokalnej
tym mieć włączone numerowanie linii tu HTML. Chodzi tu o przetworzenie sta- uruchomić serwer i pograć w takie
(Document–>View line numbers), gdyż rych znaczników HTML (np. <font>) na gry, jak Diablo II czy Starcraft.
dzięki temu łatwiej zlokalizować błąd ich odpowiedniki w kaskadowych arku- Dostępne są statystyki gier, możliwość
organizowania turniejów, jak również
w większym pliku. Druga zakładka za- szach stylów. drabinki punktowe. W najnowszej
wiera dwa okna, które możemy wyko- W najnowszej wersji programu znacz- wersji poprawiono szereg wykrytych
rzystać na notatki. Mogą się one również nie ulepszono wsparcie dla różnych ko- błędów oraz dodano kilka nowych
przydać jako schowek – zaznaczony tekst dowań znaków. Dodano też schematy opcji, np. opcję pozwalającą ograniczyć
dostęp do wybranych klientów.
można tu przeciągnąć z dokumentu, a na- podświetleń dla innych języków, takich http://freshmeat.net/projects/pvpgn/
stępnie wkleić go do innego dokumentu jak HTML, PHP, skrypty powłoki, Python
HTML Forms generation and
(przeciągając go ponownie). i inne. Stworzono interfejs rozbudowywa-
validation 2004.10.13
Jeśli Cssed spodoba się nam, warto ny wtyczkami i od razu udostępniono kil- Twórcy stron WWW piszący
zmienić jego domyślne ustawienia. Każ- ka wtyczek: panel przeglądania plików, w PHP wcześniej lub później stają
dorazowe ustawianie opcji w menu Do- okno terminala VTE, a także panel wy- przed problemem stworzenia
formularzy wraz z ich obsługą.
cument może być męczące. Zamiast te- szukiwania tekstu w plikach.
Opisywana klasa PHP pozwala na
go wybieramy Edit–>Preferences. Tutaj, generowanie takich formularzy wraz
w zakładce Document settings, możemy http://freshmeat.net/projects/cssed/ z odpowiednią obsługą z klawiatury
oraz sprawdzaniem poprawności
danych (zarówno po stronie serwera,
jak i klienta). Jej funkcjonalność
może być rozszerzana poprzez
dodawanie klas-wtyczek. Wygląd
wynikowych formularzy może być
definiowany szablonami z użyciem
PHP, zagnieżdżonego w HTML-u lub
też silnika Smarty. Najnowsza wersja
niesie ze sobą kilka poprawek, m.in.
poprawiono działanie klasy przy
wyłączonej opcji register_globals.
http://freshmeat.net/projects/htmlformsg
enerationandvalidation/
Getmail 4.2.2
Pojawiła się nowa wersja programu
Getmail, który w zamierzeniu autora
ma być prostą i bezpieczną alternatywą
dla popularnego programu Fetchmail.
Zmiany dotyczą poprawionej obsługi
uszkodzonych plików oldmail,
jak również zmiany prawdziwego
i efektywnego identyfikatora
użytkownika i grupy potomnego
procesu odpowiedzialnego za
dostarczanie poczty.
Rysunek 2. Oprócz Cssed, autor oferuje również kilka innych narzędzi pomocnych przy
http://freshmeat.net/projects/getmail/
edycji arkuszy stylów

www.lpmagazine.org 47
aktualności
oprogramowanie linuxfresh

Vuurmuur
– konfigurator zapór
sieciowych
Piotr Machej

K ażdy, kto kiedyś tworzył zapo-


rę ogniową z wykorzystaniem
iptables lub ipchains, z pewnością zdaje
Po pobraniu archiwum ze strony
domowej programu powinniśmy je roz-
pakować. Należy uważać, gdyż nie jest
klawisz [Enter ]). Teraz musimy chwilę
poczekać, aż program skompiluje się
i zainstaluje.
sobie sprawę, że w pewnym momencie tworzony dodatkowy katalog – pliki W celu dokończenia konfiguracji
liczba regułek zaczyna przytłaczać. Z te- znajdą się w bieżącym katalogu. Na- należy uruchomić program vuurmuur
go powodu wielu użytkowników wciąż stępnie uzyskujemy uprawnienia admi- _conf. Najlepiej zacząć od ustawień
szuka metod łatwiejszego tworzenia re- nistratora (poleceniem su - lub logując ogólnych: Vuurmuur Config –>Gene-
guł i zarządzania zaporą sieciową. Jed- się na konto użytkownika root) i prze- ral. Możemy tu się upewnić, że ścieżki
nym z ciekawszych pomysłów jest pro- chodzimy do katalogu, w którym roz- do programów ifconfig i iptables są pra-
gram Vuurmuur. W założeniu program pakowaliśmy archiwum. Nie wystarczy widłowe, a także sprawdzić pozostałe
ten ma przetwarzać regułki zrozumia- tu polecenie su (bez myślnika), gdyż ścieżki. Do wcześniejszego menu wy-
łe dla człowieka (np. Zablokuj połącze- w takim przypadku najczęściej nie ma- chodzimy wciskając klawisz [F10 ]. Po-
nia FTP z komputera Janka do serwera my dostępu do polecenia iptables bez dobnie warto sprawdzić i ewentualnie
w Internecie) na reguły zrozumiałe dla podawania pełnej ścieżki – a taki do- poprawić wartości w pozostałych sek-
komputera. I trzeba przyznać, że radzi stęp jest nam potrzebny podczas insta- cjach konfiguracyjnych (z naciskiem na
sobie z tym całkiem dobrze. Co więcej, lacji. W najnowszej wersji mamy do dys- Logging).
pozwala również na przeglądanie logów pozycji skrypt instalacyjny, który wyko- Teraz pora dodać interfejsy. Wycho-
w bardziej zrozumiałej formie. Począt- na za nas większość czynności. Uru- dzimy do głównego menu i wybieramy
kowa konfiguracja wymaga trochę wy- chamiamy go poleceniem ./install.sh, Interfaces. Klawiszem [Insert ] możemy
siłku, ale i tak jest znacznie prostsza niż a następnie odpowiadamy na kilka py- dodać nową pozycję. Wpisujemy na-
przekopywanie się przez dokumentację tań o nazwy katalogów. W większości zwę naszego interfejsu. Jest to nazwa,
IPtables. Z pewnością warto się z nim przypadków możemy zatwierdzić do- jaka będzie wykorzystywana tylko
bliżej zapoznać. myślne ustawienia (wystarczy wcisnąć w programie Vuurmuur – najlepiej, je-
śli będzie czytelna i krótka (np. inet dla
interfejsu łączącego nas z Internetem
lub dom dla sieci domowej). W kolej-
nym oknie możemy wpisać jego adres
IP (jeśli zaznaczymy pole Dynamic, to
program spróbuje odczytać adres z sys-
temu) oraz nazwę urządzenia (Device).
Możemy też dopisać komentarz.
W analogiczny sposób możemy do-
dać strefy (Zones). Domyślnie mamy
zdefiniowane cztery – dmz (strefa zde-
militaryzowana), ext (zewnętrzna – In-
ternet), lan (sieci lokalne) i vpn (wir-
tualne sieci lokalne). Wejdźmy na po-
czątek do strefy ext. Zobaczymy spis
sieci (Networks), składających się na
tą strefę. Domyślnie jest tu tylko sieć
internet, ale możemy dodawać inne.
Wskażmy sieć internet i wciśnijmy
klawisz [E ]. Okazuje się, że nie ma
przypisanego interfejsu. Jeśli dodaliśmy
Rysunek 1. Z pomocą Vuurmuur możemy również przeglądać aktywne połączenia
już wcześniej interfejs łączący nas
z Internetem, to teraz możemy go

48 styczeń 2005
FRESH News

FreeRails 0.2.5
Miłośnicy klasycznej już gry Railroad
Tycoon z pewnością ucieszą się,
że pojawiła się kolejna wersja gry
FreeRails. Ta darmowa gra została
zainspirowana dziełem niezrównanego
Sida Meiera. Chociaż gra jest w fazie
Alpha, z każdą wersją pojawia się
w niej więcej funkcji. Tym razem
m.in. dodano opcję automatycznego
rozkładu jazdy, który może wybrać
odpowiednie wagony zależnie od
rodzaju ładunku oczekującego na stacji
początkowej i zapotrzebowania na
stacji docelowej.
http://freshmeat.net/projects/freerails/
GTorrentViewer 0.2a
Ten program pozwala na sprawdzenie
i zmodyfikowanie plików .torrent
bez konieczności rozpoczynania
pobierania. Możliwe jest sprawdzenie
plików (ile zostało do pobrania,
na ile części są podzielone), jak
również pobranie informacji
z trackera. Można też sprawdzić
Rysunek 2. Na domowej stronie projektu można przeczytać dokładny opis systemu stref, liczbę osób udostępniających pliki
sieci, grup i usług i je pobierających. W ostatnich
wersjach wprowadzono obsługę
tu przypisać. W tym celu wciskamy icmp-port-unreachable) i już możemy drag&drop, jak również usunięto
zależności od bibliotek libglade i libssl.
klawisz [F6 ], następnie [Insert ] i wska- wyjść do spisu reguł klawiszem [F10 ]. Poprawiono także szereg błędów.
zujemy nasz interfejs. W miarę potrzeb Przy okazji warto zauważyć, że użyli- http://freshmeat.net/projects/
możemy też ustawić inne opcje doty- śmy tu oznaczenia komputera firewall. gtorrentviewer/
czące sieci, po czym ustawiamy war- Jest to specyficzne oznaczenie, gdyż Childsplay 0.72
tość opcji Active na Yes. określa komputer, na którym zainsta- Childsplay to zestaw gier dla dzieci,
Gdy dodamy inne sieci do pozosta- lowana jest zapora. Wszystkie regułki zgodny z dewizą: bawiąc – uczy,
ucząc – bawi. Program posiada
łych stref (np. naszą sieć osiedlową), z jego udziałem dotyczą połączeń przy-
wbudowane dwie gry (Memory
należy do nich dodać konkretne adresy chodzących i wychodzących, podczas i wprowadzanie liter) – pozostałe gry
komputerów (Hosts). Komputery może- gdy pozostałe dotyczą połączeń prze- dostępne są w osobnym pakiecie.
my także łączyć w grupy (Groups), np. syłanych (forwarded ). Dostępne gry są przeznaczone dla
młodszych dzieci, które mogą tu
w celu określenia wspólnych reguł dla Gdy już wszystko mamy skonfigu-
poćwiczyć rozpoznawanie liter,
wszystkich serwerów pocztowych lub rowane, możemy uruchomić właści- podstawowe działania arytmetyczne,
dla nielubianych kolegów. Wszystkie te wy program na kilka różnych sposo- a także rozpoznawanie obrazków
czynności mają na celu dokładne opi- bów. Do wyboru mamy uczynienie i dźwięków. W najnowszej wersji
poprawiono szereg błędów i dodano
sanie naszej sieci, dzięki czemu później z niego demona (jest to zalecana opcja),
nową grę do zestawu. Niektóre gry
będziemy mogli łatwo tworzyć odpo- jednorazowe uruchomienie w celu za- wykorzystują obecnie zlokalizowane
wiednie regułki. Ta wstępna konfigu- ładowania reguł oraz wygenerowa- pliki dźwiękowe.
racja jest dokładniej opisana na stro- nie skryptu powłoki tworzącego reguł- http://freshmeat.net/projects/childsplay/
nie domowej programu, w sekcji User ki. Odpowiednie opcje można znaleźć Aviascene 2
Manual. po uruchomieniu polecenia /usr/bin/ Czy przed wybraniem się w dalszą
wyprawę nie chcielibyśmy mieć
Następnie możemy przejść do do- vuurmuur -h. W katalogu /usr/share/
możliwości zapoznania się z rzeźbą
dawania regułek (Rules w głównym vuurmuur/scripts/ można znaleźć przy- terenu? Program Aviascene nam
menu). I tutaj właśnie mamy najprzy- kładowe skrypty startowe oraz odpo- to umożliwia, ale na razie tylko
jemniejszą część zadania. Po wciśnię- wiadające za rotację logów. dla niektórych rejonów Stanów
Zjednoczonych. Dane o topografii
ciu [Insert ], w większości pól możemy W najnowszej wersji dodano wy-
terenu są wykorzystywane do
użyć klawisza spacji w celu wyświetle- godny skrypt instalacyjny, funkcję po- zrenderowania obrazu. Następnie
nia możliwych wartości. Tak więc, je- mocy w interfejsie graficznym, wspar- możemy udać się w wycieczkę
śli chcemy zablokować koledze połą- cie dla wirtualnych interfejsów, komen- pojazdem kołowym lub nawet
samolotem. Możemy nawet
czenie HTTP z naszym serwerem, to tarze dla regułek oraz różne ulepsze-
wykorzystać współrzędne GPS do
ustawiamy kolejno: (w polu Action) Re- nia interfejsu GUI. Oprócz tego, reguł- ustalania punktów kontrolnych. Jeśli
ject (Service) http (From) komputerkole- ki z włączonym logowaniem mogą mieć nie zamierzamy wybierać się na
gi (To) firewall. W nawiasach są umiesz- ustawione ograniczenia, co powinno wyprawę, zawsze możemy polatać
sobie samolotem nad rzeczywistymi
czone nazwy pól, w których należy utrudnić część ataków typu odmowa
terenami.
umieszczać następujące po nich war- usługi (DoS – Denial of Service). http://freshmeat.net/projects/aviascene/
tości. Jeszcze w polu Reject type usta-
wiamy odpowiedni typ odmowy (np. http://freshmeat.net/projects/vuurmuur/

www.lpmagazine.org 49
aktualności
oprogramowanie gry

Simutrans
– gra ekonomiczna
Marek Bettman

W 1994 roku wydano Transport Tyco-


on Deluxe – świetną strategię eko-
nomiczną, o niebywałej grywalności. Po-
potrzebne do uruchomienia gry. Gdy roz-
pakowywaliśmy pakiety w różnych kata-
logach, musimy przenieść plik simutrans,
W menu nowej gry możemy ustalić
wielkość mapy, ilość miast, gęstość obiek-
tów przemysłowych (im większa, tym
mimo dziesięciu lat istnienia wciąż ma licz- który znajduje się w katalogu o tej sa- więcej znajdzie się ich na mapie), natęże-
ne grono zwolenników i są przygotowy- mej nazwie, powstałym po rozpakowa- nie ruchu drogowego, topografię terenu
wane kolejne wersje poprawek (Drexler niu drugiego pakietu, do katalogu simu- oraz podstawowe opcje graficzne, takie
Patch). TTD ma swoje minusy – tylko jed- trans z plikami gry. Po takich przygoto- jak widoczność pieszych i używanie/
na wielkość mapy oraz ograniczenia co do waniach możemy uruchomić grę polece- nieużywanie trybu dzień-noc. Należy pa-
liczby pojazdów w grze. Niektórzy narze- niem ~/simutrans/simutrans, ale warto miętać, że ustawienie wysokich wartości
kają również na zbyt małą liczbę przedsię- wiedzieć o paru przełącznikach: zmiennych może zwolnić działanie gry na
biorstw dostępnych w grze. Grą, która nie- słabych maszynach. Jeżeli jesteśmy zado-
wątpliwie zaspokoi nawet dość wygóro- • -screensize 1024x768 – podajemy roz- woleni z ustawień, możemy kliknąć przy-
wane wymagania najzagorzalszych fanów dzielczość, w której zostanie urucho- cisk Nowa gra i rozpocząć budowę nasze-
TTD, jest z pewnością Simutrans. W po- miona gra; go własnego imperium transportowego.
równaniu do pierwowzoru, posiada wie- • -freeplay – bez tego parametru, jeśli Okno gry jest podzielone na trzy części:
le rozszerzeń, które w znaczący sposób stan naszej gotówki zejdzie poniżej
uatrakcyjniają rozgrywkę. Dostępne są zera, otrzymamy trzy miesiące (czasu • pasek narzędzi – znajduje się na gó-
wersje dla Linuksa, Windows oraz BeOS. gry) na zlikwidowanie debetu, a po rze ekranu i zawiera ikony grup dzia-
W tym miejscu muszę zaznaczyć, że tym czasie, jeżeli nam się nie uda, na- łań dostępnych w grze, np. kliknięcie
najnowszą wersją gry jest 0.84.16.2. Jak stąpi koniec gry; ikony Buduj kolej daje nam dostęp do
sam autor przyznaje, jest to jeszcze wer- • -refresh x – zmniejsza ilość po- menu budowania różnych rodzajów
sja beta, więc nie należy dziwić się poten- kazywanych klatek animacji, torów, stacji, lokomotywowni oraz sy-
cjalnym błędom oraz niezgodnością dzia- przez co gra lepiej działa (np. -re- gnalizacji;
łania aplikacji z dokumentacją. fresh 2 będzie pokazywał co drugą • główne okno gry – tutaj faktycznie to-
Simutrans to gra ekonomiczna, a jej klatkę, co powinno przyspieszyć grę czy się gra;
celem jest zbudowanie jak najwydajniej- o ok. 20%); • pasek statusu – zawiera aktualną datę
szej infrastruktury transportowej dla to- • -log – wszystkie komunikaty z dzia- i czas (w grze), pokazuje aktualne
warów i ludzi. Do dyspozycji mamy środ- łania gry będą zapisywane w logu współrzędne kursora na mapie, ilość
ki transportu lądowego (pociągi i samo- – opcja przydatna, jeśli chcemy po- posiadanych przez nas pieniędzy oraz
chody) oraz wodnego (promy, tankowce, móc deweloperom i w razie błędu szybkość gry (T=1.0 oznacza, że toczy
barki), ale niestety nie została jeszcze do- móc przesłać pełny raport. się ona standardowym rytmem, ale mo-
dana możliwość korzystania z transpor- żemy zwiększać i zmniejszać szybkość
tu powietrznego (autorzy przewidują ją w Kompletną listę przełączników oraz kilka gry klawiszami [,] i [.]); czasami nad
przyszłych wersjach). dodatkowych informacji możemy znaleźć tym paskiem pojawiają się komunikaty
w pliku readme.txt, w katalogu z grą. z gry, np. o tym, że pociąg, który skiero-
Instalacja i uruchamianie waliśmy do zajezdni, już tam czeka.
Aby zainstalować Simutrans, musimy ścią- Interfejs
gnąć ze strony www.simutrans.de dwa Po uruchomieniu gry pojawią się dwa
pakiety: simubase-0_84_16_2.zip ( ok 1,6 okna: wybór języka oraz menu nowej
MB) oraz simulinux-0_84_16_2.tar.gz gry. Trzeba zaznaczyć, że gra ma możli-
(ok 460 KB). Następnie rozpakowujemy wość wyświetlania (prawie wszystkich)
pierwszy pakiet poleceniem unzip simu- elementów tekstowych po polsku, oprócz
base-0_84_16_2.zip. W następnej kolejno- mini-mapy, na której, zamiast polskich li-
ści rozpakowujemy drugie archiwum: tar terek, w większości przypadków widzimy
-zxvf simulinux-0_84_16_2.tar.gz. Jeżeli krzaczki. Ponadto, nawet po ustawieniu
obie czynności wykonaliśmy w tym sa- języka na Polski, niektóre napisy są po
mym katalogu, to otrzymaliśmy katalog angielsku, ale nie przeszkadza to w więk-
Simutrans w pełnej okazałości
simutrans, zawierający wszystkie pliki szym stopniu w grze.

50 styczeń 2005
GAMES News

Freeciv 2.0.0 beta 4


Freeciv to jedna z najbardziej
łączenie kolejowe. Otwieramy okno bu-
Przydatne skróty dowy kolei i wybieramy rodzaj torów, jaki
znanych gier linuksowych, klon
popularnej Civilization Sida Meiera.
klawiaturowe: chcemy położyć, oraz zaznaczamy punkt Obecne wydanie – 2.0.0 beta 4
początkowy i końcowy trasy. Gra automa- – jest jednym z ostatnich,
przed opublikowaniem finalnej
• [Shift]+[“] – włącza/wyłącza tycznie zbuduje tory łączące oba punkty.
wersji 2.0. Lista zmian i ulepszeń
przezroczystość obiektów; Tworzymy też małą odnogę, gdzie stanie jest bardzo długa (http://www.
• [Shift]+[3 ] – włącza/wyłącza siatkę zajezdnia (depot). Gdy tory zostaną zbu- freeciv.org/index.php/NEWS-beta).
na mapie; dowane, z naszego konta zostanie odjęty Najważniejsze to usprawnienie gry
sieciowej, lepsza AI przeciwników,
• [,] i [.] – zmiana szybkości gry; koszt tej inwestycji. Teraz należy postawić
nowe jednostki, nowy poziom
• [Shift]+[g] – okno z wartościami stację – tu ważna uwaga: stację i zajezdnię trudności oraz wiele innych.
premii za szybki przewóz danego dla pociągów można wybudować , tylko http://www.freeciv.org/
towaru; na istniejących torach. Gdy już mamy sta- ZengaiaSpace 0.1.2
• [PgUp], [PgDown] – przybliżanie cję i zajezdnię, wciskamy [a] i klikamy na Wystartował nowy projekt:
i oddalanie widoku; zajezdni. Aby kupić nową lokomotywę, ZengaiaSpace – w zamierzeniu
• aby wyświetlić okno ze wszystkim klikamy na obrazek wybranej maszyny, ma być rozbudowaną strategią,
rozgrywaną on-line, na centralnym
skrótami klawiaturowymi, należy przechodzimy do zakładki wagony i do- serwerze internetowym. W grze
nacisnąć [Control] lub [Shift] bieramy odpowiednie wagony do trans- naszym zadaniem jest budowanie
+ dowolna – jeszcze nie portu węgla (jeżeli wybierzemy lokomo- statków kosmicznych, zdobywanie
przypisana – litera, np. [Control]+[q]. tywę na węgiel, pierwszym wagonem, ja- planet, budowa nowych portów,
walka z wrogami, podbój nowych
ki dobierzemy, musi być węglarka). Teraz planet i systemów słonecznych.
klikamy na przycisk Rozkład jazdy i usta- Gra jest napisana w Javie, więc
Gra lamy stacje, na których ma się zatrzymy- wymaga zainstalowanego w systemie
Naszym celem jest zarabianie na transpor- wać pociąg. Mamy tu możliwość określe- środowiska dla aplikacji napisanych
w tym języku.
cie towarów i ludzi. Obowiązuje tu prosta nia procentowego załadowania składu, na http://www.mpc-donkey.de/index.php?
zasada: im szybciej towar zostanie przewie- jaki będzie pociąg oczekiwał, nim ruszy doc=zengaia.htm
ziony, tym więcej na tym zarobimy, ale pre- w dalszą drogę. Gdy jesteśmy zadowoleni
The Black Legacy Darkness 0.7.4
mie za szybką dostawę bywają różne i cza- z ustawień, klikamy Start i nasz pierwszy The Black Legacy Darkness to
sami spokojnie można zakupić tańszą i wol- pociąg wyjedzie na trasę. nowy projekt z gatunku MMORPG
niejszą lokomotywę do obsługi danej linii, Analogicznie postępujemy z samo- (Massive Multiplayer Online Role
Playing Game). Jest to gra w realiach
nie martwiąc się o straty (wysokości premii chodami: budujemy drogę, przystanki,
średniowiecznych, o świetnej
za szybkość dostawy są dostępne po na- zajezdnię, kupujemy maszyny, wyznacza- grafice 3D. Używa bibliotek
ciśnięciu [Shift]+[g]). Dobrze jest pamiętać my trasę i uruchamiamy linię. OpenGL oraz SDL. Obecnie
o tym, że towar ma swoje miejsce przezna- Z komunikacją wodną jest jeszcze ła- jest jeszcze w fazie testów, ale
udostępniono już duże miasto
czenia i jeśli będziemy próbowali go prze- twiej – musimy tylko zadbać, aby stacja
(w świecie gry) do zwiedzania.
wieźć do fabryki, która go nie przyjmuje, początkowa i końcowa znajdowały się Co ciekawsze, można stworzyć
nic nie zarobimy, a będziemy stratni o kosz- w tym samym akwenie razem ze stocznią, swoje własne mapy w Blenderze,
ty działania danego środka transportu. Te- czyli depotem dla statków. a następnie eksportować je do gry
za pomocą skryptu eksportującego,
go, gdzie należy dowieźć dany towar, mo-
napisanego w Pythonie.
żemy dowiedzieć się klikając na obiekcie Podsumowanie http://www.black-legacy.com/
produkcyjnym (kopalnia, fabryka ...) narzę- Simutrans to świetna gra, nawet pomi-
Unreal Tournament 2004 3339
dziem informacji [a]. W otrzymanym oknie mo błędów i wczesnej wersji. Jest to jed- Firma Epic Games wypuściła
znajdziemy opis, dokąd można transporto- na z najciekawszych gier, z jakimi mia- ostatnio kolejną – piątą już – łatę
wać towary, oraz jakich towarów – i skąd łem do czynienia – biorąc pod uwagę do gry Unreal Tournament 2004.
Obecny pakiet jest kompatybilny
– dany obiekt wymaga (informacje te są zarówno gry dla Windows, jak i Linuksa
z poprzednimi łatami i zawiera
również dostępne na mini-mapie: po naje- – i wprost nie mogę się już doczekać jej fi- wszystkie poprawki z poprzednich
chaniu na dany obiekt pokażą się linie po- nalnej wersji. wydań. Powinien być instalowany
kazujące, gdzie towary mogą być transpor- Na zakończenie małe ostrzeżenie: po Editors Choice Bonus Pack,
ponieważ aktualizuje część
towane). Musimy pamiętać, że aby fabryka w obecnej wersji gry większość użytkow-
kodu dodanego do gry po jego
zaczęła wytwarzać półprodukty, należy do- ników nie może korzystać z funkcji sta- instalacji. Lista zmian jest dość
starczyć wszystkich wymaganych surow- wiania znaków z opisem (etykieta), po- długa, a poprawiono m.in. błędne
ców (np. aby móc transportować stal, naj- nieważ powoduje to zamknięcie gry. efekty dźwiękowe i graficzne
towarzyszące niektórym zdarzeniom
pierw należy dostarczyć do huty rudę że- Drugą rzeczą, o której należy wspomnieć,
w grze, a także błąd w przeglądarce
laza i węgiel). jest to, że czasami, po zakończeniu gry, serwerów, powodujący niepoprawne
X Window nie wraca do poprzedniej roz- wyświetlanie typu gry.
Jak zacząć? dzielczości. Możemy sobie z tym poradzić http://www.unrealtournament.com/
news/view.php?id=2318
Aby uruchomić nasze pierwsze połącze- restartując serwer X, bądź uruchomić grę,
nie, wybieramy np. kopalnię węgla i elek- na moment, w domyślnej rozdzielczości
trownię. Ponieważ będziemy transporto- naszego systemu.
wać duże ilości surowca, stworzymy po- http://simutrans.de/

www.lpmagazine.org 51
dla początkujących

Nessus – skaner
bezpieczeństwa
Piotr Machej

G
dy podłączamy nasz kom- puter jednego z nich padł ofiarą ataku.
puter do Internetu, uzysku- Jak się okazało, zainstalował on Linuk-
jemy dostęp do nieprzebra- sa i będąc święcie przekonany, że to
nych zasobów. Równocze- bezpieczny system, nie podjął żadnych
śnie nasz komputer staje się dostępny dla dodatkowych kroków w celu jego zabez-
innych użytkowników. Nie wszyscy z nich pieczenia. Oczywiście, gdy w wyniku
są nastawieni pokojowo. Trudno zresztą na ataku script-kiddies stracił dane na dysku,
to liczyć, biorąc pod uwagę wciąż rosną- był pełen pretensji do naszego ulubione-
cą liczbę mieszkańców globalnej wioski. go systemu. Wytłumaczyliśmy mu, że
Z tego powodu bardzo ważne jest, aby system dopiero wtedy jest bezpieczny,
zdawać sobie sprawę z zagrożeń, które gdy się o to samemu zadba. I że nie ma
mogą na nas czekać. Jeszcze ważniejsze tu większego znaczenia, czy jest to Linux,
jest, aby potrafić się przed nimi ochronić. czy Windows. Przy okazji postanowili-
W łataniu powszechnie znanych luk śmy sprawdzić, który z naszych kompute-
bezpieczeństwa znacznie mogą nam rów jest lepiej zabezpieczony. Do testów
pomóc wszelkiego typu skanery bezpie- wykorzystaliśmy Nessusa i okazało się, że
czeństwa. Programy takie mają za zada- mój system zajął dopiero trzecie miejsce
nie przetestowanie, czy system jest podat- (na pięć możliwych). Jak to mówią, leni-
ny na określoną metodę ataku. Powinni- stwo nie popłaca. Oczywiście, od razu
śmy skorzystać ze skanera (lub kilku ska- załatałem najgroźniejsze ze znalezionych
nerów) bezpieczeństwa zaraz po zain- luk bezpieczeństwa i obiecałem sobie,
stalowaniu systemu. Później powinni- że będę częściej kontrolował system.
śmy powtarzać tę czynność co jakiś
czas (np. co miesiąc). Pozwoli to wykryć Analiza zabezpieczeń
znane już luki, więc będziemy mieli moż- Przede wszystkim musimy odpowie-
liwość załatać je zanim wykorzysta je wła- dzieć sobie na pytanie, czy nasz system
mywacz. Pamiętajmy bowiem, że rów- jest dobrze zabezpieczony. Odpowiedź
nież "czarne charaktery" mogą korzystać nie jest taka prosta. Włamywacz ma do
z takiego oprogramowania. dyspozycji szereg różnych technik, z któ-
Jednym z bardziej uniwersalnych rych warto wymienić wykorzystanie sła-
(a przy tym otwartym i bezpłatnym) ska- bych haseł, dziur w oprogramowaniu lub
nerem jest Nessus. Jego wielką zaletą błędów w konfiguracji. Nie należy rów-
jest aktualność oraz łatwość rozbudowy. nież zapominać o tym, że zwykle najsłab-
Opiera się na wtyczkach, dzięki czemu szym ogniwem jest człowiek – to my sami
możemy dodać do niego własne testy.
Oprócz tego, możemy automatycznie uak-
tualniać listę wtyczek, dzięki czemu zosta-
ną one dołączone od razu po udostępnie-
niu. Niniejszy artykuł ma na celu popro-
wadzenie Czytelników przez instalację
i konfigurację Nessusa, a także zwróce-
nie uwagi na różne aspekty bezpieczeń-
Na płycie CD/DVD stwa systemu.
Na płycie CD/DVD zamieścili-
Rysunek 1. Nowe wersje Nessusa
śmy oprogramowanie omawiane Przykład użycia
w artykule. pozwalają przeprowadzać również testy
Około rok temu, rozmawiając ze znajo-
lokalne i przyrostowe
mymi na IRC, dowiedziałem się, że kom-

52 styczeń 2005
nessus dla początkujących

możemy nieumyślnie podać intruzowi to musimy być święcie przekonani, że tej


hasło lub wykonać przysłany przez niego konkretnej osobie możemy zaufać.
kod, otwierając mu drogę do systemu. Wspomniałem o błędach konfigu-
Hasła powinny być łatwe do zapamię- racji. Tu w zasadzie również wchodzi
tania i trudne do odgadnięcia. Nie zawsze w grę czynnik ludzki, gdyż błąd w kon-
trudność odgadnięcia hasła będzie warun- figuracji jest zwykle wynikiem nasze-
kiem wystarczającym, gdyż jeśli jest ono go przeoczenia, pomyłki w planowaniu
przesyłane przez sieć (np. w celu zalogo- lub po prostu nieznajomości niektórych
wania się na zdalną maszynę lub autory- dostępnych opcji. Wyobraźmy sobie sytu-
zowania się w serwisie WWW), to może ację, gdy wydaje nam się, że zabezpieczy-
zostać podsłuchane. Z tego powodu lepiej liśmy dobrze nasz komputer. Założyliśmy Rysunek 2. Nessus potrafi
jest używać oprogramowania korzystającego dobre hasła, uruchomiliśmy zaporę sieciową przeprowadzać równoczesne testy na
z szyfrowanej transmisji, a w dodatku nigdy i udostępniliśmy na zewnątrz tylko wybrane różnych komputerach
nie używać hasła systemowego do autoryza- usługi. I wszystko byłoby w porządku, ale...
cji w innych serwisach. w zaporze sieciowej pomyliliśmy kolejność jemy hasło użytkownika root (przy pyta-
Z błędami w oprogramowaniu trzeba dwóch regułek. I to wystarczy, aby działa- niu o Root Password). Instalator pyta nas
zawsze się liczyć. Praktycznie każdy pro- ła nie do końca zgodnie z naszymi oczeki- o katalog, w którym chcemy zainstalo-
gram, bardziej skomplikowany niż popu- waniami – może przykładowo dawać dostęp wać Nessusa. Klawiszem [Enter] zatwier-
larny Hello World, może zawierać błąd – jest do portu, który miał być zablokowany. dzamy domyślny wybór (chyba, że
to sprawa naturalna. Odpowiednie wyko- A włamywacz tylko czeka na takie okazje. z jakiegoś powodu chcemy go zmie-
rzystanie niektórych błędów może pro- nić – wówczas wpisujemy naszą ścieżkę).
wadzić do uzyskania przez intruza więk- Instalacja Nessusa Po kolejnym wciśnięciu klawisza [Enter]
szych uprawnień w systemie niż miałby Przed zainstalowaniem Nessusa warto następuje kompilacja i instalacja programu
normalnie. Może też pozwolić na uzyska- zadbać o to, aby w systemie były zain- (w razie konieczności poprzedzona usu-
nie dostępu do systemu, do którego intruz stalowane biblioteki i pliki nagłówkowe nięciem starszej wersji). Na koniec zostają
w zwykłych okolicznościach nie powinien OpenSSL. W przypadku Auroksa jest to wyświetlone ostatnie wskazówki i możemy
mieć wcale dostępu. Takie błędy są wcześniej pakiet openssl-devel. opuścić instalator ponownym wciśnięciem
lub później ujawniane, a jeśli autorzy progra- Zaczynamy od wejścia na stronę do- klawisza [Enter]. Jak widać, dzięki instalato-
mu opiekują się swoim projektem, to publi- mową programu (http://www.nessus.org/ ). rowi mogliśmy ograniczyć się do wciskania
kują odpowiednie poprawki. W przypad- Wybieramy sekcję Download, a następ- tylko jednego klawisza, chociaż pozostało
ku programów Open Source mogą to zrobić nie odnośnik Nessus 2.2 (w chwili pisa- przed nami jeszcze kilka czynności.
również inni programiści, a nawet my sami nia artykułu była to wersja najnowsza). Najpierw musimy wygenerować cer-
(o ile posiadamy odpowiednie umiejętności). Z wyświetlonej strony możemy dowie- tyfikat, który będzie wykorzystywa-
Warto więc dbać o to, aby w systemie były dzieć się o trzech metodach instalacji Nessu- ny do szyfrowania komunikacji pomię-
zainstalowane jak najnowsze wersje oprogra- sa. My zdecydujemy się na drugą – prostą, dzy serwerem i klientem Nessusa. W tym
mowania – szczególnie chodzi tu o progra- a równocześnie bezpieczniejszą od najła- celu wydajemy polecenie /usr/local/
my najbardziej narażone na atak, takie jak twiejszej metody. W sekcji The easy and sbin/nessus-mkcert (do tego już potrze-
serwery WWW czy programy pocztowe. less dangerous way znajdziemy spis adre- bujemy uprawnień superużytkowni-
Bardzo często zdarza się, że użytkow- sów, pod którymi możemy znaleźć insta- ka, więc najpierw korzystamy z polecenia
nik przez własną nieuwagę lub niewiedzę lator. Wybieramy jeden z nich (np. http:// su - i podajemy hasło użytkownika root).
staje się ofiarą włamania lub zwykłej utraty ftp.gwdg.de /pub /linux /misc/nessus / Oczywiście, jeśli zainstalowaliśmy Nessusa w
danych. Swego czasu wiele osób korzystają- nessus-2.2.0/nessus-installer/ ) i pobieramy innym katalogu niż domyślny, to ścieżka do
cych z IRC miało zwyczaj doradzać nowym z niego plik nessus-installer.sh. Teraz programu nessus-mkcert będzie odpowied-
użytkownikom Linuksa zalogowanie się na już wystarczy wejść do katalogu, nio inna. Kolejno będziemy musieli podać
konto root i wydanie polecenia rm -rf /. Jeśli w którym zapisaliśmy plik i uruchomić następujące informacje:
delikwent był łatwowierny, a na dodatek nie go poleceniem sh nessus-installer.sh. Tę
znał jeszcze podstawowych poleceń linukso- operację wykonujemy z poziomu zwykłe- • termin ważności certyfikatu CA
wych, mogło skończyć się to dla niego nie- go użytkownika (nie wchodzimy na konto (w dniach),
zbyt przyjemnie (wspomniane polecenie root). • termin ważności certyfikatu serwera
bez pytania kasuje wszystkie pliki na dysku). Po przeczytaniu informacji powital- (w dniach),
Jak widać, należy mieć mocno ograniczo- nej możemy wcisnąć klawisz [Enter]. Pro- • kod naszego państwa (np. dla Polski
ne zaufanie do tego, co mówią inni – czy gram zostaje rozpakowany, a następnie – PL),
to na IRC, w listach elektronicznych, czy za jesteśmy powiadomieni, że zostanie utwo- • nazwa naszego województwa lub
pośrednictwem komunikatora. Nie należy rzona tymczasowa powłoka z ustawio- powiatu,
też bez namysłu uruchamiać zasłyszanych nym bitem SUID. Pozwoli to instalatorowi • nazwa miasta,
poleceń czy programów nadesłanych przez w razie potrzeby na automatyczne korzysta- • nazwa naszej organizacji.
nie do końca zaufane osoby. To samo zresztą nie z uprawnień użytkownika uprzywile-
dotyczy podawania haseł czy udostępniania jowanego. Przyjmujemy to do wiadomości Jeśli mamy wątpliwości, co powinniśmy
naszego komputera innym – jeśli to robimy, wciskając klawisz [Enter], a następnie poda- wpisać, możemy skorzystać z wartości

www.lpmagazine.org 53
dla początkujących

adresu komputera. W jego miejsce pod- gdzie możemy zapoznać się ze wszyst-
stawiany jest adres komputera, z którego kimi dostępnymi wtyczkami. Biorąc pod
łączy się użytkownik korzystający z Nes- uwagę, że jest ich obecnie sporo ponad 5
susa. Dzięki temu łatwo można pozwolić tysięcy, mamy lekturę na dłuższy czas. Na
użytkownikowi tylko na testowanie jego szczęście, jeśli chcemy przeprowadzić
własnego komputera. Odpowiednie reguł- kompletny test, nie musimy czytać opisu
ki wyglądają następująco: wszystkich wtyczek (opisy są dostęp-
ne po wskazaniu konkretnej wtyczki).
accept client_ip W górnej części znajduje się spis grup,
Rysunek 3. Te systemy wymagają default deny natomiast w dolnej spis wtyczek nale-
wprowadzenia jeszcze kilku zabezpieczeń żących do danej grupy. Możemy zazna-
Wpisywanie regułek kończymy znaną już czyć wszystkie wtyczki wciskając przy-
domyślnych. Po przeczytaniu informa- kombinacją [Ctrl]+[d]. Wprowadzone dane cisk Enable all. Należy zwrócić uwagę, że
cji o nazwach plików, w których zosta- potwierdzamy wpisując y. niektóre testy mają na celu destabilizację
ły zapisane poszczególne certyfikaty, Przed uruchomieniem serwera warto testowanego systemu (tzw. ataki odmowy
możemy wcisnąć [Enter]. sprawdzić, czy nie pojawiły się nowe usługi). Jeśli wolimy nie przeprowadzać
Teraz musimy dodać użytkownika, wtyczki. Wydajemy polecenie /usr/local/ aż tak niebezpiecznych testów, możemy
który będzie mógł korzystać z Nessusa. sbin/nessus-update-plugins – jeśli zosta- je wyłączyć przyciskiem Enable all but
Nie opuszczając konta użytkownika root, ną znalezione nowe wtyczki, program je dangerous plugins. Dodatkowo możemy
wydajemy polecenie /usr/local/sbin/ zainstaluje. Oczywiście, do wykonania wyłączyć całą grupę testów związanych
nessus-adduser. Podajemy nazwę użyt- tego polecenia potrzebujemy połączenia z odmową usługi (Denial of Service).
kownika, a następnie wybieramy sposób z Internetem. Oczywiście, nic nie stoi na przeszko-
uwierzytelniania. Prostsze jest korzysta- Teraz możemy już uruchomić serwer dzie, aby przeprowadzić tylko pojedyn-
nie z hasła niż z certyfikatu, więc wybie- Nessusa poleceniem /usr/local/sbin/ cze, wybrane testy. W tym celu wystar-
ramy tę pierwszą metodę (pass). Oczywi- nessusd -D. Pojawi się informacja o łado- czy najpierw wcisnąć przycisk Disable
ście, należy też podać nasze hasło. Pamię- waniu wtyczek (ang. plugins). Jeśli nie all, a następnie ze spisu wybrać potrzeb-
tajmy jednak, aby nie było to takie samo zadbaliśmy o skompilowanie Nessusa ne nam wtyczki. Warto przy tym zazna-
hasło, jak do któregoś z naszych kont. Jeśli z obsługą OpenSSL, to może pojawić się czyć opcję Enable dependencies at runti-
wybraliśmy metodę uwierzytelniania za kilka ostrzeżeń. Jeśli zainstalowaliśmy me, dzięki czemu w razie potrzeby zosta-
pomocą certyfikatu, to będziemy musieli wcześniej wspomniany pakiet openssl- ną zaznaczone inne potrzebne wtyczki
odpowiedzieć na te same pytania, co przy devel, to powinniśmy zobaczyć napis All (jeśli są potrzebne do działania wybra-
tworzeniu certyfikatu Nessusa (a oprócz plugins loaded. Klienta Nessusa urucha- nych przez nas testów). Dostępny przycisk
tego, na dwa dodatkowe – o nazwisko miamy już z konta zwykłego użytkownika Filter pozwala nam na wyświetlenie tylko
i imię oraz o adres e-mail). poleceniem /usr/local/bin/nessus. wtyczek spełniających określone kryteria
Tworząc użytkownika możemy od (np. w nazwie lub opisie zawierających
razu nałożyć na niego ograniczenia. Doty- Konfiguracja Nessusa słowo ssh).
czą one adresów komputerów, które Po uruchomieniu pokazuje się nam okno Następne dwie zakładki (Prefs.
może testować dany użytkownik. Jeśli programu z kilkoma zakładkami. Na i Scan options) służą do ustawie-
nie chcemy ustalać żadnych ograniczeń, razie interesuje nas tylko pierwsza, gdyż nia dokładniejszych opcji. Możemy tu
to po prostu możemy wcisnąć kombi- musimy połączyć się z serwerem Nessu- zdecydować, jaka technika skanowa-
nację klawiszy [Ctrl]+[d]. W innym przy- sa. W polu Nessusd Host wpisujemy nazwę nia portów ma być zastosowana, jakie
padku możemy wpisać szereg reguł komputera, na którym jest uruchomiony
(po jednej w każdej linii), np.: serwer. Jeśli jest uruchomiony na kompu-
terze, z którego korzystamy, możemy po Ostrzeżenie
Skaner systemowy możemy stosować
accept 192.168.100.0/24 prostu wpisać localhost. Pole Port pozo-
tylko względem systemów komputero-
accept 192.168.5.1 stawiamy bez zmian – Nessus standardo-
wych i sieci, które należą do nas lub co
default deny wo nasłuchuje na porcie 1241. W polach
do których uzyskaliśmy stosowną zgodę.
Login i Password wpisujemy nazwę i hasło Niezastosowanie się do tej zasady może
Powyższe linie pozwalają użytkow- użytkownika Nessusa (te, które wpisywa- grozić niezbyt przyjemnymi konsekwen-
nikowi na testowanie komputerów liśmy po wydaniu polecenia nessus-addu- cjami, z odpowiedzialnością karną włącz-
w sieci 192.168.100.0/24 oraz kompute- ser). Teraz wystarczy wcisnąć przycisk Log nie. O ile bowiem trudno podstawowe
ra 192.168.5.1. Żadnego innego kompu- in. Przy pierwszym uruchomieniu pojawi skanowanie jednoznacznie uznać za
tera nie będzie mógł przetestować, gdyż się informacja o certyfikacie. Sprawdzamy, próbę ataku, o tyle niektórzy administra-
domyślna reguła odmawia mu dostępu czy jest on poprawny, tzn. wyświetlone torzy są na tym punkcie mocno przewraż-
(default deny). Oczywiście, reguły można wartości zgadzają się z tym, co podawali- liwieni. Ponadto, niektóre testy mogą
doprowadzić do zawieszenia niektórych
zbudować inaczej – zabronić dostępu do śmy podczas jego tworzenia, a następnie
usług, a to w przypadku systemów pro-
określonych komputerów i pozwolić do zatwierdzamy go wciskając Yes.
dukcyjnych nie może już być traktowane
wszystkich pozostałych. Ciekawostką jest Po zalogowaniu się zostaniemy prze-
w kategorii żartu.
możliwość użycia słowa client_ip zamiast niesieni do drugiej zakładki (Plugins),

54 styczeń 2005
nessus dla początkujących

nazwy użytkowników i hasła mają być terów i kilka zakresów oddzielając je


użyte przy logowaniu się do poszcze- przecinkami.
gólnych usług oraz możemy określić Te opcje powinny nam wystarczyć.
liczbę testów wykonywanych w tym Teraz już możemy wcisnąć widoczny na
samym czasie. Jest tu też dostępna dole okna przycisk Start the scan. Otwo-
opcja Safe checks (domyślnie włączona). rzy się kolejne okno, w którym będziemy
Powoduje ona, że potencjalnie groźne mogli obserwować przebieg skanowania
wtyczki wykonują "łagodniejsze" testy, poszczególnych komputerów. Gdy ska-
np. opierając się na rozpoznaniu wersji nowanie zakończy się, otwarte zostanie
oprogramowania, zamiast na własnych okno z raportem.
testach. Należy pamiętać, że nie wszyst- Rysunek 4. Z pomocą obszernego
kie wtyczki uwzględniają tę opcję. Jej Analiza wyników podręcznika możemy napisać własne
użycie może też prowadzić do pojawie- Pora sprawdzić, co znalazł Nessus na wtyczki do Nessusa
nia się większej liczby fałszywych alar- naszym systemie. Okno raportu podzie-
mów (więcej informacji w ramce Fałszy- lone jest na pięć części. Po lewej stro- pierwszy rzut oka ocenić, który kompu-
we alarmy). Jeśli nie wiemy, do czego nie widzimy adresy testowanych podsieci ter jest najbardziej zagrożony. Po zazna-
służy dana opcja, lepiej pozostawić ją (Subnet). Przy ich adresach można zauwa- czeniu adresu komputera w umiesz-
w domyślnym ustawieniu. żyć znaczek określający, czy Nessus wykrył czonym na górze oknie Port, pojawi się
W zakładce Target selection może- jakieś problemy. Ikona żarówki oznacza spis znalezionych portów (ponownie
my wreszcie określić, który kompu- informację, znak ostrzeżenia z wykrzyk- z informacją o zagrożeniach). Wybranie
ter chcemy skanować. Jego adres wpi- nikiem oznacza ostrzeżenie dotyczące jednego z nich sprawia, że w umieszczo-
sujemy w polu Target(s). Oczywiście, bezpieczeństwa, a znak zakazu wjazdu nym obok okienku Severity zobaczymy
zamiast pojedynczego adresu (np. oznacza potencjalną lukę w bezpieczeń- listę zagrożeń uporządkowaną względem
127.0.0.1) możemy od razu wpisać cały stwie. Po wybraniu konkretnej podsieci powagi. Dopiero, gdy wskażemy jedno
zakres (np. 192.168.0.1-192.168.2.50 w okienku poniżej (Host) pojawi się spis z nich, w głównej części okna zobaczy-
lub 192.168.10.1/24). Możemy też przetestowanych komputerów należących my szczegółowy opis luki. Metody sorto-
wymienić kilka pojedynczych kompu- do tej podsieci. Również tutaj możemy na wania w poszczególnych oknach możemy

R E K L A M A

www.lpmagazine.org 55
dla początkujących

dowolnie zmieniać, dzięki czemu znaj- nowszej. Dalej możemy dowiedzieć się,
dywać luki w inny sposób. Przykłado- jak duże ryzyko (Risk factor) jest związane
wo, warto zamienić miejscami pola Port z danym błędem. W tym przypadku
i Severity, ale również inne kombina- ryzyko jest wysokie (High). Najlepiej jak
cje mogą dać ciekawe efekty – wszystko najszybciej uaktualnić oprogramowanie.
zależy od tego, jakie informacje bardziej W przypadku innych ostrzeżeń, ryzyko
nas interesują. może być średnie (Medium) lub niskie
Istotne jest, abyśmy zapoznali się (Low), a w przypadku informacji o bez-
ze wszystkimi informacjami zawartymi pieczeństwie – nawet zerowe (None). Nie-
w głównym oknie. W przypadku ostrzeżeń mniej, powinniśmy zapoznać się ze wszy- Rysunek 5. W serwisie SecurityFocus
i powiadomień o lukach w bezpieczeń- stkimi informacjami, gdyż każda z nich możemy wyszukiwać informacje o lukach
stwie otrzymujemy opis zagrożenia. Przy- może być istotna. Przykładowo, może na podstawie różnych kryteriów
kładowo, w sytuacji wykrycia przez Nes- okazać się, że jedna z usług, pomimo
susa serwera WWW Apache w wersji star- naszych starań, nadal jest dostępna z Inter-
szej niż 2.0.51, jesteśmy powiadamiani o netu, a nie tylko z sieci lokalnej. Nie należy Dodatkowe
jego wrażliwości na zdalny atak odmowy od razu podejmować czynności opisanych oprogramowanie
usługi (DoS – Denial of Service). Wersje w Solution bez zapoznania się z całym Nessus, oprócz własnych wewnętrz-
te są również podatne na atak z wyko- opisem problemu. Może bowiem okazać nych testów, może wykorzystywać kilka
rzystaniem przepełnienia bufora. Oprócz się, że w ten sposób zablokujemy sobie innych programów. Przykładowo, pro-
takiego opisu, możemy też zobaczyć usługę, na której nam zależało, a co do gram Nmap może być użyty do skano-
kilka dodatkowych rubryk. Adres podany której tylko dostaliśmy pewne pouczenie wania portów i wielu bardziej zaawan-
w See also pozwala nam zapoznać się (jak ma to miejsce w przypadku zainstalo- sowanych operacji, takich jak rozpozna-
z szerszym opisem błędu. Najważniej- wanego oidentd, potrzebnego do łączenia wanie systemu operacyjnego. Jeśli zależy
sza dla nas jest zawartość rubryki Solu- z niektórymi serwerami IRC). nam na przeprowadzeniu testów odpor-
tion, gdyż opisuje ona możliwe rozwiąza- Jeśli chcemy uzyskać jeszcze więcej ności haseł na złamanie, możemy zain-
nie problemu. W przypadku wspomnia- informacji na temat błędu, możemy sko- stalować program Hydra. Pozwoli on na
nego błędu rozwiązaniem jest uaktualnie- rzystać z wartości podanych w rubrykach wykonanie prób brutalnego złamania
nie serwera Apache do wersji 2.0.51 lub CVE i BID. Pierwsza z nich podaje sym- haseł (bruteforce attack) w takich usłu-
bole, według których możemy wyszuki- gach, jak Telnet, WWW, POP3, IMAP
wać informacje na stronie Common Vul- i inne. Oprócz tego, można wykorzy-
Fałszywe alarmy nerabilities and Exposures (pod adre- stać program Nikto – zapewnia on obsłu-
Należy pamiętać, że Nessus przepro- sem http://www.cve.mitre.org/cve/index gę specyficznych ataków i testów doty-
wadza analizę na podstawie dostępnych .html wpisujemy symbol w polu CVE czących serwerów WWW i usług skryp-
informacji. Może się okazać, że będą
Name). Druga podaje identyfikator błędu tów CGI.
one niewystarczające lub doprowadzą do
na liście BugTraq (możemy go wpisać O ile program Nmap możemy zna-
błędnych wniosków. Z tego powodu część
w polu Bugtraq ID na stronie http:// leźć w większości dystrybucji Linuksa,
ostrzeżeń, a nawet powiadomień o lukach
w zabezpieczeniach, może okazać się fał- www.securityfocus.com/bid/bugtraqid/ ). o tyle pozostałe programy raczej
szywa. Raport ze skanu możemy zapisać na musimy zainstalować osobno. Nie są
Może się tak przykładowo zdarzyć dysku korzystając z przycisku Save report. one niezbędne do działania Nessusa,
w sytuacji, gdy Nessus jest w stanie roz- Do wyboru mamy kilka różnych forma- ale zwiększają jego funkcjonalność.
poznać oprogramowanie nasłuchujące tów zapisu danych. Jeśli zdecydujemy się Adresy ich stron domowych znajdują się
na określonym porcie, ale nie umie usta- zapisać raport w formacie NBE, to później w ramce W Internecie.
lić jego wersji. W tym przypadku może będziemy mogli go ponownie otworzyć
ostrzec o błędach, które dotyczą wcze- w kliencie Nessusa. Jeśli natomiast chcemy Przykładowe testy
śniejszych wersji tego programu niż zain-
później obejrzeć raport wraz z różnymi W rozdziale Analiza wyników mogliśmy
stalowana w naszym systemie.
wykresami i zestawieniami w przeglądar- zapoznać się ze sposobem odczytywania
Inna sytuacja, gdy ostrzeżenie może
ce internetowej, to powinniśmy wybrać wyników testów. Spróbujmy teraz zoba-
być fałszywe, to przypadek, gdy błąd
sam w sobie jest groźny, ale ze wzglę- format HTML with Pies and Graphs. czyć kilka wyników z prawdziwego ska-
du na podjęte przez nas inne czynności Wyniki skanowania zależą od tego, nowania i zastanowić się, jak je trakto-
(np. odpowiedni podział dysku na party- jakie opcje dobierzemy. Warto zapoznać wać. Analizie został poddany kompu-
cje), w naszym systemie okazuje się być się z obszerną dokumentacją dostępną ter z dosyć dawno instalowanym sys-
nieszkodliwy. na stronie domowej Nessusa, aby lepiej temem, tylko w razie potrzeby uzupeł-
Nie da się wyliczyć wszystkich sytu- poznać jego możliwości i zastosowa- nianym nowymi pakietami, więc zgło-
acji, gdy Nessus może zwrócić fałszy- nie poszczególnych opcji konfiguracyj- szeń błędów było dosyć dużo (7 luk, 18
we alarmy. Dobrze jest uważnie czytać nych. Z pewnością sprawi to, że będzie- ostrzeżeń i 39 informacji). Raport został
opisy zgłoszeń i starannie je analizować.
my mogli lepiej dobierać ustawienia do zapisany w formacie HTML with Pies and
Nessus zwraca stosunkowo mało fałszy-
naszych potrzeb, co w rezultacie pozwo- Graphs.
wych alarmów, ale nie należy mu ufać
li skuteczniej zwiększyć bezpieczeństwo Na pierwszej stronie raportu został
bezgranicznie.
systemu i sieci. przedstawiony w formie graficznej pro-

56 styczeń 2005
nessus dla początkujących

centowy udział poszczególnych pozio- Obie te luki umożliwiają atak zaporze sieciowej możemy po prostu
mów ryzyka. Ponieważ poziomy High z zewnątrz, więc należą do najbardziej wyłączyć SWAT (o ile go nie potrze-
i Medium uzyskały odpowiednio po niebezpiecznej grupy. O ile w przypad- bujemy).
11% i 28%, to odpowiednie kroki ku pierwszej z nich nie potwierdzono Jak widać, w celu wyrobienia sobie
powinno podjąć się jak najszybciej. Naj- istnienia działających eksploitów, o tyle obrazu tego, co musimy zrobić, powin-
bardziej zagrożonymi usługami oka- w przypadku drugiej taki kod istnieje. niśmy zapoznać się ze wszystkimi opi-
zały się CVSpserver i usługa działają- Oprócz nich, Nessus zgłosił dwa sami błędów, ostrzeżeniami, a nawet
ca na porcie 5432 (zidentyfikowana ostrzeżenia dotyczące serwera CVS. zwykłymi informacjami. W przypad-
później jako PostgreSQL). co przedsta- Pierwszy z nich (http://cgi.nessus.org/ ku, gdy chodzi o bezpieczeństwo, nie
wił kolejny wykres. W celu uzyskania plugins/dump.php3?id=11947) dotyczy powinniśmy pozwalać sobie na nie-
dokładniejszych informacji powinniśmy błędu sprawdzania wprowadzanych dbałość. Poza tym, szkoda naszej pracy
przejść do części drugiej raportu, wska- danych, mogącego pozwolić intruzo- – gdybyśmy działali od razu po przeczy-
zując nazwę testowanego komputera. wi na tworzenie katalogów i plików taniu każdej informacji, to serwer CVS
Tu możemy zobaczyć listę otwar- w głównym katalogu systemu plików uaktualnialibyśmy w najgorszym przy-
tych portów. Okazuje się, że jest ich przechowującego drzewo CVS. Drugi padku cztery razy.
aż 34, z czego na pięciu Nessus zna- z kolei (http://cgi.nessus.org/plugins/
lazł luki bezpieczeństwa (CVSpserver, dump.php3?id=12212) może pozwalać Zakończenie
MySQL, HTTPS, Microsoft-ds i port na pobieranie plików RCS nawet spoza Zabezpieczanie komputerów i sieci to
5432, wykorzystywany przez Postgre- głównego katalogu CVS. Do poprawie- wyścig bez końca. Należy pamiętać, że
SQL), a dla sześciu wyświetlił ostrzeże- nia tych błędów powinno wystarczyć istnieje pewna granica, której podczas
nia. Poza tym jedenaście portów zosta- uaktualnienie CVS do wersji 1.11.15 lub zabezpieczania nie możemy lub nie
ło opatrzonych informacjami, a pozo- wyższej. powinniśmy przekroczyć. Jest to grani-
stałe zostały tylko zakomunikowane Korzystając z informacji zawartych ca wygody naszej lub naszych klientów
jako nasłuchujące. Zapoznajmy się naj- we wszystkich czterech zgłoszeniach, w korzystaniu z systemu lub sieci.
pierw z dwoma lukami dotyczącymi ostatecznie powinniśmy się zdecydo- Nie ulega bowiem wątpliwości, że nie
serwera CVS. wać na wersję 1.11.17 lub wyższą. ma sensu zabezpieczać komputera do
Pierwsza z nich została wykryta Warto zwracać uwagę na komuni- tego stopnia, że nikt nie będzie chciał
przez wtyczkę opisaną na stronie katy informacyjne. Właśnie odnośnie z niego korzystać. Jakie dane będzie-
http://cgi.nessus.org/plugins/dump.php3?id serwera CVS został wyświetlony jeden my wtedy chronić? Znalezienie kom-
=11970. Do opisów wtyczek prowadzą taki komunikat (http://cgi.nessus.org/ promisu pomiędzy wygodą i bezpie-
odnośniki umieszczone w polu Nessus plugins/dump.php3?id=10051). Sugeruje czeństwem to właśnie nasze zada-
ID. Jest to ostrzeżenie przed błędem ist- on, aby zablokować dostęp z zewnątrz nie. Należy do niego nie tylko zabez-
niejącym w CVS do wersji 1.11.10, mogą- dla portu CVS. Jest to mądre, i o ile pieczenie sprzętu i oprogramowania,
cym pozwolić intruzowi na wykonywa- tylko nie musimy udostępniać serwera ale również odpowiednie wychowa-
nie w systemie poleceń z uprawnienia- CVS osobom z sieci, powinniśmy dopi- nie użytkowników. Pamiętajmy zawsze
mi użytkownika root. Ponieważ Nessus sać odpowiednią regułkę w zaporze sie- o tym, że łańcuch zabezpieczeń jest
nie był w stanie określić numeru wyko- ciowej. Jeśli koniecznie musimy udo- tak silny, jak jego najsłabsze ogniwo.
rzystywanej wersji CVS, pojawiło się stępnić serwer, to powinniśmy przy- A najsłabszym ogniwem bardzo często
ostrzeżenie, że może to być fałszywy najmniej ograniczyć liczbę komputerów, okazuje się człowiek.
alarm. Niestety, sprawdzenie w testowa- które mogą się z nim łączyć. Warto też
nym systemie (rpm -q cvs) wykazało, że zauważyć, że powinno to automatycz-
jednak jest on narażony na atak – zain- nie zniwelować możliwość wykorzysta-
stalowana wersja CVS to 1.11.2-10. Zale- nia przez włamywacza wymienionych W Internecie:
canym przez Nessusa (i w zasadzie naj- wcześniej luk.
• Strona domowa programu Nessus:
lepszym) rozwiązaniem jest aktualiza- Innym przykładem portu, który
http://www.nessus.org/
cja oprogramowania do wersji co naj- powinien być odfiltrowany na zapo- • Strona domowa programu Nmap:
mniej 1.11.11. rze sieciowej, jest port 901, należą- http://www.insecure.org/nmap/
Zanim to zrobimy, zapoznajmy się cy do programu SWAT. O ile bowiem index.html
z opisem drugiej luki. Ta została wykry- błąd przedstawiony w ostrzeżeniu • Strona domowa programu Hydra:
ta przez wtyczkę opisaną na stro- (http://cgi.nessus.org /plugins /dump. http://www.thc.org/releases.php
nie http://cgi.nessus.org/plugins/dump. php3?id=10273) dotyczy dosyć starej • Strona domowa programu Nikto:
php3?id=12265. Również ta luka nie wersji 2.0.7 (więcej informacji na stro- http://www.cirt.net/code/nikto.shtml
jest mała – ze względu na brak termi- nie http://www.securityfocus.com/bid/ • Wprowadzenie do Nessusa (artykuł
natora NULL w źle sformatowanych cią- 1872). o tyle rzeczywiście możliwe jest autorstwa Harry'ego Andersona):
http://www.securityfocus.com/
gach tekstowych, intruz może wykony- wykonanie brutalnego ataku na tę
infocus/1741
wać pewne polecenia w naszym sys- usługę. Może to być szczególnie nie-
• Lista BugTraq:
temie. Zalecana jest aktualizacja aż do bezpieczne, jeśli hasła Samby są zsyn- http://www.securityfocus.com/
wersji 1.11.17, a więc wyższej niż przy chronizowane z hasłami systemowymi. archive/1
poprzedniej luce. Oczywiście, zamiast filtrować port na

www.lpmagazine.org 57
dla początkujących

Sztuczki i kruczki
Grzegorz Niewęgłowski

Synchronizowanie czasu i daty gar. Synchronizacja zmienia tylko Listing 1. Przykładowa sekcja “Files”
z serwerami w Internecie zegar Linuksa, ale nadal działa nie-
Wygodnym sposobem ustawiania skorygowany zegar płyty głównej. Section "Files"
daty systemowej jest synchronizowa- Dlatego, aby zmiana była stała, należy
nie jej ze specjalnymi serwerami czasu. po synchronizacji zegara zapisać jego FontPath "/usr/lib/X11/fonts/misc"
Dzięki temu mamy poprawnie działa- ustawienia w zegarze płyty głów- FontPath "/usr/lib/X11/fonts/S
jący, co do sekundy, zegar systemo- nej. Wykonamy to programem /sbin/ 100dpi”
wy i na dodatek nie musimy przepro- hwclock, który wchodzi w skład Util- FontPath "/usr/lib/X11/fonts/75dpi"
wadzać tej operacji ręcznie – wystar- linux : FontPath "/usr/lib/X11/fonts/Type1"
czy tylko znaleźć adres odpowiednie- FontPath "/usr/share/fonts/S
go serwera. Najpopularniejsze są pole- # /sbin/hwclock –systohc FantasyTTF"
cenia rdate i ntpdate (odpowiednio EndSection
z pakietów rdate i ntp). Do normal- Wiele dystrybucji Linuksa (choć nie
nych zastosowań wystarcza rdate, ale wszystkie) wykonują taką czynność
dla osób potrzebujących precyzji idącej automatycznie przy wyłączaniu kompu-
w milisekundy, ntpdate będzie lep- tera, ale jeśli nie mamy co do tego pew- konale radzi sobie z obsługą fontów
szym wyborem. ności, to lepiej samodzielnie zapisać bitmapowych i skalowalnych (w tym
Dobrym źródłem aktualnego czasu ustawienia zegara po synchronizacji. ■ TrueType). Można więc zrezygnować
jest ntp.task.gda.pl. Najpierw warto z osobnego serwera fontów, wyłą-
sprawdzić, czy możemy połączyć się X-Server i dostęp do fontów czając jego proces i zdając się na
z serwerem i czy jego czas jest popraw- Wiele razy spotykam się z pytaniem: mechanizmy wbudowane w same X-y.
ny. Zdalny czas odczytujemy tymi pole- „A po co jest ten cały xfs ?”, w odniesie- Oszczędzi to trochę zasobów, a uru-
ceniami: niu do tajemniczego programu potrzeb- chamianie X-ów stanie się prostsze
nego X-om do pracy. Xfs jest serwe- (nie trzeba będzie najpierw urucha-
# rdate ntp.task.gda.pl rem fontów. To oznacza, że w opar- miać xfs).
# ntpdate -q ntp.task.gda.pl ciu o swój plik konfiguracyjny, defi- Zmian dokonujemy w pliku kon-
niujący, gdzie położone są fonty, udo- figuracyjnym X-ów, czyli /etc/X11/
Jeśli podawany czas jest popraw- stępnia je X-om. Ma naturę sieciową XF86Config (lub xorg.conf ). Najpierw
ny, możemy zsynchronizować według i może obsługiwać wielu klientów, musimy poprawić sekcję Files, usu-
niego własny komputer. Ten krok więc możliwe jest uruchomienie poje- wając z niej wiersz FontPath "unix/:
wymaga już uprawnień superużytkow- dynczego serwera Xfs w sieci lokalnej 7100" (lub podobny). Zamiast niego
nika, bo przestawieniu ulegnie zegar i takie skonfigurowanie X-ów na wpisujemy bezpośrednio ścieżki dostę-
systemowy Linuksa: innych maszynach, aby wszystkie pu do katalogów z fontami – można
pobierały od niego fonty. Pozwa- posiłkować się zawartością konfigu-
# rdate -s ntp.task.gda.pl la to zaoszczędzić miejsce na dysku racji Xfs, zwykle w /etc/X11/fs/config.
# ntpdate ntp.task.gda.pl (wielu klientów ma wspólne repozy- Powinniśmy wpisać te katalogi do
torium fontów) i często ominąć pewne sekcji Files tak, aby wyglądała po-
Taka korekta zniknie jednak zapew- restrykcje licencyjne samych fontów dobnie do tej z Listingu 1 (oczy-
ne po restarcie komputera. Jest to spo- (korzysta się z pojedynczej kopii wiście, katalogi z fontami mogą być
wodowane istnieniem dwóch osob- fontów). inne).
nych zegarów – jeden z nich to zegar Ale czy ma to sens w przypad- Oprócz tego, konieczne może być
utrzymywany przez Linuksa w trak- ku typowej stacji roboczej, gdy fonty skorygowanie sekcji Module. W zależ-
cie jego pracy, a drugi jest wbudowany leżą na lokalnym dysku? Kiedyś ności od używanych fontów, musimy
w płytę główną i podtrzymywany owszem, gdyż miało to swoje uzasad- włączyć odpowiednie moduły:
bateryjką po wyłączeniu maszyny. nienie – tylko zewnętrzne serwery
Przy uruchamianiu, Linux odczytuje fontów umiały udostępniać fonty True- Load "freetype"
jego ustawienia i bazując na nich Type. Obecnie sam X-Server (nieważne, Load "type1"
zaczyna prowadzić swój własny ze- czy wersja XFree86, czy X.org) dos- Load "bitmap"

58 styczeń 2005
sztuczki i kruczki dla początkujących

Moduł freetype odpowiada za fonty w jądrze zabrakło obsługi jakiegoś wywać się jak typowa linuksowa apli-
TrueType (*.ttf ). Moduł type1 obsługuje specyficznego urządzenia. W tym kacja. Oczywiście, możemy użyć
fonty Adobe Type1 (*.afm, *.pfm, *.pfb), przypadku chodzi o urządzenie typu dowolnej innej ścieżki, ale ~/.Choices
a niezbędny moduł bitmap fonty bit- char (urządzenie znakowe), o głów- wydaje się być naturalnym wybo-
mapowe (zwykle w plikach *.bdf ). Jeśli nym (major) numerze równym 10 rem. ■
nie mamy zamiaru używać np. fontów oraz pobocznym (minor) równym 135.
Type1, to możemy pominąć ładowanie Na szczęście, ten kod da się prze- Położenie katalogu ze źródłami
odpowiedniego modułu. ■ łożyć na język zrozumiały dla zwy- jądra
kłego użytkownika – odpowiedzi mo- Umieszczasz swoje źródła jądra w /usr/
Dlaczego mój Aterm/Eterm żna znaleźć w pliku /usr/src/linux/ src/linux ? A ktoś mówi, że to zły
nie jest przezroczysty? Documentation/devices.txt (jest on nawyk? Pora to wyjaśnić, bo dooko-
Nowi użytkownicy terminali obsługu- częścią dokumentacji jądra). Znajdu- ła miejsca, w którym trzyma się źródła
jących przezroczystość (np. Aterm lub ją się w nim szczegółowe tabele opi- jądra, narosło już dość nieporozu-
Eterm) często ze zdziwieniem zauwa- sujące kombinacje numerków i typów. mień.
żają, że tło, zamiast oczekiwanej prze- Najpierw musimy znaleźć rozpiskę Tak naprawdę chodzi nie o jądro,
zroczystości, jest całkiem czarne. dla głównego numeru 10 urządzeń lecz bibliotekę glibc. Zawsze integruje
Wyjaśnienie jest proste – aby prze- znakowych. Szukanie ciągu 10 char się ona z nagłówkami jądra, na którym
zroczystość mogła zadziałać, potrzeb- od razu zaprowadzi nas tam, gdzie jest kompilowane, również z częścią
na jest jakaś tapeta na pulpicie. Nie trzeba. Teraz wystarczy odszukać nagłówków Linuksa. I to o te nagłów-
jest to jedyny warunek, gdyż oprócz pozycję z numerem pobocznym 135. ki chodzi. Po instalacji glibc powinny
tego, tapeta musi być ustawiana Oto jak wygląda ten fragment doku- się one znajdować w /usr/include/
specjalnym programem, przystoso- mentacji: linux i /usr/include/asm (oraz /usr/
wanym do wykonywania w pamię- include/asm-generic na nowszych sys-
ci operacyjnej specjalnej kopii tapety (...) temach). Do tych katalogów odwołują
na użytek przezroczystości. Takimi 134 = /dev/apm_bios Advanced PowerS się nagłówki glibc i w katalogach tych
programami są przykładowo Esetroot Management BIOS powinny zawsze znajdować się kawał-
(zwykle rozprowadzany razem z Eter- 135 = /dev/rtc Real Time Clock ki tego jądra, na którym glibc skom-
mem) oraz Habak (używany w silnie 139 = /dev/openprom SPARC OpenBootS pilowano.
zorientowanym na efekty przezroczy- PROM Aby zaoszczędzić miejsce na dysku,
stości projekcie Fvwm Crystal ). Uży- wiele dystrybucji, zamiast kopiować
wając odpowiedniego narzędzia do Jak widać, numer 135 przypisany pliki do /usr/include/linux, po prostu
ładowania tapety, bez problemu osią- jest urządzeniu /dev/rtc, czyli Real robiło tam dowiązania symbolicz-
gniemy np. takiego Aterma jak na Time Clock. Z tymi informacjami ne od źródeł jądra w /usr/src/linux.
Rysunku 1. ■ już wiadomo, której funkcjonalności Dzięki temu nie dublowało się plików,
jądra brakuje i co musimy dokompi- ale dochodziło do potencjalnie nie-
Co znaczą symbole typu lować. ■ bezpiecznej sytuacji – w momen-
char-major-10-135 w logach? cie aktualizacji źródeł jądra, poprzez
Czasem w logach jądra, zwłaszcza po ROX-Filer i katalog ~/Choices dowiązania symboliczne dochodzi-
pierwszych w życiu próbach samodziel- Nietypowe położenie katalogu ~/Choices ło też do aktualizacji części nagłów-
nej kompilacji, pojawiają się komunika- może być irytujące. Tradycyjnie, apli- ków glibc – tyle, że samo glibc nic
ty dotyczące niemożności załadowania kacje linuksowe przechowują swoje o tym nie wiedziało. W efekcie mogło
modułu np. dla char-major-10-135. Co prywatne dane (zapisaną konfigura- dojść przez to do konfliktów nagłów-
oznacza ten zapis? cję) w katalogach ukrytych, o nazwach ków i trudnych do przewidzenia
Jest to sposób oznaczenia pliku zaczynających się od kropki. ROX-Filer awarii w nowo kompilowanych pro-
urządzenia w /dev, czyli zapewne wyłamuje się z tej konwencji, a obec- gramach.
ność tego katalogu bezpośrednio Jeśli jesteśmy ciekawi, to sprawdź-
w $HOME może przeszkadzać. Z tego my, jak wyglądają nasze pliki /usr/
względu autorzy ROX-Filera wprowa- include/linux itp. – jeśli to prawdzi-
dzili możliwość przesunięcia tego kata- we katalogi, to spokojnie możemy
logu. Opcja ta nie jest dostępna w kon- trzymać źródła najnowszego jądra
figuratorze, gdyż jest sterowana przez w /usr/src/linux, bo nie powodu-
zmienną środowiskową CHOICESPATH. je to podmieniania nagłówków. Jeśli
Jeśli dodamy do swojego ~/.bashrc jednak /usr/include/linux to nie kata-
wiersz: log, a dowiązanie symboliczne prowa-
dzi gdzieś do /usr/src/linux, to lepiej
export CHOICESPATH=$HOME/.Choices nie zmieniajmy tam nic i źródła naj-
Rysunek 1. Aterm – uruchomiony nowszego jądra ściągniętego z http://
przez wywołanie polecenia: i zmienimy nazwę katalogu Choices na www.kernel.org rozpakowujmy w ja-
# aterm -tr -rv -fn 9x15bold -sh 70 .Choices, to ROX-Filer zacznie zacho- kimś innym miejscu. ■

www.lpmagazine.org 59
sprzęt

Programowy
RAID oraz LVM
Piotr Wolny

C
oraz więcej spośród naszych larnych rodzajów RAID można przeczytać
komputerów jest wyposażo- w ramce Poziomy RAID. Generalnie, RAID
nych w więcej niż jeden dysk umożliwia:
twardy. Tradycyjnie, zakłada-
my na tych dyskach kilka partycji, gdyż • zwiększenie bezpieczeństwa danych,
Linux umożliwia nam montowanie róż- jeśli stosujemy nadmiarowe dyski
nych części systemu plików (np. /usr czy (bez nadmiarowych dysków nasz
/home) z niezależnych urządzeń. Na tym RAID jest bardziej podatny na awarię
nie kończą się możliwości wykorzystania niż pojedyncze dyski);
dysków twardych w Linuksie. Od dawna • szybkość odczytu i zapisu danych
nasz system wspiera dwa bardziej zaawan- zwiększa się, jeśli tylko zastosujemy
sowane mechanizmy gromadzenia danych: rozdzielanie (ang. striping) danych
Software RAID oraz Logical Volume Mana- na dwa lub więcej niezależnych urzą-
ger. Przy ich pomocy możemy zwięk- dzeń fizycznych;
szyć wydajność pamięci masowej, a także • połączenie kilku niezależnych urzą-
poprawić bezpieczeństwo przechowy- dzeń w jeden system plików może
wanych danych. Choć zarówno Softwa- zwiększyć wygodę administracji sys-
re RAID, jak i Logical Volume Manager temem w pewnych konfiguracjach.
(LVM), kojarzą się często z wielkimi serwe-
rami, wyposażonymi w dziesiątki dysków, Pamiętajmy jednak, że RAID ma pewne
to z powodzeniem możemy je wykorzysty- ograniczenia:
wać również na domowych komputerach,
wyposażonych w dwa, trzy dyski twarde. • jedno utworzone urządzenie RAID nie
Ponadto, LVM jest również użyteczny może być dzielone na partycje, co cza-
z jednym dyskiem. sami powoduje konieczność konfigu-
rowania kilku RAID równocześnie;
RAID a LVM
Historycznie, starszym rozwiązaniem jest
DVD programowy RAID. Idea Redundant Arrays
Po uruchomieniu Linux+ Live of Inexpensive Disks nie jest taka stara, gdyż
DVD można przetestować oma-
pochodzi z 1987 roku. Opracowano wtedy
wiane zagadnienia.
koncepcję łączenia wielu tanich dysków
Na płycie CD/DVD w jedno duże i szybkie urządzenie. Aby
Na płycie CD/DVD znajduje się awaria jednego z połączonych dysków nie
oprogramowanie omawiane powodowała utraty danych na całej macie-
w artykule. rzy, w koncepcji ujęto dyski nadmiarowe
(ang. redundant), niezbędne do odtwo-
O autorze rzenia danych, w przypadku awarii. Tra-
Autor hobbistycznie i zawodo-
dycyjne RAID wykonuje się sprzętowo,
wo zajmuje się Linuksem mniej
najczęściej łącząc dyski SCSI, które, po
więcej od czasów jądra 2.0.20.
Obecnie pracuje w organiza- podłączeniu do komputera, są widocz-
cji społecznej. Poza Linuksem ne jako jedno urządzenie. Linux umożli-
fascynuje go rock progresywny. wia nam budowę RAID poprzez progra-
Rysunek 1. W Linuksie dyski różnego
Kontakt z autorem: mowe połączenie dysków w macierze
typu możemy łączyć w jedno urządzenie
autorzy@lpmagazine.org i mogą to być zarówno urządzenia SCSI,
RAID lub LVM
IDE, jak również SATA. Na temat popu-

60 styczeń 2005
software raid oraz logical volume manager sprzęt

Tworzymy programowy
RAID RAID i LVM podczas
Programowy RAID możemy założyć na instalacji dystrybucji
co najmniej dwóch dowolnych partycjach. Instalatory większości nowoczesnych dys-
Aby miał on jakikolwiek sens, partycje te trybucji umożliwiają utworzenie urządzeń
powinny znajdować się na osobnych dys- RAID i LVM już podczas instalacji Linuksa.
Przykładowo, w Aurox Linuksie wystarczy,
kach. Zakładanie RAID na dwóch party-
że wybierzemy Partycjonowanie ręczne
cjach jednego dysku nie zwiększy bezpie-
Disk Druidem i będziemy mogli utworzyć
czeństwa danych, ani nie przyspieszy ope-
RAID-a, LVM-a, a nawet LVM-a na RAID-
Rysunek 2. Sterowniki do RAID i LVM racji dyskowych. Możemy łączyć w jeden ie. W nowych wersjach Mandrakelinuksa
znajdziemy w jądrze Linuksa RAID partycje z całkiem różnych dysków, również musimy wybrać ręczny podział
np. IDE, SCSI czy SATA, ale z reguły taka na partycje, a później dodatkowo przełą-
• raz utworzony RAID nie może zostać hybryda będzie pracowała z prędko- czyć się na tryb zaawansowany. Instala-
rozszerzony na więcej dysków. ścią najwolniejszego spośród nich. Jeśli tor tej dystrybucji ma podobne możliwości,
chcemy łączyć dwa dyski IDE, powinny ale zdaje się, że nie pozwala na tworzenie
Dzięki RAID, to co komputer widzi jako one znajdować się na osobnych kanałach LVM-a na RAID-ie.
jedno urządzenie blokowe, może być IDE – gdy będą połączone jedną taśmą, Jeśli wiemy, jak działają urządze-
nia RAID oraz LVM, utworzenie ich przy
w istocie kombinacją kilku partycji na róż- zauważymy wyraźny spadek wydajności.
pomocy któregoś z tych instalatorów
nych dyskach twardych. Logical Volume Programowy RAID jest realizowany na
nie powinno stwarzać żadnych proble-
Manager idzie znacznie dalej. Udostęp- poziomie jądra systemu. Musimy posiadać
mów. Przykładowo, aby stworzyć RAID
niane przez niego urządzenia blokowe w jądrze wsparcie dla RAID. Przy konfi- w Aurox Linuksie, klikamy na RAID, wybie-
nie tylko mogą fizycznie znajdować się guracji jądra, w dziale Multi-device sup- ramy pierwszy z dysków i zaznaczamy
na dowolnej ilości dysków czy partycji, ale port (RAID and LVM), powinniśmy zazna- utworzyć partycję programowego RAID.
również możliwe jest ich łatwe powięk- czyć RAID support oraz potrzebne tryby Następnie to samo powtarzamy dla kolej-
szanie, zmniejszanie oraz przenoszenie. RAID (możemy wszystkie). Najwygodniej nych dysków. Na zakończenie, jeszcze raz
To tak, jakby jedna tablica partycji obej- jest wkompilować obsługę RAID na stałe klikamy na RAID i wybieramy utworzyć
mowała nie tylko kilka dysków, ale rów- do jądra. Możemy również nie kompilo- urządzenie programowego RAID. Wtedy
nież umożliwiała dodawanie/usuwanie, wać jądra samodzielnie i polegać na dys- będziemy mogli podać jego typ, punkt
zamontowania oraz system plików, który
zwiększanie/zmniejszanie partycji bez trybucyjnym – we wszystkich nowych
zostanie na nim utworzony. LVM tworzy-
żadnej przerwy w pracy systemu – czasem dystrybucjach znajdziemy moduły linear,
my podobnie – najpierw tworzymy jedną
nawet bez odmontowania partycji. Możli- raid0, raid5 itd., potrzebne do działa-
lub kilka partycji typu physical volume
we jest przy tym równie łatwe dokładanie nia naszej macierzy. Wystarczy polecenie LVM, a później klikamy na LVM i tworzymy
kolejnych dysków. Reasumując, dzięki LVM cat /proc/mdstat, aby dowiedzieć się, czy poszczególne woluminy logiczne.
otrzymujemy: nasze jądro posiada wsparcie dla Software Moje doświadczenia z tworzeniem
RAID. Jeśli zobaczymy komunikat o braku RAID-a oraz LVM-a przez instalatory
• całkowitą dowolność w przydzielaniu pliku, musimy skonfigurować i skompilo- dystrybucji nie są zachęcające. Polecam
poszczególnych fizycznych dysków czy wać nowe jądro własnoręcznie. instalację na tradycyjnych urządzeniach,
partycji jako urządzeń blokowych w sys- Programowy RAID jest dostępny w ją- a dopiero później stworzenie RAID-a czy
temie (np. urządzenie zamontowane drze Linuksa od bardzo dawna – jest stan LVM-a i przeniesienie na nie odpowiednich
katalogów.
jako /home może składać się z jedne- dardowo obecny w jądrach z serii 2.4.x
go dysku IDE i połowy dysku SCSI); i 2.6.x, ale istnieją łatki pozwalające używać
• możliwość łatwego zwiększania i zmnie- go z jądrami 2.2.x, a nawet 2.0.x. Wszystkie i hdd. Na obydwu tych dyskach utwo-
jszania (jeśli system plików umożliwia opisane tutaj czynności wykonywałem na rzyliśmy partycje, przy czym na RAID
to drugie) poszczególnych urządzeń jądrze 2.6.9 – powinny one wyglądać iden- mają być przeznaczone hda2 oraz hdd2.
widzianych przez system operacyjny tycznie w starszych wersjach jądra, włą- Zanim rozpoczniemy właściwą pracę,
oraz przenoszenia ich między dyskami cznie z serią 2.4.x. możemy przetestować szybkość działa-
(obejmuje to również łatwe dodawanie Poza wsparciem w jądrze systemu, nia tych dysków, przed zbudowaniem
i odejmowanie dysków z systemu); będziemy potrzebować jeszcze dwóch z nich macierzy. Jak na poważnie podejść
• rozdzielanie (ang. striping) danych na pakietów z oprogramowaniem: mdadm do testowania wydajności dysków, korzy-
dwa lub więcej niezależnych urządzeń oraz raidtools (w Debianie – raidtools2). stając z programu Bonnie++, opisuję
fizycznych, aby zwiększyć wydajność; Ten pierwszy zawiera narzędzie do akty- w ramce Jak testować dyski?. Przy pro-
• funkcję ułatwiającą wykonywanie wowania i zatrzymywania urządzeń jektowaniu systemu, w którym ważną
kopii bezpieczeństwa (snapshot). RAID, a drugi dostarcza podstawowych rolę odgrywa wydajność pamięci maso-
narzędzi do tworzenia macierzy. Znajdzie- wej, należy zawsze kierować się wskaza-
Wadą linuksowego LVM-a jest brak możli- my te pakiety we wszystkich popularnych niami programu Bonnie++ lub podobne-
wości stosowania nadmiarowych dysków, dystrybucjach Linuksa. go. W tym artykule, aby szybko i obrazo-
ale możemy połączyć go z programowym Załóżmy, że nasz system operacyj- wo pokazać różnice pomiędzy konfigura-
RAID-1, aby zapewnić sobie dodatkowe ny jest zainstalowany na dysku sda, a na cjami RAID, posłużę się programem dd.
zabezpieczenie. RAID chcemy przeznaczyć dyski IDE: hda Przykładowo, po utworzeniu na partycji

www.lpmagazine.org 61
sprzęt

hda2 systemu plików ext2, zamontowa- cia tej macierzy podczas uruchamiania Widzimy prawie dwukrotny wzrost pręd-
niu jej w /mnt/test/, wykonałem komendy: się jądra systemu; chunk-size określa w kości zapisu tego pliku (z 32,8 do 18,4
cd /mnt/test; dd if=/dev/zero of=ska- kilobajtach, na jakie najmniejsze jednost- sekundy). Podobna macierz, utworzo-
suj_mnie count=2000000.W efekcie otrzy- ki będą dzielone dane podczas zapisu na na w moim komputerze na dyskach
małem następującą prędkość zapisu linio- macierz (nie można jednoznacznie powie- SATA, poradziła sobie z tym zapisem
wego jednego dużego pliku: dzieć, jaka wartość spowoduje najlepszą w 14 sekund.
wydajność, ale wstępnie możemy przyjąć, W ten sposób otrzymaliśmy urzą-
1024000000 bytes transferred że będzie ona równa block size naszego dzenie, które powinno działać znacz-
in 28,490542 seconds systemu plików). Dalej wyliczamy i nume- nie szybciej od pojedynczego dysku,
(35941752 bytes/sec) rujemy wszystkie użyte partycje. zarówno przy operacjach odczytu, jak
Kolejnym krokiem jest zmiana przy i zapisu. Możemy zamontować je
Przy zastosowaniu systemu plików ext3 pomocy programu fdisk identyfikato- w dowolnym miejscu systemu plików,
czas potrzebny dla wykonania tej opera- rów partycji, na których będzie działa- w którym występuje intensywne użycie
cji urósł do 32,8 sekundy. ła macierz. Powinny one otrzymać typ dysku, np. w /var/www. Wystarczy tylko
fd, czyli Linux raid auto. Bez tej czynno- odpowiedni wpis w /etc/fstab i prze-
RAID-0 ści macierz będzie działać, ale nie zosta- niesienie starych danych na nowe urzą-
Najpierw wypróbujemy RAID-0. Aby nie automatycznie wykryta przez jądro dzenie. Jeśli chcemy używać macierzy
go utworzyć, musimy napisać plik /etc/ systemu. w kilku różnych miejscach systemu
raidtab. Na początek umieściłem tam Gdy wszystko jest gotowe, wykonu- plików, musimy dołożyć więcej dysków
następujące wpisy: jemy polecenie mkraid /dev/md0. Oczy- lub posiadane dyski podzielić na więcej
wiście, w jego wyniku utracimy wszyst- partycji, następnie zdefiniować w /etc/
raiddev /dev/md0 kie dane, które mieliśmy na partycjach raidtab kolejne urządzenia /dev/md1, md2
raid-level 0 wymienionych w /etc/raidtab. W rezulta- itd., wszystkie je zainicjować (mkraid), sfor-
nr-raid-disks 2 cie powinniśmy otrzymać coś takiego: matować oraz zamontować.
persistent-superblock 1 Jeśli prawidłowo zainstalowaliśmy
chunk-size 4 handling MD device /dev/md0 pakiety mdadmin oraz raidtools, skryp-
device /dev/hda2 analyzing super-block ty odpowiedzialne za zamykanie syste-
raid-disk 0 disk 0: /dev/hda2, 14659312kB, mu powinny zatrzymać macierz (wyko-
device /dev/hdd2 raid superblock at 14659200kB nać komendę raidstop z odpowiednim
raid-disk 1 disk 1: /dev/hdd2, 18922680kB, parametrem), zanim nasze dyski zostaną
raid superblock at 18922560kB odłączone od zasilania. W wielu dystry-
Jak widzimy, ten plik nie jest skompli- bucjach będzie również działało powia-
kowany. Pierwsza linia określa, które- Jak widzimy, mimo, że partycje te różnią damianie pocztą administratora systemu
go urządzenia dotyczy ta konfigura- się wielkością, macierz została utworzona. o awarii któregoś z dysków. Wspomnia-
cja. Poza md0 możemy mieć dowol- Teraz możemy sprawdzić ją komendą cat ne pakiety mają jeszcze sporo więcej moż-
nie dużą ilość innych urządzeń (oczy- /proc/mdstat. Powinniśmy zobaczyć np. liwości – warto przejrzeć ich pliki konfi-
wiście, powinny się one znajdować na coś takiego: guracyjne w katalogach /etc/default/ oraz
innych partycjach). Opcją raid-level /etc/mdadm/.
ustalamy rodzaj macierzy – w tym Personalities : [linear] [raid0]
przypadku RAID-0, czyli stripe. Jako nr- [raid1] [raid5] [raid6] [raid10] RAID-1
raid-diskpodajemy,ilepartycjimapracować md0 : active raid0 hdd2[1] hda2[0] Załóżmy, że postanowiliśmy zmienić swoją
w tym urządzeniu; persistent-superblock 33581760 blocks 4k chunks konfigurację, tworząc RAID-1 w miejsce
spowoduje, że w superbloku podanych unused devices: <none> RAID-0 – tak naprawdę dopiero RAID-1
dalej partycji zostaną zapisane informa- jest prawdziwym RAID, gdyż w RAID-0
cje potrzebne do automatycznego wykry- Od teraz urządzenie /dev/md0 traktujemy nie ma nadmiarowych dysków. Zanim
jak partycję dysku twardego. Możemy np. rozpoczniemy tworzenie nowego urzą-
wykonać polecenia: dzenia, musimy koniecznie dezakty-
wować poprzednie. Pierwszym kro-
# mkfs.ext3 /dev/md0 kiem jest odmontowanie systemu plików
# mount /dev/md0 /mnt/test/ zamontowanego na macierzy (np. umount
# cd /mnt/test/ /var/www). Następnie wykonujemy ko-
# dd if=/dev/zero of= mendę raidstop /dev/md0. Dopiero
skasuj_mnie count=2000000 wtedy możemy zmieniać układ partycji
na dyskach i tworzyć nowe macierze.
Na moim systemie ten szybki test pokazał: Jeśli pominiemy te kroki, ani konfigura-
Rysunek 3. Wszystkie potrzebne
cja nowej macierzy, ani zmiany w ukła-
informacje do zbudowania RAID
1024000000 bytes transferred dzie partycji nie będą skuteczne – co naj-
i LVM możemy znaleźć po angielsku
in 18,410448 seconds wyżej mogą doprowadzić do bezpowrot-
w odpowiednich HOWTO
(55620591 bytes/sec) nej utraty danych.

62 styczeń 2005
software raid oraz logical volume manager sprzęt

Plik konfiguracyjny /etc/raidtab dla DESTROYING the contents of /dev/md0


RAID-1 jest prawie identyczny, jak dla in 5 seconds, Ctrl-C if unsure!
Integracja RAID/LVM
RAID-0: handling MD device /dev/md0 w systemie
analyzing super-block To, gdzie zamontujemy nowo powsta-
łe urządzenia, zależy od celu, jaki przy-
raiddev /dev/md0 disk 0: /dev/hda2, 14659312kB,
świecał nam przy konfiguracji LVM-a czy
raid-level 1 raid superblock at 14659200kB
RAID-a, jak również od specyfiki nasze-
nr-raid-disks 2 disk 1: /dev/hdd2, 18922680kB,
go systemu. Mogą one zarówno przyspie-
persistent-superblock 1 raid superblock at 18922560kB
szyć dostęp do danych (jeśli korzystamy z
chunk-size 4 rozdzielania dostępu na wiele fizycznych
device /dev/hda2 Od teraz urządzenie /dev/md0 jest urządzeń), jak i usprawnić administrowa-
raid-disk 0 gotowe do użycia. Ma ono pojemność 14 nie miejscem na dysku i zwiększyć bez-
device /dev/hdd2 GB, czyli tyle samo, ile mniejsza z uży- pieczeństwo danych. Stosujmy więc go
raid-disk 1 tych partycji. Tworzymy na nim system w tych miejscach, gdzie wymagana jest
plików i sprawdzamy, jak działa. Komen- któraś z tych właściwości. Pierwszymi
Następnie wydajemy polecenie mkraid da dd, użyta identycznie jak w poprzed- lokalizacjami, które przychodzą na myśl
są /home oraz /var – z reguły tam naj-
/dev/md0 i dostajemy w efekcie komu- nich przykładach, tym razem potrzebo-
częściej przewidzieliśmy za dużo lub za
nikat: wała aż ponad 35 sekund na wykonanie
mało miejsca na dysku, a także tam na
swojego zadania. Widzimy, że RAID-1
ogół mamy najważniejsze dane. W przy-
handling MD device /dev/md0 przy operacji zapisu działa nieznacznie padku, gdy nasze nowe urządzenie działa
analyzing super-block wolniej niż pojedynczy dysk twardy. szybciej niż zwykłe dyski (dzięki wykorzy-
disk 0: /dev/hda2, 14659312kB, Kosztem zmniejszenia wydajności staniu strip), możemy zdecydować się na
raid superblock at 14659200kB otrzymujemy większe bezpieczeństwo przeniesienie na niego katalogu /tmp – ist-
/dev/hda2 appears to be already danych. Gdy jeden z dysków ulegnie nieją aplikacje, które intensywnie go wyko-
part of a raid array -- use -f to awarii, macierz będzie pracowała dalej, rzystują, czy nawet /usr, co może minimal-
force the destruction of the a w logach systemowych pojawi się infor- nie przyśpieszyć uruchamianie się progra-
old superblock macja o konieczności jego wymiany. mów na komputerze biurkowym.
Aby przenieść dane z podstawowego
mkraid: aborted.
urządzenia na nowe, możemy najprościej
RAID-5 zamontować go w tymczasowej lokali-
Jak widać, system odmówił stworzenia Stworzenie RAID-5 nie jest wcale trud-
zacji (np. /mnt/tmp) i użyć komendy, np.
nowej macierzy na urządzeniach, na któ- niejsze niż RAID-0 i RAID-1. Przykła- cp -ax /var/* /mnt/tmp/, następnie
rych poprzednio utworzyliśmy RAID-0. dowy /etc/raidtab, który stworzyłem na opróżnić przykładowy katalog /var i uak-
Jesteśmy jednak pewni, że chcemy całko- swoim komputerze, może wyglądać tak: tualnić /etc/fstab, aby właściwe urządze-
wicie zniszczyć poprzednią macierz, więc nie było montowane w tym miejscu.
wydajemy polecenie: mkraid -R /dev/md0 raiddev /dev/md0
i otrzymujemy np.: raid-level 5 nr-raid-disks 4
persistent-superblock 1
chunk-size 4
device /dev/hda2
raid-disk 0
device /dev/hdd2
raid-disk 1
device /dev/sda3
raid-disk 2
device /dev/sdb9
raid-disk 3

Wydane polecenie mkraid -R /dev/md0


pokazało:

DESTROYING the contents of /dev/md0


in 5 seconds, Ctrl-C if unsure!
handling MD device /dev/md0
analyzing super-block
disk 0: /dev/hda2, 14659312kB,
raid superblock at 14659200kB
disk 1: /dev/hdd2, 18922680kB,
raid superblock at 18922560kB
disk 2: /dev/sda3, 39070080kB,
Rysunek 4. Przykładowa konstrukcja LVM
raid superblock at 39070016kB

www.lpmagazine.org 63
sprzęt

przystąpimy do pracy, musimy koniecznie Multiple devices driver support. Z dostęp-


przyswoić sobie kilka podstawowych ter- nych tam dodatkowych opcji powinniśmy
minów, stosowanych w LVM-ie – bez tego zaznaczyć przynajmniej Snapshot target
dosyć szybko się pogubimy. oraz Mirror target – mimo, że są one ozna-
LVM tworzy dodatkową warstwę abs- czone jako eksperymentalne, to są już
trakcji pomiędzy urządzeniami pamięci w powszechnym użyciu (najpierw musimy
masowej a systemem plików w systemie. wybrać Prompt for development and/or
W efekcie, pomiędzy partycją na dysku incomplete code/drivers w dziale Code
a systemem plików w komputerze poja- maturity level options).
wiają się dodatkowe terminy: Najwygodniej jest wkompilować
Rysunek 5. Konfiguracja naszych
LVM-a na stałe do jądra, ale w niektórych
urządzeń wymaga użycia poleceń,
• physical volume (PV) – wolumin dystrybucjach znajdziemy go w posta-
działających z linii komend
fizyczny to po prostu dysk twardy lub ci modułu o nazwie dm-mod. Jeśli pole-
częściej partycja na dysku twardym, gamy na jądrze dystrybucyjnym, musimy
disk 3: /dev/sdb9, 9775521kB, ale może to być również urządzenie tylko załadować ten moduł. Powinniśmy
raid superblock at 9775424kB programowego RAID-a; używać jąder z serii 2.6.x, gdyż w star-
• volume group (VG) – grupa wolumi- szych, z serii 2.4.x, znajduje się poprzed-
Tak utworzone urządzenie ma rozmiar nów to jeden lub kilka woluminów nia generacja LVM-a, która posiada nieco
ok. 27 GB. Dlaczego? Musimy pomnożyć fizycznych (mamy z nią do czynienia mniejsze możliwości.
rozmiar najmniejszej z użytych partycji zawsze, nawet gdy posiadamy tylko Poza wsparciem w jądrze, potrzebu-
(9775521kB ~= 9GB) razy ilość dysków jeden PV); jemy również zestawu programów do
i odjąć rozmiar jednej partycji, potrzeb- • logical volume (LV) – wolumin logicz- tworzenia i administracji LVM. Są one
nej na dane o parzystości, więc 9*4- ny (system widzi LV jako urządzenie z reguły w pakiecie o nazwie lvm2,
9=27. blokowe, więc jeśli stosujemy LVM-a, a nie w pakiecie lvm lub lvm01, który jest
Szybki test, przy pomocy komendy system plików (np. ext3) zakładamy przeznaczony do współpracy ze starszy-
dd i urządzenia /dev/zero, zajął na moim nie na partycji, ale na LV; podobnie, w mi wersjami jądra. Używanie złej wersji
systemie 20 sekund, więc RAID-5 działa systemie montujemy LV, a nie partycję; programów narzędziowych może ścią-
szybciej niż pojedynczy dysk, ale oczy- na jednej grupie woluminów tworzy- gnąć na nas nieoczekiwane problemy,
wiście wolniej niż RAID-0. my jeden lub więcej LV); więc zwróćmy uwagę, czy mamy zainsta-
• physical extent (PE) i logical extent lowany właściwy i tylko właściwy pakiet.
Zapasowe dyski (LE) – ekstenty fizyczny i logicz- Ponadto, musimy zainstalować wszyst-
Dla zwiększenia bezpieczeństwa macierzy ny (dane na woluminach fizycznych kie biblioteki, od których jest on zależny
typu RAID-1 i RAID-5 (a także nieopisy- i logicznych dzielone są na mniejsze (zwłaszcza libdevmapper).
wanych tutaj RAID-6 i RAID-10) możemy jednostki, np. po 4 MB; wielkość PE
wykorzystać dyski zapasowe (spare disk). i LE są takie same). Wybór urządzeń
Taki dysk nie jest normalnie używany – Przy projektowaniu macierzy dyskowej
żadne dane nie są zapisywane ani odczy- Do działania LVM-a potrzebujemy w ją- musieliśmy wybrać, na których party-
tywane z niego. W momencie, gdy jeden drze wsparcia dla Device mapper. Przy cjach jakich dysków zostanie ona utworzo-
z dysków zostanie uszkodzony, macierz konfiguracji jądra znajdziemy go w dziale na. LVM może korzystać z poszczególnych
automatycznie odtworzy jego zawartość
na pierwszym, dostępnym spare disk. Listing 1. Przykładowy raport, generowany przez vgdisplay
Dzięki temu wyłączenie systemu w celu
--- Volume group ---
wymiany uszkodzonych dysków może
VG Name dyski_IDE
zostać zaplanowane na znacznie później- System ID
szy termin – możemy czekać nawet do Format lvm2
kolejnej awarii któregoś dysku i nie straci- Metadata Areas 1
my żadnych danych. Metadata Sequence No 1
VG Access read/write
Aby dodać do macierzy dysk zapaso-
VG Status resizable
wy, wystarczy do /etc/raidtab dopisać np. MAX LV 0
takie linie: Cur LV 0
Open LV 0
device /dev/sdd1 Max PV 0
Cur PV 1
spare-disk 0
Act PV 1
VG Size 37,27 GB
Tworzymy LVM-a PE Size 4,00 MB
Logical Volume Manager sam w sobie nie Total PE 9540
jest trudny do skonfigurowania. To co Alloc PE / Size 0 / 0
Free PE / Size 9540 / 37,27 GB
odstrasza od niego wielu użytkowników,
VG UUID OEEclx-9gIP-Oqyl-R1cH-9tkK-Mlm7-rWW4xi
to stosowana w nim terminologia. Zanim

64 styczeń 2005
software raid oraz logical volume manager sprzęt

partycji, identycznie jak RAID, ale możemy


go również instalować bezpośrednio na
Poziomy RAID:
niepodzielonym na partycje dysku (jeśli • Liniowy (linear mode). W tym trybie dwie • RAID-5. Wymaga trzech lub więcej
chcemy go w całości przeznaczyć do tego lub więcej partycji dodawanych jest do partycji. Wielkość powstałego urzą-
celu). Ponadto, możemy również skonfi- siebie liniowo, aby utworzyć jedno duże dzenia równa się sumie rozmiarów
gurować LVM-a na urządzeniu /dev/md0, urządzenie RAID. Podczas zapisu na to wszystkich użytych partycji minus roz-
czyli na dowolnym typie programowe- urządzenie, dane najpierw zapełnią całą miar jednej. Jeśli mamy cztery par-
go RAID-a. Jak wcześniej wspomniałem, pierwszą partycję (pierwszy dysk), póź- tycje po 15 GB, uzyskujemy 45 GB
LVM, mimo swoich sporych możliwości, niej drugą itd. Pojemność uzyskanego miejsca. Gdy rozmiary partycji nie są
urządzenia równa jest sumie pojemno- równe, w obliczeniach stosujemy wiel-
nie obsługuje nadmiarowych dysków, więc
ści wszystkich użytych partycji. Partycje kość najmniejszej z nich. To odejmo-
jeśli skonfigurujemy LVM-a na RAID-1, to
nie muszą mieć tego samego rozmiaru. wane miejsce wykorzystywane jest do
otrzymamy urządzenie, które łączy w sobie
Nie uzyskujemy zwiększenia prędkości, przechowywania kontroli parzystości
zalety jednego i drugiego – podwyższone a awaria jednego dysku powoduje utratę z urządzeń, dzięki czemu w przypad-
bezpieczeństwo danych i lepszą elastycz- danych z całej macierzy. ku awarii jednego z dysków możliwe
ność w konfiguracji systemu. • RAID-0 (stripe). Pojemność dwóch lub jest odtworzenie wszystkich danych.
W dalszej części artykułu podam, więcej urządzeń dodawana jest do sie- W przypadku równoczesnej awarii
jak łatwo stworzyć LVM-a na macierzy bie, ale dane są zapisywane równocze- dwóch dysków, dane zostaną bezpow-
RAID-1. Jeśli chcemy utworzyć LVM-a na śnie na wielu urządzeniach i podobnie rotnie utracone. Prędkość działania jest
pojedynczym dysku czy partycji, wszyst- odczytywane. Jeśli mamy w ten spo- zbliżona do RAID-0, ale przy zapisie
kie czynności wykonujemy identycz- sób połączone trzy dyski i ustaliliśmy jest minimalnie mniejsza, gdyż oblicza-
rozmiar paska danych (ang. stripe size) na jest „parzystość” danych (a dokład-
nie, podając tylko inne nazwy urządzeń.
na 16 kB, to przy nagrywaniu pliku o wiel- niej wykonywana jest operacja logiczna
Zakładam, że utworzyliśmy już macierz
kości 48 kB uruchomione zostaną wszy- Exclusive OR na poszczególnych bitach
RAID-1, tak jak opisywałem wcześniej.
stkie dyski równocześnie i na każdym ze wszystkich dysków).
z nich nagrane zostanie tylko 16 kB. Jak
Kolejne kroki łatwo się domyśleć, taka konfiguracja Ponadto rzadko stosowane są:
Pierwszą czynnością jest oznaczenie zwiększa nawet wielokrotnie prędkość
wszystkich urządzeń, które mają stać się • RAID-4 – podobny do RAID-5, ale infor-
transferu danych. Suma pojemności
macja o parzystości jest zapisywana
częścią jakiejś grupy woluminów (VG). dysków jest dodawana, ale powinny one
wyłącznie na jednym urządzeniu, przez
W naszym przypadku wydajemy pole- być takiej samej wielkości. Jeśli są różne,
co staje się ono wąskim gardłem. Powin-
cenie: pvcreate /dev/md0. Jeśli chcemy na wszystkich dyskach używana jest
no być dużo szybsze niż pozostałe.
zainstalować LVM-a na pojedynczej par- tylko pojemność najmniejszego z nich.
• RAID-6 – podobny do RAID-5, z jesz-
tycji, np. /dev/hdb3, napiszemy pvcre- Awaria jednego dysku powoduje utratę
cze jednym dyskiem na dane o parzy-
danych z całej macierzy.
ate /dev/hdb3, a gdy przeznaczamy na stości, dzięki czemu może przetrwać
• RAID-1 (mirror). Identyczne dane
LVM-a cały dysk hdb – pvcreate /dev/hdb. równoczesną awarię dwóch dysków.
zapisywane są równocześnie na
W tym ostatnim przypadku powinniśmy • RAID-2, RAID-3 są podobne do RAID-
dwóch lub więcej dyskach. Odczyt
najpierw wymazać z tego dysku tablicę 4, ale nie przyjęły się i nie było sensu
następuje z któregokolwiek z nich.
partycji, np. poleceniem dd if=/dev/zero zapewniać dla nich wsparcia w Linuksie.
Pojemność takiej macierzy jest
of=/dev/hdb bs=1k count=1. Po wydaniu • RAID-10 – Jest to RAID-0, ale poszcze-
równa pojemności najmniejszej
gólnymi jego elementami nie są partycje
polecenia pvcreate powinniśmy zoba- z użytych partycji. Prędkość zapisu jest
fizycznych dysków, a macierze RAID-1.
czyć np. Physical volume "/dev/md0" suc- nieco mniejsza niż na pojedynczym
Wymaga więc czterech lub większej
cessfully created. Polecenie to powtarza- dysku. W przypadku awarii jednego
liczby dysków.
my dla wszystkich urządzeń, które mają dysku, system może pracować dalej, nie
być użyte w którejś z VG. Spowodu- następuje żadna utrata danych.
je ono zapisanie na początkowych sek-
torach urządzenia specyficznych danych, szkód (nie dotyczy to mojego systemu, nazwę, którą możemy dobrać według
identyfikujących dane urządzenie, dzięki w którym LVM powstaje na RAID-1). własnego uznania. W moim przykładzie
czemu, jeśli np. zamienimy dyski sda Drugą czynnością jest utworzenie utworzyłem VG poleceniem vgcreate
i sdb, LVM będzie działało nadal bez prze- grupy woluminów. Każda grupa ma swoją dyski_IDE /dev/md0, które odpowiedziało
komunikatem Volume group "dyski_IDE"
successfully created. Nadałem swojej
grupie nazwę „dyski_IDE”. Jeśli nasz wolu-
min ma się rozciągać na więcej urządzeń,
w tym poleceniu wymieniamy je wszyst-
kie, np. vgcreate dyski_IDE /dev/hda3
/dev/hdc4 /dev/sda5. Możemy utworzyć
więcej VG w jednym systemie (maksymal-
nie 99), ale oczywiście żadne urządzenie
Rysunek 6. LVM pomaga nam lepiej zorganizować miejsce na dyskach
fizyczne nie może być w dwóch grupach.
Przy okazji tworzenia VG możemy ustawić

www.lpmagazine.org 65
sprzęt

volume group "dyski_IDE" now active. Co nie 256). Woluminy logiczne (LV), podob-
ważne, od tego momentu skrypty, odpo- nie jak grupy woluminów (VG), mogą
wiadające za start i zamykanie systemu, mieć dowolne nazwy, wymyślone przez
które zainstalowaliśmy razem z pakietem nas.
lvm2, będą opiekowały się naszym wolu- Przeanalizujmy przykładowe polece-
minem, czyli aktywowały go przy starcie nie, tworzące LV: lvcreate -l3000 -nka-
i dezaktywowały przy zamykaniu syste- talogi_domowe dyski_IDE. Ta komenda
mu. utworzyła LV o nazwie „katalogi_domowe”
Po aktywacji VG możemy uzyskać cie- i rozmiarze 3000 PE, czyli na moim sys-
Rysunek 7. Wynik działania programu
kawe informacje na jego temat, wydając temie 12000 MB. Nowy wolumin logicz-
Bonnie++ po konwersji do html
komendę vgdisplay dyski_IDE. Wynik jej ny powstał na bazie grupy woluminów
działania na moim systemie zamieściłem o nazwie „dyski_IDE”. Domyślnie, dane
rozmiar PE – według HOWTO domyślną na Listingu 1. Widzimy, że nasz rozmiar zapisywane na tym woluminie będą zaj-
wartością jest 32 MB, ale na moim syste- PE wynosi 4 MB (PE Size), a do dyspozycji mowały po kolei dostępne miejsce na
mie vgcreate użył wartości 4 MB. Własną mamy 9540 PE. Zwróćmy uwagę, że w tym poszczególnych urządzeniach fizycznych.
wartość możemy podać przy pomocy przykładzie LVM widzi tylko jedno urzą- Dostęp do tego woluminu otrzymujemy
opcji -s, np. vgcreate -s 32 /dev/md0. dzenie fizyczne (jest nim /dev/md0), mimo przez plik urządzenia /dev/dyski_IDE/
Podana liczba (domyślnie w megabajtach) że faktycznie mamy dwa dyski. katalogi_domowe. Jeśli budujemy LVM-a
musi być potęgą dwójki. Zbliżamy się do końca. Teraz utwo- na bazie dwóch lub więcej niezależnych
Następny krok to aktywacja woluminu. rzymy woluminy logiczne. Jak wspomnia- urządzeń, możemy użyć opcji -i, aby sko-
Przeprowadzamy ją poleceniem vgchan- łem wcześniej, na jednym VG możemy rzystać z możliwości rozdzielania opera-
ge --available y dyski_IDE. Powinno utworzyć wiele woluminów logicznych cji dyskowych (stripe) na kilka urządzeń.
ono odpowiedzieć: 0 logical volume(s) in (w systemie może ich być maksymal- Polecenie lvcreate -i2 -l3000 -nnazwa_LV
nazwa_VG spowoduje, że dane będą roz-

Jak testować dyski? dzielane na dwa urządzenia. Jeśli mamy


Zapewne wielu użytkowników Linuksa chamiamy program: bonnie++ -s 1000k więcej urządzeń, z powodzeniem możemy
zna narzędzie hdparm. Przy jego pomocy -n 128 -b. Przy pomocy opcji -s 1000k zwiększyć ten parametr.
możemy m.in. sprawdzić szybkość liniowego ustaliliśmy wielkość pliku, który utwo- Na ogół, gdy korzystamy z LVM-a, nie
transferu danych z dysku. To bardzo prosty rzy Bonnie++, aby sprawdzić prędkości interesuje nas, na które fizyczne urządze-
test, umożliwiający porównywanie różnych zapisu i odczytu liniowego. Opcja -n 128 nie trafią dane z konkretnego woluminu
dysków – w istocie bardzo niewiele mówi określa, jak wiele tysięcy małych plików logicznego – mamy bowiem kilka urzą-
nam o tym, jak wydajna będzie nasza pamięć (o rozmiarze zerowym) ma zostać utwo- dzeń, połączonych w jednym VG. Mimo
masowa, a już zupełnie nie nadaje się do rzonych, aby zmierzyć czas ich tworzenia,
to, do polecenia lvcreate możemy dodać
testowania RAID-a czy LVM-a. odczytu oraz kasowania. Ostatnia opcja -b
jeszcze jedną opcję, która określi, z które-
Nie ma jednego, uniwersalnego mierni- wyłącza buforowanie zapisów, synchronizu-
ka prędkości dysku, ponieważ każdy system jąc dysk po każdym z nich (fsync()), przez
go urządzenia fizycznego system skorzy-
komputerowy jest inny – jedne ciągle odczytu- co program zachowuje się jak popularne sta, gdy zacznie zapełniać nasz wolumen.
ją pliki wielkości kilku gigabajtów, a inne dzie- bazy SQL czy serwery SMTP, które czynią Przykładowo, lvcreate -l3000 -nnazwa_LV
siątki tysięcy plików o wielkości kilku kilobaj- podobnie. nazwa_VG /dev/sdh1 określi pierwsze użyte
tów. Na jednych równie ważna jak prędkość Po kilku lub kilkunastu minutach testów, urządzenie jako /dev/sdh1. Oczywiście,
odczytu jest prędkość zapisu, a na innych nie program wydrukuje kilka linii – na początku gdy skończy się tam miejsce, LVM zacznie
ma ona znaczenia. Niektóre programy czytają będą dwie mało czytelne tabele z wynika- korzystać z innych urządzeń.
dane liniowo, a inne wciąż przeszukują dysk. mi, natomiast ostatnia linia zawiera wszyst- Aby usunąć wolumin logiczny, wyda-
Z tego powodu mierząc wydajność pamięci kie wyniki, rozdzielone przecinkami. Aby jemy polecenie lvremove /dev/dyski_IDE/
masowej, zawsze musimy brać pod uwagę uzyskać ładną i czytelną tabelę z wynika-
katalogi_domowe. Najpierw musimy odmon-
konkretny system. mi w formacie html, możemy użyć progra-
tować systemy plików, jeśli jakieś zdążyli-
Najpopularniejszym programem, który mu bon_csv2html. Wczytuje on przez stan-
da nam więcej informacji na temat dzia- dardowe wejście ostatnią linię z wydru-
śmy już utworzyć i zamontować, korzysta-
łania dysku jest Bonnie++ (http://www. ku Bonnie++ i drukuje plik html na stan- jąc z /dev/dyski_IDE/katalogi_domowe.
coker.com.au/bonnie++/). Jeśli nie znajduje- dardowym wejściu. Możemy użyć go więc Do zmiany nazwy LV możemy użyć
my go w swojej dystrybucji, możemy ściągnąć tak: echo <ostatnia lini z bonie++> | komendy lvrename. Przydatny jest również
źródła z jego strony domowej, aby skompilo- bon_csv2html >/tmp/dysk1.html. Oczywi- program lvscan, który pokaże nam infor-
wać i zainstalować je tradycyjnymi komenda- ście, interesującą nas długą linię z wynika- macje o wszystkich działających wolumi-
mi: ./configure; make; make install. Pro- mi działania Bonnie++ najwygodniej będzie nach logicznych.
gram ten testuje szybkość działania nie tyle zaznaczyć i wkleić do tej komendy przy Ja na swoim systemie utworzyłem
samego twardego dysku, a systemu plików. pomocy myszki. od razu jeszcze jeden wolumin: lvcre-
Na testowanym dysku musimy założyć jakąś Wartości, podawane przez Bonnie++,
ate -l3000 -nlogi_systemowe dyski_IDE,
partycję, utworzyć na niej system plików będą uzależnione nie tylko od dysku twar-
a następnie wydałem polecenie vgdisplay,
i zamontować w systemie. Następnie prze- dego, ale również od zastosowanego syste-
chodzimy do katalogu, gdzie zamontowany mu plików (ext2/ext3), prędkości procesora,
które pokazało mi m.in. ilość wolnych PE:
jest testowany dysk (np. cd /mnt/test) i uru- obciążenia systemu itd.
Free PE / Size 3540 / 13,83 GB

66 styczeń 2005
software raid oraz logical volume manager sprzęt

Aby zapełnić całkowicie swój VG, two- Dodajemy dysk VG Size 74,52 GB
rząc ostatni wolumin logiczny, powinie- Załóżmy, że zabrakło miejsca na urzą- PE Size 4,00 MB
nem podać parametr -l3540, gdyż tyle dzeniu /dev/dyski_IDE/bazy_danych. Total PE 19078
zostało mi jednostek alokacji. Wiedzia- Do systemu dołożyliśmy nowy dysk Alloc PE / Size 9540 / 37,27 GB
łem jednak, że dobrze jest zostawić sobie i możemy z niego wykorzystać jedną Free PE / Size 9538 / 37,26 GB
trochę miejsca na snapshot'y, o których partycję – /dev/sda3. Oczywiście, nie
napiszę w dalszej części, więc wykonałem jest to najlepszy pomysł, bowiem nasze Możemy w tym momencie utworzyć cał-
polecenie lvcreate -l3490 -nbazy_danych wcześniejsze urządzenia znajdują się na kiem nowy wolumin logiczny na 9538
dyski_IDE. RAID-1, więc są zabezpieczone przed wolnych PE, ale nie o to nam przecież
W tym momencie jesteśmy gotowi, aby awarią jednego z dysków. Jeśli do całej chodzi, bo aktualnie zabrakło nam miej-
sformatować wszystkie utworzone urzą- grupy woluminów dodamy jedno urzą- sca na woluminie zamontowanym
dzenia. W moim systemie przykładowe dzenie fizyczne bez takiej ochrony, w /bazy. Po wykonaniu komendy df -h
komendy mogą wyglądać tak: w przypadku jego awarii stracimy aktualnie mamy:
wszystkie dane. W realnym świecie
mkfs.ext3 /dev/dyski_IDE/bazy_danych powinniśmy dodać przynajmniej dwie /dev/mapper/dyski_IDE-bazy_danych S
mkfs.ext3 /dev/dyski_IDE/katalogi_domowe partycje na różnych urządzeniach, two- 14G 13G 397M 98% /bazy
mkfs.ext3 /dev/dyski_IDE/logi_systemowe rząc na nich najpierw RAID-1. Na po-
trzeby demonstracji w tym artykule Aby dodać wszystkie 9538 wolne PE do
LVM w akcji posłużymy się jednak prostym przy- tego woluminu, wydajemy komendę:
W tym momencie zapewne wielu Czytel- kładem z jedną partycją.
ników zadaje sobie pytanie, po co wymy- Zaczynamy do zainicjowania partycji: lvextend -l +9538 /dev/dyski_IDE/S
ślono LVM? Jak na razie dosyć długi opis bazy_danych
doprowadził nas do sytuacji, w której # pvcreate /dev/sda3
mamy zwyczajny system. Co prawda jest Physical volume "/dev/sda3" successfullyS W ten sposób powiększyliśmy sam
on zabezpieczony przed awarią jednego created wolumin logiczny, co możemy spraw-
dysku twardego, ale to zasługa wyłącznie dzić poleceniem lvscan. Teraz musimy
RAID-1, a nie LVM. Dodatkowo, mamy Następnie rozszerzamy grupę wolumi- powiększyć system plików, aby obejmo-
spowolniony dostęp do dysku (prosty test nów o nowe urządzenie: wał miejsce na całym LV. Istnieją spe-
z komendą dd na LVM-ie działa u mnie cjalne łatki na jądro, które pozwalają na
o trzy sekundy dłużej niż na samym # vgextend dyski_IDE /dev/sda3 wykonanie tej operacji bez odmontowa-
tylko RAID-1). Oczywiście, LVM nie Volume group "dyski_IDE" successfullyS nia systemu plików, ale my na chwilkę
został stworzony po to, aby mieć fan- extended zróbmy umount /bazy/ i wydajmy pole-
tazyjne nazwy urządzeń. Zobaczmy, cenie resize2fs -p /dev/dyski_IDE/bazy
jak przy jego pomocy administrować Przy pomocy komendy vgdisplay spraw- danych. Program może nas popro-
miejscem na dysku i jak wygodnie wyko- dzamy efekt naszych działań. Fragment jej sić, abyśmy sprawdzili system plików
nywać kopie bezpieczeństwa danych. raportu u mnie wyglądał tak: przed zmianą jego rozmiaru, więc

R E K L A M A

www.lpmagazine.org 67
sprzęt

w takim przypadku napiszemy: e2fsck # lvreduce -L-1G /dev/dyski_IDE/S # xfs_freeze -f /home; lvcreate -L200MS
-f i wyda-
/dev/dyski_IDE/bazy_danych katalogi_domowe -s -n tylko_backup /dev/dyski_IDE/S
my komendę resize2fs ponownie. Pozo- # mount /home katalogi_domowe
staje nam teraz tylko zamontować
LV ponownie i sprawdzić, co pokaże W tym przypadku, jako parametr progra- W tym momencie możemy zamontować
df -h. U mnie otrzymałem: mu resize2fs, musieliśmy podać nową (tylko do odczytu) wolumin logiczny
wielkość systemu plików. o nazwie „tylko_backup”, który zawiera
/dev/mapper/dyski_IDE-bazy_S LVM zawiera również narzędzia do kopię woluminu „katalogi_domowe”:
danych 51G 13G 36G 27% /bazy przenoszenia grupy woluminów (VG)
na inne komputery, gdyż nie wystarczy # mount /dev/dyski_IDE/tylko_backupS
Operacja trwała bardzo krótko i zakoń- zwykłe przełożenie dysków. Powin- /mnt/backup/
czyła się sukcesem. Bez LVM koniecz- niśmy, po odmontowaniu systemu
na byłaby zapewne modyfikacja tablicy plików i dezaktywacji VG (vgchange -- Po zakończeniu wykonywania kopii
partycji na przynajmniej jednym dysku, activate n nazwa_VG), wykonać polece- bezpieczeństwa, wydajemy polecenie:
a następnie mozolne przenoszenie danych. nie vgexport nazwa_VG, a następnie po lvremove -f /dev/dyski_IDE/tylko_backup.
Wszystko to spowodowałoby znacznie przełożeniu dysku do nowego kompu- Musimy uważać, aby do tego czasu
dłuższą przerwę w pracy systemu. tera – vgimport nazwa_VG. zmiany na woluminie nie przekroczy-
Powiększanie systemu plików jest moż- ły rozmiaru snapshotu – w tym przy-
liwe nie tylko na ext2/ext3. Jeśli korzy- Snapshot kładzie 200 MB. Po przepełnieniu staje
stamy z reiserfs, w analogiczny sposób Wykonywanie kopii bezpieczeństwa się on bowiem bezużyteczny i podob-
używamy komendy resize_reiserfs -f. trwa dosyć długo, a nie każdy może nie trzeba traktować dane z niego sko-
W przypadku xfs mamy program xfs_ pozwolić sobie na zupełne zatrzymanie piowane.
growfs, ale istotna różnica polega w tym systemu na ten czas. Wtedy utrapieniem
przypadku na tym, że powinniśmy pozo- stają się pliki, które zostały zmodyfi- Zakończenie
stawić system plików zamontowany, a jako kowane w czasie wykonywania kopii. Stosowanie RAID-a i LVM-a może bardzo
parametr tego programu podać punkt LVM udostępnia nam specjalny mecha- ułatwić pracę administratora i zwiększyć
zamontowania (np. xfs_growfs /bazy). nizm, który pozwala na obejście tego bezpieczeństwo oraz wydajność systemu.
problemu. Rozwiązania te często powodują jednak,
Inne manipulacje dyskami Możemy utworzyć snapshot aktual- że czynności niegdyś proste (np. przenie-
W przypadku, gdy chcemy usunąć z sys- nego stanu któregoś z naszych wolumi- sienie dysku do innego komputera) stają
temu jeden dysk (np. hdb) i mamy na tyle nów logicznych. Snapshot jest dla admi- się znacznie bardziej skomplikowane, a w
dużo wolnego miejsca na pozostałych, nistratora systemu kolejnym wolumi- przypadku, gdy dochodzi już do awarii
aby zmieścić tam wszystkie dane, wyda- nem logicznym, zawierającym kopię któregoś z nich, odzyskanie danych jest
jemy polecenie: pvmove /dev/hdb. Teraz któregoś z LV. Kopia ta nie zmienia znacznie trudniejsze. Konieczne staje się
wszystkie dane z hdb zostały przenie- się, nawet jeśli na oryginale wyko- zaopatrzenie w odpowiednie narzędzia
sione na pozostałe dyski, w ramach tej nywane są operacje zapisu. Oczywi- do ratowania systemu, które będą potra-
samej grupy woluminów (VG). Następ- ście, przy tworzeniu snapshota dane na fiły sobie poradzić z systemami plików
nie vgreduce nazwa_VG /dev/hdb powo- nim zawarte nie są fizycznie kopiowa- na takich urządzeniach, np. mini-dys-
duje, że dysk nie jest już członkiem VG ne na nowy wolumin logiczny. Potrze- trybucja (R)ecovery (I)s (P)ossible Linux.
o nazwie nazwa_VG. bujemy trochę miejsca na danym VG, Innymi słowy, rozwiązując pewne proble-
Gdy do systemu dodaliśmy nowy dysk aby było gdzie zapisywać informacje my, dokładamy sobie często cały szereg
dodany (np. sdf ), na który chcemy prze- o plikach, które zmieniły się od czasu nowych.
nieść dane ze starego (np. hdb), wydaje- utrwalenia stanu woluminu logicznego.
my polecenia: Jeśli mamy katalog /home, w którym
znajduje się 20 GB danych, to wiemy, W Internecie:
# pvcreate /dev/sdf; vgextend dev /dev/sdf że zrobienie jego kopii bezpieczeństwa
• LVM HOWTO:
# pvmove /dev/hdb /dev/sdf; vgreduce dev zajmie 10 minut. Zakładamy, że w ciągu http://www.tldp.org/HOWTO/
/dev/hdb tych 10 minut na partycji z /home LVM-HOWTO/
użytkownicy utworzą lub zmodyfikują • Software RAID HOWTO:
Wcześniej powiększaliśmy wolumin lo- co najwyżej 200 MB danych. Tyle wła- http://www.tldp.org/HOWTO/
giczny. Oczywiście, jest możliwe równie śnie miejsca musimy mieć na danej Software-RAID-HOWTO.html
łatwe zmniejszenie go. Problem pojawia grupie woluminów. Snapshot tworzymy • Dystrybucja ratunkowa,
się ze zmniejszeniem systemu plików, poleceniem: m.in. dla RAID i LVM:
bowiem tylko ext2/ext3 oraz reiserfs http://www.tux.org/pub/people/
pozwalają na taką operację. Przykładowo: # lvcreate -L200M -s -n tylko_backupS
kent-robotti/looplinux/rip/
• Strona domowa dystrybucji
/dev/dyski_IDE/katalogi_domowe
(R)ecovery (I)s (P)ossible Linux:
# umount /home
http://www.tux.org/pub/people/
# resize2fs /dev/dyski_IDE/katalogi_S Jeśli używamy systemu plików xfs, pole- kent-robotti/looplinux/rip/
domowe 524288 cenie musi być nieco dłuższe:

68 styczeń 2005
dla programistów

Pyro i OpenSSL
– bezpieczny
komunikator internetowy
Marek Sawerwain

G
dy planujemy przesyłać isto- opisu interfejsu pochodzących z progra-
tne informacje poprzez Inter- mu Glade.
net, to wprowadzenie szy- Do poprawnego działania będzie
frowania danych w naszym wymagał, tak jak poprzednio, dwóch uru-
aplikacjach rozproszonych jest bardzo chomionych usług Pyro: serwera nazw
ważnym zagadnieniem. Istnieje wiele (usługę uruchamiamy poprzez wydanie
bibliotek wspomagających nas w tym polecenia ns) oraz serwera zdarzeń (usługę
temacie. Jedną z najbardziej znanych jest należy uruchomić wydając polecenie es).
OpenSSL. Jest ona dostępna we wszyst- Warto przedstawić sposób działa-
kich większych dystrybucjach Linuk- nia naszej aplikacji w postaci schema-
sa. Odpowiada za realizację bezpiecz- tu, który znajduje się na Rysunku 1. Jak
nych kanałów komunikacyjnych w opar- widać, mamy trzy specjalne serwery. Ser-
ciu o protokół SSL i jest wykorzystywana wery zdarzeń i nazw należą do systemu
przez wiele programów, w tym przeglą- Pyro, ale główny serwer, nazwany ser-
darki WWW. werem rozmów, musimy napisać samo-
Zastosowanie biblioteki OpenSSL naj- dzielnie, a raczej poprawić kod, doda-
lepiej pokazać na przykładzie. W nume- jąc obsługę SSL, bo przecież serwer już
rze Linux+ 10/2003 prezentowałem prosty wcześniej napisaliśmy.
komunikator na wzór bardzo popularne-
go Gadu-Gadu. Jedną z niedoskonało- Typowy serwer Pyro
ści tamtego programu była komunikacja Program komunikatora to wbrew pozo-
bez jakiegokolwiek szyfrowania danych. rom niewielka aplikacja. Łączny kod źró-
W tym artykule postaram się pokazać, dłowy serwera i klienta to tylko 7 kB
jak małym kosztem zmienić ten stan tekstu źródłowego w Pythonie. Zanim
rzeczy. wprowadzimy obsługę SSL do komunika-
tora, chciałbym przedstawić typową apli-
Kilka postanowień kację Pyro.
na początek Listing 1 zawiera kod klasy o nazwie
Najważniejszym zadaniem będzie doda- test_obj. Poprzez Pyro chcemy udostęp-
nie do komunikatora obsługi szyfrowa- nić tę klasę w sieci tak, aby inny użyt-
Na płycie CD/DVD nego kanału. Uprzedzając dalszą część kownicy Pythona mogli ją wykorzy-
Na płycie CD/DVD znajdują się artykułu, już teraz mogę zdradzić, iż jest stać we własnych programach. Pierwszą
wykorzystywane biblioteki, kod to zadanie łatwe do wykonania. Głównie czynnością jest definicja klasy (Listing 1),
źródłowy programu oraz wszyst- dlatego, iż Pyro znakomicie współpracu- którą zapisujemy w oddzielnym pliku
kie listingi z artykułu. je z biblioteką OpenSSL. o nazwie test_obj.py.
Aby w naszym komunikatorze znala- Istnieje kilka sposobów na napisanie
O autorze zła się obsługa SSL, wymagana jest jesz- serwera. Poniżej zaprezentuję sposób, który
Autor zajmuje się tworzeniem
oprogramowania dla WIN32
cze instalacja jednego pakietu o nazwie został użyty w komunikatorze. Pierwszym
i Linuksa. Zainteresowania: M2Crypt. Kilka uwag na ten temat zawiera elementem w implementacji serwera jest
teoria języków programowania ramka Kompilacja i instalacja pakietów. dołączenie odpowiednich pakietów:
oraz dobra literatura. Pozostałe założenia naszego progra-
Kontakt z autorem: mu pozostają niezmienione. Nadal jest import Pyro.core
autorzy@lpmagazine.org to program napisany w Pythonie. Będzie import Pyro.naming
korzystał z biblioteki GTK+ oraz z plików import test_obj

70 styczeń 2005
python/pyro/ssl dla programistów

Kompilacja oraz
instalacja pakietów
Nasza aplikacja to dość mały program.
Wielkość jest wynikiem zastosowania
kilku bibliotek, które pozwalają zaim-
plementować całkiem zgrabną apli-
kację minimalną ilością kodu. Z tego
powodu, aby nasz komunikator zadzia-
łał, potrzebny jest język programowa-
nia Python oraz pakiet OpenSSL. Sam
język, jak również bibliotekę, znajdzie-
my bez problemów w każdej dystrybucji
Linuksa. Autorzy biblioteki Pyro zale-
cają najnowszą wersję Pythona, naj-
lepiej 2.3.3, oraz wersję OpenSSL nie
starszą niż 0.9.7 (jeśli w dystrybucji jest
starsza wersja, to koniecznie trzeba
dokonać aktualizacji tego pakietu).
Biblioteki Pyro raczej nie znajdzie-
my, ale zanim przystąpimy do jej insta- Rysunek 1. Schemat działania komunikatora
lacji, należy zainstalować inną biblio-
tekę o nazwie M2Crypt. Będzie ona
obsługiwać połączenia szyfrowane Dwa pierwsze dotyczą Pyro, ale ostatni ma zainstalowanej sieci i jest dostępny tylko
SSL. Biblioteka M2Crypto ma również pakiet to nasza klasa, którą mamy zamiar adres lokalny 127.0.0.1.
swoje wymagania i do poprawnej kom- udostępnić. W tym celu w serwerze Następnym krokiem w implementa-
pilacji wymaga pakietu SWIG w wersji definiujemy specjalną klasę pośrednią cji serwera jest uzyskanie obiektu ser-
przynajmniej 1.3.21. Pakiet SWIG jest w następujący sposób: wera nazw:
oferowany przez niektóre dystrybucje,
ale gdy pojawi się konieczność jego class test_obj_classS ns=Pyro.naming.NameServerLocator().getNS()
kompilacji, to dzięki skryptowi confi- (Pyro.core.ObjBase, test_obj.test_obj):
gure sprawdza się ona do trzech pole- def __init__(self): Ostatnim obiektem do utworzenia jest
ceń: Pyro.core.ObjBase.__init__(self) daemon:

# ./configure –prefix=/katalog Następnie uruchomiamy serwer metodą daemon=Pyro.core.Daemon()


# make initServer:
# make install Konieczną operacją jest podanie mu
Pyro.core.initServer() obiektu serwera nazw i to wykonujemy
Proces kompilacji oraz instalacji pakie- w następujący sposób:
tu M2Crypto (jak również Pyro) sprowa- W przeciwieństwie do wcześniejszego
dza się do dwóch poleceń: kodu serwera komunikatora, określa- daemon.useNameServer(ns)
my jeszcze kilka dodatkowych informa-
# python setup.py build cji. Na początku określamy ilość infor- Ostatnie czynności w serwerze polegają
# python setup.py install macji, które będą zapisywane do pliku na podłączeniu naszego obiektu. W pierw-
zdefiniowanego za pomocą następnej szym parametrze wykorzystujemy klasę
Pamiętajmy, aby wcześniej zainsta- linii: pomocniczą test_obj_class, a w drugim
lować wszystkie pakiety bezpośred- ciąg znaków reprezentujący nasz obiekt,
nio związane z interpreterem Pytho- Pyro.config.PYRO_TRACELEVEL=3 czyli test_obj. Na koniec możemy wywo-
na oraz pakiety związane z biblioteką Pyro.config.PYRO_LOGFILE='server_log' łać metodę requestLoop, co spowoduje
OpenSSL. uruchomienie serwera. Kod tych dwóch
Nasz komunikator wymaga jeszcze Później określamy komputer, na którym czynności przedstawia się następująco:
jednej biblioteki do poprawnego działa- został uruchamiany serwer nazw:
nia, a mianowicie PyGTK+, gdyż wyko- uri=daemon.connect(test_obj_class(), "test_obj")
rzystujemy GTK+ oraz pakiet libgla- Pyro.config.PYRO_NS_HOSTNAME='localhost' daemon.requestLoop()
de. Wiele dystrybucji, np. Aurox, Man-
drakelinux czy Fedora Core, zawiera- Ustalenie adresu serwera nazw oraz serwe- Klient Pyro
ją odpowiednie pakiety – wystarczy je ra zdarzeń (Pyro.config.PYRO_ES_HOSTNAME) W programie klienta, podobnie jak w ser-
tylko doinstalować. jest szczególnie istotne, gdy będziemy testo- werze, na początek dołączamy potrzeb-
wać program na komputerze, na którym nie ne pakiety:

www.lpmagazine.org 71
dla programistów

import Pyro.util
Listing 1. Postać klasy test_obj
import Pyro.core
class test_obj:
Następnie inicjujemy klienta:
def m1(s, string):
print "Metoda m1 parametr:", string Pyro.core.initClient()
return "Długość ciągu znaków: "+str(len(string))
def m2(s, number): Później ustalamy parametry pomocnicze,
print "Metoda m2 parametr:", number takie jak adres komputera, na którym
return "Kwadrat liczby:"+str(number*number) znajduje się serwer nazw.
Gdy to zrobimy, możemy uzyskać
referencję do zdalnego obiektu. Wyko-
rzystujemy metodę getProxyForURI:
Listing 2. Pełny kod serwera oparty o protokół SSL
test = Pyro.core.getProxyForURIS
#! /usr/bin/env python ("PYRONAME://test_obj")

import sys Po tych czynnościach metody ze zdalne-


import Pyro.core go obiektu wywołujemy tak samo, jak
import Pyro.naming przy lokalnych obiektach:
import Pyro.util
import Pyro.protocol print test.m1("Abcdef")
print test.m2(5)
from Pyro.errors import PyroError,NamingError
from Pyro.protocol import getHostname Dodajemy obsługę SSL
do serwera
import test_obj Jak widać, napisanie nieskompliko-
wanego serwera i klienta przy zasto-
class test_obj_class(Pyro.core.ObjBase, test_obj.test_obj): sowaniu Pyro to dość łatwe zada-
def __init__(self): nie. Kod źródłowy biblioteki zawie-
Pyro.core.ObjBase.__init__(self) ra wiele przykładów, które polecam
przejrzeć czytelnikom, którzy w tym
class printCertValidator(Pyro.protocol.BasicSSLValidator): momencie zainteresowali się tą biblio-
def checkCertificate(self,cert): teką. Naszym głównym zadaniem jest
if cert is None: jednak komunikacja za pomocą proto-
return (0,3) kołu SSL.
print "Cert Subject: %s" % cert.get_subject() Listing 2 zawiera pełny kod serwera
return (1,0) udostępniającego obiekt test_obj przy
zastosowaniu protokołu SSL. Postać ser-
wera jest bardzo podobna do poprzed-
##### main program ##### niego przykładu, w którym komunika-
cja jest jawna.
Pyro.core.initServer() Pierwszą różnicą są pakiety, które
Pyro.config.PYRO_TRACELEVEL=3 dołączamy. Istotny jest Pyro.protocol,
Pyro.config.PYRO_NS_HOSTNAME='localhost' używany w klasie printCertValidator.
Pyro.config.PYRO_LOGFILE='server_log' Kolejna różnica kryje się w tworzeniu
obiektu daemon. W argumencie konstruk-
ns=Pyro.naming.NameServerLocator().getNS() tora podajemy wartość PYROSSL:

daemon=Pyro.core.Daemon(prtcol='PYROSSL') daemon=Pyro.core.Daemon(prtcol='PYROSSL')
daemon.setNewConnectionValidator(printCertValidator())
daemon.useNameServer(ns) W ten sposób nakazujemy stosowanie
protokołu SSL.
uri=daemon.connect( test_obj_class(), "test_obj") Następnie podłączamy klasę print-
CertValidator, której zadaniem jest
print "Server is ready. Let's go!!!" sprawdzenie poprawności certyfikatu:
daemon.requestLoop()
daemon.setNewConnectionValidatorS
(printCertValidator())

72 styczeń 2005
python/pyro/ssl dla programistów

Kolejne czynności pozostają niezmie- Listing 3. Postać plików z certyfikatami dla protokołu SSL
nione w porównaniu do zwykłego ser-
wera. Plik z głównym certyfikatem:
Zajmijmy się teraz klasą printCert- -----BEGIN CERTIFICATE-----
Validator. Zawiera ona jedną metodę MIIDkjCCAvugAwIBAgIBA i tak dalej ....
– checkCertificate. Musi ona zwrócić -----END CERTIFICATE-----
pewne określone wartości. Jeśli chcemy Plik client.pem:
zaakceptować certyfikat, to jako war- -----BEGIN CERTIFICATE-----
tość powrotną zwracamy parę (1,0). MIIDvzCCAyigAwIBAgIBATANBgkqh i tak dalej ....
W przypadku odrzucenia certyfikatu, -----END CERTIFICATE-----
za pomocą słowa return musimy -----BEGIN RSA PRIVATE KEY-----
przekazać parę (0, kod_błędu). Przez MIICXQIBAAKBgQC7ixGOs2Sq i tak dalej ...
kod_błędu rozumiemy jedną z poniż- -----END RSA PRIVATE KEY-----
szych wartości: Plik server.pem:
-----BEGIN CERTIFICATE-----
• Pyro.constants.DENIED_UNSPECIFIED MIIDvzCCAyigAwIBAgIBATANBgkqh i tak dalej ....
– dowolny powód błędu; -----END CERTIFICATE-----
• Pyro.constants.DENIED_SERVERTOOBUSY -----BEGIN RSA PRIVATE KEY-----
– serwer jest zbyt zajęty; MIICXQIBAAKBgQC7ixGOs2Sq i tak dalej ...
• Pyro.constants.DENIED_HOSTBLOCKED -----END RSA PRIVATE KEY-----
– blokada komputera;
• Pyro.co nst ant s.DENIED _ SECURIT Y
– błąd związany z bezpieczeństwem. Program klienta test1 = Pyro.core.getProxyForURIS
W programie serwera najważniej- ("PYRONAME://test_obj")
Na Listingu 2, gdy nie ma certyfikatu, szą zmianą było dodanie w kon-
zwracamy parę (0,3), co oznacza błąd struktorze obiektu daemon informacji Jeśli jednak chcemy jawnie określić
związany z bezpieczeństwem. o tym, że będziemy korzystać z pro- komputer oraz fakt użycia przez nas pro-
Jak widzimy, dodanie obsługi SSL tokołu SSL. W kliencie nie musimy tokołu SSL, to możemy w wywołaniu
wymaga dołączenia jednej klasy oraz wykonywać żadnych zmian! Bibliote- metody getProxyForURI podać pełne
kosmetycznych zmian w kodzie. Oprócz ka Pyro samodzielnie wykryje fakt, że dane w następujący sposób:
serwera, musimy wygenerować certyfi- serwer korzysta z protokołu SSL i klient
katy dla serwera i klienta. Informacje o samoczynnie przełączy się na komu- test2 = Pyro.core.getProxyForURI
tym, jak tego dokonać, podam w dal- nikację poprzez SSL. Z tego powodu ("PYROLOCSSL://localhost/test_obj")
szej części artykułu. Teraz zajmiemy się uzyskanie referencji do obiektu nadal
klientem. możemy wykonywać w ten sposób: Ostatni składnik w adresie to nazwa obie-
ktu, którą podaliśmy w drugim argu-
mencie metody connect podczas rejestro-
wania naszej klasy w serwerze.
Jak widać, siłą Pyro jest automaty-
zacja wielu operacji. Istotne zmiany,
które należy wprowadzić, aby zwięk-
szyć bezpieczeństwo aplikacji Pyro,
wykonujemy tylko po stronie serwe-
ra. Uzbrojeni w tę wiedzę w bardzo
łatwy sposób możemy dokonać zmian
w naszym komunikatorze.

Generowanie certyfikatów
Bezpieczeństwo komunikacji ściśle zależy
od utworzonych certyfikatów. Z tego
powodu, zanim zaczniemy modyfiko-
wać nasz program, wygenerujemy sto-
sowne certyfikaty. Nie jest to trudne,
ale musimy znać obsługę programu
openssl. Możemy ułatwić sobie zada-
nie, jeśli będziemy korzystać ze skryp-
tu pomocniczego, dostępnego w kodzie
źródłowym pakietu OpenSSL. Potrzeb-
Rysunek 2. Nasza aplikacja podczas rozmowy
ny skrypt można odnaleźć wtedy

www.lpmagazine.org 73
dla programistów

z pliku newcert.pem do pliku


o nazwie client.pem, a następnie dołą-
czamy do niego opis klucza prywatnego
z pliku newkey.pem.
Z certyfikatem przeznaczonym dla
serwera postępujemy w podobny
sposób, ale nie generujemy już cer-
tyfikatu autoryzacji (jest wspólny dla
klienta i serwera), lecz następny cer-
tyfikat żądania. Podczas wypełnia-
nia pól informacyjnych warto zwrócić
uwagę na to, aby pole Common Name
posiadało inną wartość dla klienta
i dla serwera.
Po zakończeniu operacji tworze-
nia plików client.pem oraz server.pem
brakuje nam jeszcze jednego pliku,
a mianowicie głównego certyfikatu. Znaj-
duje się on w katalogu demoCA pod nazwą
cacert. Wystarczy ten plik przekopiować do
katalogu, w którym znajdują się pozostałe
pliki naszej aplikacji. Zmieniamy nazwę pliku
Rysunek 3. Strona domowa PYRO z certyfikatem na ca.pem oraz kasujemy
początkowe informacje o certyfikacie aż do
w katalogu Apps. Pojawia się on w dwóch Otrzymaliśmy wszystkie niezbędne linii rozpoczynającej certyfikat:
wersjach: dla języka Perl, jako plik dane, aby utworzyć certyfikat dla
o nazwie CA.pl, oraz jako zwykły skrypt klienta. Niestety, musimy samodziel- -----BEGIN CERTIFICATE-----
BASH-a – CA.sh. My będziemy korzystać nie przenieść pewne dane z plików
z tego drugiego (jego kopia znajduje się wygenerowanych przez skrypt CA.sh W ten sposób dysponujemy trzema pli-
również na płycie CD/DVD). i program openssl. Kopiujemy cześć kami, które są niezbędne do bezpiecz-
Pierwszym krokiem jest utworzenie opisującą certyfikat (Listing 3 przed- nej komunikacji pomiędzy serwerem
certyfikatu autoryzacji, czyli pliku CA. stawia ogólną postać tych plików) a klientem.
Gdy korzystamy z pomocy skryptu CA.sh,
wystarczy wydać krótkie polecenie:
Listing 4. Najważniejsze fragmenty programu serwera

# ./CA.sh -newca #! /usr/bin/python


import sys
Skrypt utworzy kilka katalogów oraz plik import Pyro.core
import Pyro.naming
z certyfikatem (znajdzie się on w katalo-
from Pyro.EventService.Clients import Publisher
gu demoCA). Zostaniemy również popro-
szeni o wypełnienie kilku pól. # identyczna postać jak na Listingu 2
Następnie generujemy certyfikat żąda- class printCertValidator(Pyro.protocol.BasicSSLValidator):
nia: class TalkSrv(Pyro.core.ObjBase, Publisher):

# ./CA.sh -newreq Pyro.core.initServer()


Pyro.config.PYRO_TRACELEVEL=3
Tutaj ponownie zostaniemy poproszeni Pyro.config.PYRO_NS_HOSTNAME='localhost'
Pyro.config.PYRO_LOGFILE='server_log'
o podanie kilku informacji. Po zakoń-
czeniu procesu powstanie plik o nazwie
newreq.pem. Następnym krokiem jest ns=Pyro.naming.NameServerLocator().getNS()
podpis certyfikatu żądania:
daemon=Pyro.core.Daemon(prtcol='PYROSSL')
daemon.setNewConnectionValidator(printCertValidator())
# ./CA.sh -sign
daemon.useNameServer(ns)

Powstanie plik o nazwie newcert.pem. uri=daemon.connect(TalkSrv(), "TalkSrv")


Teraz możemy odczytać frazę klucza
print "TalkServer is ready."
i w tym celu wydajemy polecenie:
daemon.requestLoop()

# openssl rsa < newreq.pem > newkey.pem

74 styczeń 2005
python/pyro/ssl dla programistów

Dla tych z czytelników, którzy nie czyli nasze certyfikaty będą ważne z SSL zostały już omówione przy okazji
mieli styczności z takimi plikami, Li- przez 365 dni od momentu utworzenia. poprzedniego przykładu, więc musimy
sting 3 przedstawia schematycznie postać Jeśli chcemy to zmienić, wystarczy podać tylko zadbać, aby pliki z certyfikata-
poszczególnych plików. Przenosimy wyra- inną liczbę dni. mi znalazły się w podkatalogu certs,
żenia znajdujące się pomiędzy liniami: widocznym z poziomu programu ser-
Poprawiamy komunikator wera oraz klienta.
-----BEGIN CERTIFICATE----- Wiemy, jak wygenerować certyfikat oraz Podobna sytuacja pojawia się w pro-
-----END CERTIFICATE----- w jaki sposób należy napisać progra- gramie klienta – nie zmieniamy ele-
my serwera i klienta. Oznacza to, że mentów związanych z interfejsem
bądź bez żadnych kłopotów możemy zmo- graficznym, a sposób implementa-
dyfikować naszego komunikatora. cji klienta jest zgodny z przykłada-
-----BEGIN RSA PRIVATE KEY----- Zobaczmy, jak wygląda serwer. Isto- mi, które podałem na początku tego
-----END RSA PRIVATE KEY----- tne dla nas fragmenty zawiera Listing 4. artykułu.
Klasa printCertValidator pozostała nie
w przypadku klucza prywatnego. Mam zmieniona w stosunku do poprzed- OpenSSL w C/C++
nadzieje, że podane informacje pomogą nich przykładów, podobnie jak klasa Gdy chcemy pisać program bezpośred-
we własnym tworzeniu certyfikatów. TalkSrv. Poszczególne metody klasy ser- nio w języku C/C++, to sposób korzysta-
Certyfikaty z płyty CD/DVD są ważne wera również nie podlegają żadnym nia z OpenSSL nie jest znacznie bardziej
do listopada 2005 roku. Okres waż- zmianom. Jak widać z Listingu 4, pro- skomplikowany. Ogólny schemat two-
ności certyfikatów może być inny. gram serwera nie różni się niczym rzenia programu klienta wygląda wtedy
W pliku CA.sh po początkowych komen- specjalnym od programu z Listingu 2. następująco:
tarzach natrafiamy na zmienną DAYS: Włączenie obsługi SSL następuje
w momencie utworzenia obiektu /* utworzenie uchwytu SSL */
DAYS="-days 365" daemon. Wszystkie detale związane con=(SSL *)SSL_new();

R E K L A M A

www.lpmagazine.org 75
dla programistów

Listing 5. Najważniejsze fragmenty programu klienta OpenSSL zostało wyposażone w odpo-


wiednie funkcje, które znacząco uprosz-
#! /usr/bin/python czają ten problem, np. określenie certyfi-
katu to zadanie dla jednej funkcji:
import sys
import Pyro.util
import Pyro.core SSL_use_certificate(con,”server.cert”)
from Pyro.EventService.Clients import Subscriber
from threading import Thread W rezultacie wygląda to tak:

import gobject
/* utworzenie uchwytu SSL */
import gtk
import gtk.glade con=(SSL *)SSL_new();
/* otwieramy zwykłe gniazdko
your_nick='' do komunikacji sieciowej */
talks={}
/* kojarzymy uchwyt gniazda

# identycznie, jak w poprzedniej wersji z połączeniem SSL */


SSL_set_fd(con,s);
def UpdateActiveList(): /* stosujemy klucz prywatny */
def OnEndBTN(*args): SSL_use_RSAPrivateKey(con,”server.rsa”);
/* określamy certyfikat */
def OnTalkBTN(*args):
def OnCreateTalker(*args): SSL_use_certificate(con,”server.cert”);
def OnEndNickBTN(*args): /* nawiązujemy połączenie */
class TalkSrvEvent(Subscriber): SSL_accept(con);
class EventListener(Thread):
/*
class Talker:
stosując SSL_read() oraz SSL_write()
main_win_xml=gtk.glade.XML('MainWin.glade') wymieniamy informacje pomiędzy
nick_win_xml=gtk.glade.XML('NickWin.glade') serwerem a klientem
*/
mainwin=main_win_xml.get_widget("MainWin")
# pozostałe polecenie odczytujące referencje do widgetów
Podsumowanie
Dołączenie obsługi SSL w naszej apli-
mySigID=gobject.signal_new("create_talker", gtk.Window, gobject.SIGNAL_RUN_LAST,S
gobject.TYPE_BOOLEAN, (gtk.Window, gobject.TYPE_STRING, gobject.TYPE_STRING))
kacji do sieciowych rozmów okaza-
# signal connect ło się zadaniem łatwym. Mam nadzie-
# ję, że każdy na podstawie zaprezento-
# podłączanie obsługi sygnałów wanych przykładów będzie w stanie
EndNickBTN.connect('clicked', OnEndNickBTN)
samodzielnie dołączyć obsługę SSL do
person_list_data=gtk.ListStore(gobject.TYPE_STRING)
własnej aplikacji napisanej z zastoso-
person_list.set_model(person_list_data) waniem Pyro. Jak widać, sprowadza
nick_column=gtk.TreeViewColumn('Nick\'s', gtk.CellRendererText(), text=0) się to tylko do wygenerowania cer-
person_list.append_column(nick_column) tyfikatów oraz kilku zmian, głównie
w kodzie serwera.
mainwin.hide()
Bezpieczeństwo komunikacji zależy
Pyro.core.initClient() również od certyfikatów. Jeśli stosujemy
Pyro.config.PYRO_TRACELEVEL=3 SSL, pamiętajmy o tym, aby zmieniać
Pyro.config.PYRO_NS_HOSTNAME='localhost' certyfikaty, gdyż w ten sposób polep-
Pyro.config.PYRO_LOGFILE='client_log'
szamy poziom bezpieczeństwa naszego
TalkSrv = Pyro.core.getProxyForURI("PYRONAME://TalkSrv")
programu.
UpdateActiveList()
nickwin.show()
while gtk.main_iteration_do(False):
pass
W Internecie:
• Strona domowa pakietu Pyro:
/* otwieramy zwykłe gniazdko do wymieniamy informacje pomiędzy http://pyro.sourceforge.net/
komunikacji sieciowej */ klientem a serwerem • Strona domowa pakietu M2Crypto:
/* kojarzymy uchwyt gniazda */ http://sandbox.rulemaker.net/
z połączeniem SSL */
ngps/m2/
• Strona domowa pakietu OpenSSL:
SSL_set_fd(con,s); W przypadku serwera schemat korzysta-
http://www.openssl.org/
/* nawiązujemy połączenie */ nia z protokołu SSL jest równie prosty.
• Strona domowa języka Python:
SSL_connect(con); /* Problemem może wydawać się dołą- http://www.python.org/
stosując SSL_read() oraz SSL_write() czenie certyfikatów, ale API biblioteki

76 styczeń 2005
aktualności
księgozbiór piotrt@lpmagazine.org dział prowadzi: Piotr Truszkowski

Kryptografia dla praktyków. Protokoły, algorytmy i programy źródłowe z języku C


za tym idzie, każe sobie wierzyć na słowo, ale sprawie przeczytać na stronie internetowej http://
z punktu widzenia większości użytkowników people.qualcomm.com/karn/export/.
jest to zdecydowana zaleta. Specjaliści będą Książka podzielona jest na pięć części:
oczywiście rozczarowani, ale to nie dla nich Protokoły kryptograficzne, Techniki krypto-
powstała ta książka. Kryptografia dla praktyków graficzne, Algorytmy kryptograficzne, wspomnia-
to przede wszystkim podręcznik dla osób, które ny już rozdział Rzeczywistość oraz wydzielone
z kryptografią nie miały do tej pory wiele do czy- Programy źródłowe – pięćdziesiąt stron kodu
nienia, a które chciałyby się czegoś na jej temat w C, który przyda się każdemu praktykowi.
dowiedzieć z kompetentnego źródła. Schneiero- Pierwsze trzy to oczywiście prowadzony niemal
wi udało się uniknąć, częstego w takich przypad- od podstaw, bardzo przystępny wykład krypto-
kach, zbytniego uproszczenia problemów. grafii. Pozostałe dwie, choć tak od siebie różne,
Jak na praktyka przystało, nie stroni od ucieszą przede wszystkim tych, dla którym kryp-
problemów politycznych i społecznych zwią- tografia nie jest tylko zabawką i czystym hobby.
To już drugie wydanie klasycznego podręczni- zanych z kryptografią – poświęca tym zagad- Co zatem nowego w drugim wydaniu tej
ka do kryptografii autorstwa Bruce’a Schneiera, nieniom cały rozdział pt. Rzeczywistość. Nic klasycznej już książki? Siedem nowych rozdzia-
znanego specjalisty od zabezpieczeń informa- w tym dziwnego, bo podręcznik Schneiera stał łów, ponad 1600 nowych odnośników bibliogra-
tycznych. Schneier to nie tylko twórca szyfrów się swego czasu przedmiotem batalii zwolenni- ficznych oraz wiele dodatkowych algorytmów,
(jest on autorem m.in. popularnego szyfru Bow- ków pełnego dostępu do silnej kryptografii prze- w tym GOST, Blowfish, RC4 i A5. Tym samym
fish, który dodatkowo udostępnił do wykorzysta- ciwko restrykcyjnemu amerykańskiemu prawu podręcznik zyskał około 50% objętości... Zachę-
nia bez żadnych opłat i licencji), ale i biznesmen dotyczącemu jej eksportu. Kuriozalne przepisy cam do lektury.
– założyciel Counterpane Internet Security. pozwalają bowiem na legalny eksport Krypto- Moja ocena: 5/5
To co jest najbardziej cenne w tym pod- grafii dla praktyków w formie drukowanej, ale Recenzent:
ręczniku to przystępność wykładu. Autor nie już nie na eksport zawartych w niej kodów źró- Witold Kieraś (witekk@lpmagazine.org)
wdaje się w rozważania czysto matematyczne, dłowych algorytmów w formie elektronicznej
nie przytacza skomplikowanych dowodów i, co (np. na dyskietce). Zainteresowani mogą o całej

Fedora Core 2 dla każdego


dla każdego, która ukazała się nakładem go rozdziału. Znajdziemy tam Quiz z odpo-
wydawnictwa Helion w 2004 roku. wiedziami, oraz ćwiczenia do samodzielne-
Pozycja ta, jak sam autor tłumaczy, jest go wykonania.
przeznaczona dla osób, które nie miały wcze- Duża pochwała należy się także redak-
śniej styczności z systemami spod znaku pin- cji polskiego wydania za szybkie tłumacze-
gwina. Została napisana jako zbiór godzin- nie książki (w Polsce została wydana w kilka
nych lekcji, z których dowiemy się, jak zain- miesięcy po premierze oryginału) oraz za frag-
stalować Fedorę i odpowiednio ją skonfiguro- menty umilające czytanie, jak choćby treść nie-
wać. Poznamy też najpopularniejsze progra- których zrzutów ekranu w rozdziale 12 i 13.
my, z których możemy skorzystać w Linuk- Fedor Core 2 dla każdego to naprawdę
sie. Publikacja jest świetnym, kompletnym, książka godna polecenia – aktualna, przystęp-
a przede wszystkim przystępnym i ciekawym na i ciekawa – gorąco polecam.
wprowadzeniem w świat Linuksa, ze szczegól-
Jeśli zastanawiamy się, jak zacząć przygodę nym uwzględnieniem dystrybucji Fedora Core. Moja ocena: 4+/5
z Linuksem i jaką dystrybucję wybrać, to po- Dużym atutem książki są strony oznaczone Recenzent:
mocna może okazać się książka Fedora Core 2 jako Warsztat, występujące na końcu każde- Marek Bettman (marekb@lpmagazine.org)

Bestsellery Merlina
Lista najlepiej sprzedających się książek informatycznych
w sklepie internetowym www.merlin.pl, w miesiącu listopadzie:
1. Optymalizacja systemu Windows – J. Ballew, J. Duntemann, Wyd. Helion, 2004
2. Thinking in Java. Wydanie 3. Edycja polska – B. Eckel, Wyd. Helion, 2004
3. ABC fotografii cyfrowej – Ł. Oberlan, Wyd. Helion, 2004
4. Photoshop CS. Ćwiczenia z ... , Wyd. Mikom, 2004
5. Krótki kurs architektury i organizacji komputerów – W. Komorowski, Wyd. Mikom, 2004
6. Programowanie Asembler IBM PC – P. Abel , Wyd. Read Me, 2004
7. Microsoft Exchange Server 2003 - Vademecum Administratora - W. R. Stanek, Wyd. APN Promise, 2004
8. Grafika 3D. Modelowanie i rendering od podstaw, Wyd. Axel Springer, 2004
9. Systemy operacyjne. Szkoła programowania – W. Stallings, Wyd. Robomatic, 2004
10. Mój pierwszy komputer, Wyd. Help, 2004

www.lpmagazine.org 77
testy

YOPY YP3700
Michał Niwicki

G
dy do redakcji przyniesio-
no nowego palmtopa YOPY,
a naczelny wskazał palcem
na mnie i powiedział “ten
sprzęt testujesz ty”, mojej radości nie było
końca. Rzuciłem szybko okiem na specy-
fikację techniczną i wiedziałem, że mam
do czynienia ze sprzętem z górnej półki.
Imponowały nie tylko wysokie parame-
try urządzenia, ale przede wszystkim to,
że palmtop pracował pod kontrolą sys-
temu operacyjnego Linux. Radość nie
trwała jednak długo; mój entuzjazm malał
na każdym kroku – począwszy od wyję-
cia urządzenia z pudełka, a skończywszy
na podłączeniu go do komputera.

Co w środku?
Pod obudową urządzenia znajduje się 32-
bitowy procesor Strong ARM RISC, pra-
cujący z częstotliwością 206 MHz. Palm-
top posiada 128 MB pamięci RAM oraz 32
MB ROM. Ponad 40 MB jest używane

Dane palmtopa: YOPY – palmtop ogromnych możliwości

– Procesor: 206 MHz Strong ARM


przez system, natomiast reszta pamięci do komputera stacjonarnego. Niewygod-
32-bit RISC Procesor
jest przeznaczona na dane użytkownika. na była natomiast sama praca na YOPY-
– Pamięć: RAM 128MB, ROM 32MB
– System: ARM LinupyTM Linux
Do komunikacji ze światem jest wykorzy- m umieszczonym w stacji – każdorazowe
Distribution, X Window System stywany port podczerwieni albo stacja dotknięcie rysikiem ekranu powodowa-
– Wyświetlacz: 3.5" 240x320 True dokująca, podłączana do komputera sta- ło znaczne odchylanie się do tyłu klapki
Color (65K) TFT LCD cjonarnego za pomocą portu USB. YOPY z wyświetlaczem. Szkoda także, że urzą-
– Wymiary:10,3 x 6,9 x 2,5 posiada również złącze Multimedia Card dzenia nie można było podłączyć do
(centymetry) oraz gniazdo Compact Flash II. Wszyst- komputera z pominięciem stacji dokują-
– Waga: 200 g ko to kryje się w mieszczącej się w dłoni cej. Niewątpliwie, radość sprawiał system
– Bateria: 2300mAh Li-ion obudowie ważącej około 200g. operacyjny Linux, pod kontrolą którego
Polimerowe, ładowalne pracował YOPY, oraz widok uruchamia-
Interfejs:
Pierwsze wrażenie jących się X-ów.
Pierwszą rzeczą po wyjęciu YOPY-ego
– klawiatura (qwerty), przyciski z pudełka, która rzuciła mi się w oczy, Ale o co chodzi?
nawigacyjne były jego gabaryty. Palmtop, mimo że Bezpośrednio po włączeniu, YOPY prze-
– złącze RS-232C / USB mieścił się w dłoni, był gruby i posia- mówił do mnie w języku angielskim.
– port IrDA (115Kbps) dał topornie otwieraną klapkę, na której Szkoda, bo na rynku polskim od jakiegoś
– gniazdo Compact Flash II znajdował się kolorowy 3,5'' dotykowy czasu standardem są palmtopy posiadają-
– złącze Multimedia Card
wyświetlacz oraz tajemnicze diody mru- ce polską lokalizację. Intuicyjnie sięgną-
– przycisk przewijania
gające za każdym razem, gdy zamykałem łem po instrukcję obsługi, aby sprawdzić,
– mikrofon
– złącze słuchawkowe
urządzenie. Zaletą testowanego sprzętu jak zmusić urządzenie do prawidłowego
(3.5 mm, stereo) była niewielkich rozmiarów stacja dokują- wyświetlania polskich znaków. Tu spo-
ca, umożliwiająca podłączenie palmtopa tkała mnie kolejna przykra niespodzian-

78 styczeń 2005
yopy testy

ego z użytkownikiem nie jest ani trochę słowem nie wspomniano o możliwości
Alternatywne spojrzenie intuicyjna, osoby, które po raz pierwszy podłączenia palmtopa do naszego ulu-
Piotra Truszkowskiego mają do czynienia z palmtopem, mogą bionego Linuxa. W efekcie, skorzystanie
Główną zaletą tego przyjemnego urządze- czuć się lekko zagubione. z rozszerzeni znajdujących się na płycie
nia mobilnego jest jego serce, czyli system CD może sprawiać problemy początkują-
Linux. Nie ukrywam, że już na samym Zwykła praca cym użytkownikom urządzenia.
początku Yopy zrobił na mnie dobre wra-
YOPY posiada wszystkie programy, które
żenie. Może dlatego, że uwielbiam Linuk-
sa, a wszystko, co z nim związane, witam
powinny znaleźć się na każdym przy- Podsumowanie
z otwartymi rękami, a może dlatego, że
zwoitym palmtopie. Mamy typowe apli- YOPY 3700 jest niewątpliwie palmtopem
Yopy to po prostu bardzo dobry palmtop. kacje PIM – kalendarz, zadania, listy o ogromnych możliwościach. Nieste-
Bardzo dobry, ale nie doskonały. Może dnia, kontakty oraz całą gamę dodat- ty, zlekceważenie przez producenta pol-
najpierw o wadach, ponieważ nic tak nie kowych aplikacji multimedialnych oraz skiego klienta (chociażby brak instruk-
motywuje producentów sprzętu do stwo- biurowych. Potęgę urządzenia podkre- cji obsługi w języku polskim), dyskwa-
rzenia lepszego produktu, niż wyliczenie śla kompilator, znajdujący się na płycie lifikuje urządzenie na rodzimym rynku.
wad na łamach poczytnego czasopisma. CD, umożliwiający pisanie na kompute- Zaskakuje również brak wsparcia dla
Yopy jest słabo wykonany. Klapka lata na rze stacjonarnym własnych programów systemu operacyjnego Linux. Ostatecz-
wszystkie strony, jakby zaraz miała odle- działających na YOPY-m. nie, biorąc pod uwagę wysoką cenę
cieć, materiały są niskiej jakości, a pod-
Mimo, że na palmtopie zainstalowa- YOPY-ego (ponad 2500 zł), nie zdziwił-
czas wybierania opcji za pomocą rysika,
ny jest system operacyjny Linux, standar- bym się, gdyby konsument wybrał urzą-
cały ekran odchyla sie tak mocno do tyłu,
jakby miał się za chwilę złamać. Do tego
dowo, urządzenie współpracuje jedynie dzenia firm konkurencyjnych.
dochodzi instrukcja w języku angielskim, z Windowsami. W instrukcji obsługi ani Ocena: 3/5
brak polskiego interfejsu, braki w obsłudze
urządzenia pod Linuksem (co jest istnym R E K L A M A
paradoksem – Yopiego wyposażonego
w system Linux łatwiej zmusić do pracy
w środowisku Windows!), a jeśli już czepiać
się wszystkiego, to brakuje również głośni-
ków stereo. Skoro Yopy posiada obsłu-
gę plików MP3, dlaczego musimy słuchać
mono? Dobrze. Koniec narzekań. Yopy to
bardzo fajny palmtop. Jeśli jesteście użyt-
kownikami Linuksa, poczujecie się jak ryba
w wodzie. Pod maską szybki (206 MHz) pro-
cesor, dużo pamięci (128 RAM/32 ROM),
dobrej jakości wyświetlacz LCD, potrafią-
cy cieszyć nasze oczy paletą 65 tysięcy
kolorów, bardzo dobra bateria, która potrafi
wytrzymać do 8 godzin ciągłej pracy, oraz
klawiatura w standardzie QWERTY. Dzięki
goszczącej w środku dystrybucji Lupy,
możemy skorzystać z ogromnego repo-
zytorium pakietów dla Linuksa. Na płytce
zawarto oprogramowanie, dzięki które-
mu na naszym domowym pececie skom-
pilujemy sobie program i zainstalujemy go
w Yopim. Prawda, że miłe? Z naszym palm-
topem możemy komunikować się poprzez
podczerwień, gniazdo MMC i USB. Reasu-
mując, polecam Yopiego wszystkim użyt-
kownikom Linuksa i tym, którzy chcą mieć
dobrego palmtopa, z solidnym systemem,
który na wszelkiego rodzaju wirusy reagu-
je wyciągnięciem ostrzegawczego znaku
“Stop – tutaj nie macie czego szukać”.
Ładny, stabilny, o dobrym stosunku jakości
do ceny. Warto go chociaż zobaczyć.
Ocena: 4/5

ka – dostarczona instrukcja obsługi była


napisana również po angielsku. Biorąc
pod uwagę fakt, że współpraca YOPY-

www.lpmagazine.org 79

You might also like