2009 07 08 FreeBSD – chwila dla admina, cz 1 [Poczatkujacy]


Dla początkujących
FreeBSD  chwila dla admina, cz. 1
FreeBSD  chwila
dla admina, cz. 1
Aukasz Ciesielski
Nie istnieje system operacyjny, który byłby w stanie zaspokoić i w pełni usatysfakcjonować nawet
najbardziej wymagającego użytkownika, pozostając przy tym przyjaznym dla rozpoczynających przygodę
z nim, a jednocześnie złożonym, funkcjonalnym i wydajnym dla zaawansowanych użytkowników. Jednak
to właśnie wizja takiego wyidealizowanego systemu przyświecała od początku twórcom FreeBSD. Dzięki
niej ich dzieło jest nieustannie rozwijane i wzbogacane o nowe, innowacyjne technologie.
ążąc do pewnego uniwersalizmu, trudno stwo- Serce jak dzwon
rzyć konfigurację odpowiadającą oczekiwa- Sercem każdego systemu operacyjnego z rodziny Linuksa lub
niom tysięcy użytkowników. Właśnie dlatego BSD jest oczywiście jądro systemu. Zastanówmy się zatem
Dkluczową czynnością jest modyfikacja usta- czym jest wspomniany kernel (ang. jądro) i do czego służy?
wień systemowych w taki sposób, aby osiągnąć to do czego Uogólniając można określić go jako filar podpierający cały sys-
dąży każdy administrator  system pozbawiony wad. tem, podstawę, na której ten bazuje. Do zadań jądra należy za-
Niestety najczęściej okazuje się, że jest to pojęcie jedynie równo zarządzanie pamięcią, dostęp do dysków, jak też kontro-
teoretyczne, jednak każde działanie mające na celu udoskona- lowanie bezpieczeństwa systemu, i zarządzanie siecią (choć nie
lenie konfiguracji systemu, przybliża moment wprowadzenia całkowite). Ponadto kernel odpowiada za wykrycie i sprawdza-
pustych pojęć w istniejące realia. Artykuł omawia zagadnienia nie poprawności dostępnych w danym komputerze urządzeń,
nietypowe a zarazem niezwykle istotne, choć często pomija- jak chociażby procesor, pamięć, dyski twarde, karta graficz-
ne w rozmaitych opracowaniach dotyczących FreeBSD. Przy- na itd. Współcześnie twórcy FreeBSD dążą do dynamiczne-
kładem problemów, o których mowa są chociażby konfigura- go konfigurowania poszczególnych elementów systemu. Nie
cja jądra, zarządzanie kontami i grupami użytkowników, a tak- oznacza to jednak, że samodzielna kompilacja lub rekompila-
że dodawanie i współdzielenie drukarek w sieci lokalnej. Nie- cja odeszły do lamusa. Wręcz przeciwnie! Indywidualna praca
zwykle trudnym zadaniem okazuje się wyselekcjonowanie in- nad dostosowaniem kernela owocuje nie tylko zwiększeniem
formacji, które mogłyby okazać się najistotniejsze dla każdego wydajności systemu, ale pozwala także na poznanie kolejnych
użytkownika. Są jednak zadania cechujące się powtarzalnością etapów funkcjonowania systemu operacyjnego. Najczęściej w
i koniecznością ich wykonania. Poniższe zagadnienia są pew- tym momencie nasuwa się podstawowe pytanie: Dlaczego war-
nego rodzaju perełkami, ostatnimi szlifami systemu FreeBSD. to poświęcać czas na samodzielne konfigurowanie gotowego do
Oczywiście nie są one podstawą działania tego systemu, jednak użycia kernela? Wątpliwość ta nie jest całkowicie nieuzasad-
to właśnie dzięki takim zabiegom może stać się doskonalszym. niona. Otóż FreeBSD posiada jądro monolityczne, jednak ak-
10 lipiec-sierpień 2009
linux@software.com.pl
Dla początkujących
FreeBSD  chwila dla admina, cz. 1
tualnie uwidaczniają się już pewne cechy jądra starczy utworzyć odpowiedni katalog (mkdir -p nel nazywa się NOWY_KERNEL, ale w pliku
nazywanego potocznie modularnym. Oznacza /usr/src/sys), powiązać go z katalogiem /sys (ln -s konfiguracyjnym nadal widnieje domyślna na-
to, że w trakcie działania potrafi ono tak zmo- /usr/src/sys /sys) i wydać polecenie cat /cdrom/ zwa, czyli GENERIC (ident GENERIC). Jeśli
dyfikować ustawienia, aby pozostały jedynie te, src/ssys.[a-d]* | tar -xzvf -. Teraz mo- tego nie zmienimy to pomimo że jądro nazy-
które faktycznie są niezbędne. Zmiana konfigu- żemy już rozpocząć pracę nad własną wersją ją- wa się NOWY_KERNEL, przy uruchamianiu
racji jądra modularnego byłaby nieuzasadniona, dra systemowego. Na początek skopiujmy do- systemu będzie wyświetlana nazwa GENERIC.
gdyż jego atutem jest właśnie automatyczna reor- myślny kernel, aby nie wykonywać operacji bez- Pozornie nie ma to znaczenia, jednak w sytuacji
ganizacja modułów. Ponieważ jednak w dalszym pośrednio na nim. Wystarczy przejść do katalogu kiedy mamy zamiar korzystać z dwóch kerneli,
ciągu korzysta się z kernela monolitycznego, je- /usr/src/sys/i386/conf i za pomocą polecenia cp warto wiedzieć, który z nich jest uruchamiany.
go rekompilacja stała się jedną z najczęściej wy- GENERIC NOWY_KERNEL wykonać kopię orygina- Dalej znajduje się kilka parametrów, które po-
konywanych czynności poinstalacyjnych. Jed- łu. Ciekawostką jest fakt, że nazwę jądra przyję- winny znalezć się w każdym jądrze. Można za-
nym z kluczowych powodów jest zwiększenie ło się pisać dużymi literami i nadawać mu nazwę liczyć do nich chociażby systemowego zarząd-
wydajności i skrócenie czasu uruchamiania się tożsamą z nazwą komputera. Ułatwia to rozpo- cę procesów (options SCHED_4BSD), obsługę
systemu. Polega to na zadeklarowaniu posiada- znawanie w przypadku większej ilości kompute- sieci (options INET) oraz  jeżeli uruchamia-
nego sprzętu, dzięki czemu jądro nie będzie tra- rów wyposażonych w różne sprzęty. my system z dysku twardego  podstawowy,
cić czasu na sprawdzanie urządzeń, których dany Kolejnym krokiem jest odpowiednie dyskowy system plików (options FFS). Obsłu-
komputer nie posiada. Choć pozornie wydaje się umiejscowienie pliku konfiguracyjnego. Jest to ga sieci jest niezwykle istotna, ponieważ nawet
to mało istotne, w rzeczywistości może znacznie niezwykle istotna kwestia, gdyż przechowywa- jeśli nie korzystamy z sieci niektóre programy
skrócić czas potrzebny na start systemu. nie go w katalogu /usr/src grozi utratą wprowa- wymagają dostępu do tzw. pętli zwrotnej loop-
Drugim powodem, dla którego warto sa- dzonych zmian, np. kiedy katalog ten zostanie back, czyli połączeń wewnątrz komputera. Ko-
modzielnie skompilować jądro jest możliwość opróżniony po nieudanej konfiguracji. Najbez- lejną opcją jest INET6. Zasada jest prosta: jeże-
wzbogacenia go o obsługę dodatkowego sprzę- pieczniej jest plik ten umiejscowić w katalogu li używasz Ipv6, to zostawiasz wpis, natomiast
tu, np. karty dzwiękowe, graficzne itp. Domyśl- domowym, a następnie utworzyć do niego sym- jeżeli nie  usuwasz.
ny kernel  GENERIC  nie jest w stanie obsłu- boliczne dowiązanie (np. ln -s /home/lucas/ Odpowiednia konfiguracja może także
żyć każdego sprzętu ze względu na jego rosnącą NOWY_KERNEL). Nie pozostaje nic innego jak zwiększyć wydajność w odniesieniu do ope-
ilość. Ponadto jądro jest w pewnym sensie ogra- przystąpić do zmiany zawartości pliku konfi- racji dyskowych. Aby skrócić czas dostępu
niczone barierami jakimi jest chociażby ilość pa- guracyjnego. Wszystkie operacje będą wyma- do dysku podczas zapisu danych, warto usta-
mięci RAM. Dzieje się tak dlatego, że musi ono gać uprawnień administratora. Po zakończe- wić opcję Soft Updates (options SOFTUPDA-
być nieustannie obecne w pamięci. Jest to ko- niu pracy z plikiem, jądro zostanie ponownie TES). Wpis ten nie włącza automatycznie tej
lejny powód tworzenia własnej wersji kerne- skompilowane i będzie gotowe do użycia. Do funkcji, lecz umożliwia to użytkownikowi po
la  możliwość zaoszczędzenia zajmowanej pa- dzieła! Jak łatwo zauważyć struktura pliku nie uruchomieniu systemu. Można to w prosty spo-
mięci. Bardzo często konfiguracja pozbywająca jest skomplikowana. Na każdą linię przypada sób sprawdzić za pomocą polecenia mount. Je-
się zbędnych elementów, zmniejsza automatycz- słowo kluczowe oraz przypisane do niego argu- żeli, któryś z zamontowanych dysków nie bę-
nie rozmiar jądra. Oczywiście wyjątkiem jest sy- menty (najczęściej jeden). Ponadto użytkownik dzie opisany za pomocą parametru soft-upda-
tuacja, w której zostanie dodana obsługa nowe- może dodawać własne komentarze, co w przy- tes oznacza to, że musimy zrobić to korzysta-
go sprzętu. W takim wypadku rozmiar nowego padku zaawansowanych modyfikacji lub pracy jąc z polecenia np. newfs (dla starszych syste-
kernela może okazać się większy niż standar- zespołowej nie pozostaje bez znaczenia. Aby mów plików jest to tunefs). Jeżeli posiadamy
dowego. Zanim jednak przystąpimy do zmiany wskazać linię mającą mieć charakter komenta- odpowiednią ilość pamięci operacyjnej, istnieje
domyślnej konfiguracji, musimy wyjaśnić kilka rza wystarczy na początku użyć znaku #. War- możliwość usprawnienia obsługi dużych kata-
ważnych zagadnień. Kompilacja jądra będzie od- to zauważyć, że pewne opcje są niezależne od logów. Służy do tego wpis options UFS_DIR-
bywać się w katalogu /usr/src/sys (dostęp do nie- posiadanej architektury sprzętu. Wyczerpujący HASH. Jest to specjalny kod niezwykle przydat-
go istnieje także poprzez katalog /sys). Znajdu- opis tych opcji można znalezć w pliku /usr/src/
je się tam rozmaite podkatalogi, jednak najważ- sys/conf/NOTES. Po edytowaniu pliku GENE- Listing 1. Przykładowa zawartość pliku lo-
niejszym jest /arch/conf. Znajdują się w nim pli- RIC, pierwszy parametr, który zobaczymy bę- gin.conf.
ki związane z poszczególnymi architekturami. dzie określał architekturę naszego komputera :charset=iso-8859-2:\
Oczywiście każdy wybiera taką dla jakiej mody- (np. machine i386). Oczywiście jego wartość :lang=pl_PL.ISO8859-2:\
fikuje jądro (najczęściej jest to i386). Warto za- różne wartości, jak chociażby alpha, amd64, :lc_ctype=pl_PL.ISO8859-2:\
uważyć, że katalog skupiający pliki związane z i386, ia64, sparc64 czy powerpc. W dalszej
daną architekturą dotyczy wyłącznie tej architek- części określamy rodzaj posiadanego proceso- Listing 2. Konfiguracja pakietu SAMBA (plik
tury. Może okazać się, że nie posiadamy katalo- ra. Jest to istotna kwestia, ponieważ pozwala smb.conf, sekcja [printers]).
gu /usr/src/sys. Jest to spowodowane tym, że w zwiększyć wydajność systemu. Jeśli nie znamy comment = Drukarka
systemie nie zostały zainstalowane zródła kerne- dokładnie typu procesora można to sprawdzić path = /var/spool/samba
la. Rozwiązanie jest proste  doinstalować. Użyt- edytując plik /var/run/dmesg.boot. Ciekawost- create mask = 0700
kownik ma tu dwie możliwości. Najprostsza to ką jest fakt, że dopuszcza się zdefiniowanie kil- public = yes
posłużenie się konfiguratorem sysinstall (musi ku typów (jeden pod drugim), jednak zaleca się guest ok = yes
zostać uruchomione jako root). W sekcji Con- wybór właściwego z nich, np. cpu I686_CPU. printable = yes
figure należy wybrać Distributions, a następ- Ponieważ tworzymy własną wersję jądra, war- browseable = yes
nie src i sys. Druga metoda polega na zainsta- to pokusić się o zmianę nazwy wyświetlanej writeable = yes
lowaniu zródeł jądra bez użycia sysinstall. Wy- podczas startu systemu. W artykule nowy ker-
www.lpmagazine.org 11
Dla początkujących
FreeBSD  chwila dla admina, cz. 1
ny i wydajny w przypadku np. dużych serwe- ponieważ część oprogramowania wymaga te- na spotkać się z problemem związanym z sie-
rów. W przypadku systemów poddanych du- go mechanizmu. ciami bezprzewodowymi. Warto dodać niezbęd-
żym obciążeniom lub dysponujących małą pa- W przypadku maszyn wieloprocesorowych ne moduły. Do wyboru mamy kolejno: device
mięcią, warto opcję tę wyłączyć. Pewne kontro- koniecznie należy dodać opcję options SMP wlan (802.11), device an (Aironet 4500/4800),
wersje budzi wpis options UFS_ACL, czyli ob- oraz wymaganą w takim wypadku options device awi (BayStack), device ral (Ralink
sługa list kontroli dostępu do plików. Standar- APIC_IO. Podczas budowania jądra przezna- Technology) i device wi (WaveLAN).
dowo jest ona włączona i chociaż istnieje moż- czonego do pracy z wieloma procesorami, na- Na koniec pozostały wpisy dotyczące ob-
liwość wyłączenia jej, skutki jakie może za so- leży pamiętać o usunięciu wpisów dotyczących sługi USB, skanera itp. Najistotniejsze modu-
bą pociągać takie działanie pozostają nieprze- typu procesora jak np. I386_CPU, I486_CPU ły to uhci, ohci, ehci (USB 2.0), usb, ukbd
widziane. Zdecydowanie zaleca się pozosta- itd. Jeśli korzystamy z komputera o jednym (klawiatura), ulpt (drukarka), ums (mysz) oraz
wienie tego wpisu, zwłaszcza jeżeli listy ACL procesorze, wspomniane wpisy są kompletnie uscanner (skaner). Każdy z wymienionych pa-
były wcześniej wykorzystywane przez dany zbędne i można je skasować. rametrów musi być poprzedzony słowem de-
system. Choć większość wspomnianych wyżej Ostatnim etapem jest konfiguracja urządzeń vice. Trudno byłoby zademonstrować kom-
parametrów jest raczej niezbędna, istnieją także (sekcja Devices). Na początku należy wska- pletne możliwości kernela, ponieważ twórcy
takie, które bez obaw można usunąć. Można do zać typ płyty głównej. Do wyboru mamy devi- zadbali o ich mnogość. Ponadto każda kolej-
nich zaliczyć chociażby options NFSCLIENT, ce pci oraz device eisa. W przypadku now- na wersja jądra dostarcza nowych możliwo-
options NFSSERVER i options NFS_ROOT. Je- szych komputerów zazwyczaj wybór padnie na ści, przez co staje się bardziej funkcjonalna. Ja-
śli nie zamierzamy montować partycji z serwe- PCI. Następny etap dotyczy urządzeń ATA. Za- ko bazę dla własnej wersji serca systemu war-
ra za pomocą TCP/IP opcje te stają się zbytecz- leca się pozostawienie wpisu device ata, po- to wykorzystać najnowsze z dostępnych jądro.
ne. Podobnie jest w przypadku systemu plików nieważ obsługuje on wszystkie urządzenia za- Możliwości jakie oferuje i dostępne parametry
MS-DOS. Bez obaw możemy zablokować tę równo ATA jak i ATAPI. Dzięki temu nowy ker- opisane są we wspomnianym już pliku /usr/src/
linię, ponieważ zazwyczaj nie korzystamy z nel nie będzie miał problemów z wykryciem sys/conf/NOTES.
partycji sformatowanych w tym systemie pli- większości urządzeń we współczesnych kompu- Kiedy odpowiednio zmodyfikujemy plik
ków (wyjątkiem są dyskietki i pendrive). Oso- terach. W zależności z device ata występują konfiguracyjny, jądro należy ponownie skompi-
by, które nie posiadają lub nie korzystają z na- również takie parametry dodatkowe jak: device lować. Aktualnie istnieją dwie metody, którymi
pędów CDROM mogą również zrezygnować z atadisk (dla dysków ATA), device ataraid można się posłużyć. Sposób tradycyjny polega
parametru options CD9660. Nie oznacza to jed- (dla dysków RAID) i device atapicd (dla na- na wygenerowaniu kodu jądra za pomocą pole-
nak, że nie będzie możliwości np. odtwarzania pędów CDROM). Dodatkowo gdybyśmy chcieli cenia /usr/sbin/config NOWY_KERNEL. Kolej-
płyt CD-Audio, ponieważ nie wymagają one aby liczba dyskowa była przydzielana statycznie nym krokiem jest przejście do katalogu, w któ-
tego systemu plików. należy dopisać options ATA_STATIC_ID. Jeże- rym budujemy nowy kernel i wydajemy kolej-
W dalszej części pliku napotkamy na li tego nie zrobimy zostanie ona przydzielona no polecenia make depend i make. Po zakończo-
dwa bardzo ważne wpisy: options PROCFS i w sposób dynamiczny. Ustawienie sekcji SCSI nej kompilacji za pomocą make install doko-
options COMPAT_43. Usunięcie ich prawie za- przebiega w sposób analogiczny i sprowadza się nujemy instalacji nowego jądra. Jest to metoda
wsze powoduje awarię systemu operacyjnego. do pozostawienia tych urządzeń, które posiada- sprawdzona i szybka. Druga metoda polega na
Dlaczego są tak istotne? Pierwszy z wymienio- my. Z dodatkowych opcji warto wspomnieć cho- przejściu do katalogu /usr/src i wydaniu polece-
nych odpowiedzialny jest między innymi za ciażby o konfiguracji sterowników karty video, nia make buildkernel KERNCONF=NOWY_KER-
przechowywanie informacji o zachodzących np. device vga, czy obrazu powitalnego (tzw. NEL. Dzięki temu kod zródłowy naszego nowe-
procesach (do działania niezbędny jest PSEU- splash). Niektóre wygaszacze ekranu również go jądra zostanie skompilowany i będziemy mo-
DOFS). Drugi natomiast zapewnia kompatybil- wymagają wpisu device splash. Jeżeli chce- gli go zainstalować w systemie (make instal-
ność z systemem 4.3BSD. Część oprogramo- my skonfigurować mysz podłączoną do portu lkernel KERNCONF=NOWY_KERNEL). Wadą tej
wania w dalszym ciągu jest od tego pakietu za- PS/2 wystarczy dodać device psm, natomiast za metody jest fakt, że wymaga ona do kompila-
leżna. Równie istotny jest parametr GEOM_GPT. klawiaturę odpowiadają device atkbdc, devi- cji wszystkich plików zródłowych (nie wystar-
Odpowiada on za tworzenie dużej ilości party- ce atkbd oraz device kbdmux (obsługa multi- czą jedynie zródła jądra). Nowy kernel zostanie
cji na pojedynczym dysku twardym. W dalszej pleksji). Większość używanych kart graficznych przeniesiony do katalogu /boot/kernel, natomiast
części pliku konfiguracyjnego napotkamy rów- korzysta z portu AGP, lecz jego obsługa byłaby stare znajdzie się w katalogu /boot/kernel.old/
nież na opcję określającą tzw. opóznienie przed niemożliwa bez zaznaczenia tego w jądrze sys- kernel. Po ponownym uruchomieniu systemu
rozpoczęciem wykrywania urządzeń SCSI. temu. Należy wpisać linię device agp. Dzię- okaże się, czy wszystko działa poprawnie. Jeże-
Warto skrócić domyślny czas, dzięki czemu ki temu zostanie obsłużony zarówno AGP jak i li pojawią się problemy z nowym jądrem nie na-
zyskamy kilka cennych sekund podczas uru- AGP GART. Jeśli nowy kernel ma zostać uży- leży się martwić, ponieważ bez problemu moż-
chamiania systemu (np. options SCSI_DE- ty na laptopie można uruchomić zaawansowa- na przywrócić poprzedni kernel. Wystarczy z
LAY=4000). Jeżeli korzystamy z serwera X-ów, ne zarządzanie energią, czyli tzw. APM (device menu startowego wybrać pozycję numer sześć
konieczne będzie także dodanie takich opcji apm). Wspominając o laptopach nie wolno zapo-  Escape to a loader prompt  wpisać unload
jak SYSVSHM, SYSVMSG i SYSVSEM. Oczywi- mnieć o obsłudze kart PCMCIA. Wystarczą trzy kernel, a następnie boot /boot/kernel.old/
ście najistotniejszym z nich jest SYSVSHM, po- parametry, aby zostało włączone pełne wsparcie kernel (lub inną ścieżkę do pliku jądra). Wła-
nieważ odpowiada za współdzielenie pamię- dla PCMCIA: device cbb, device pccard i śnie dlatego tak ważne jest zrobienie kopii zapa-
ci. Dzięki dodaniu tego parametru część pro- device cardbus. Wśród dostępnych opcji moż- sowej kernela. Ale skąd mamy wiedzieć, w któ-
gramów będzie pracować wydajniej. Nie moż- na także znalezć obsługę portów COM (device rym miejscu popełniliśmy błąd? Najprościej jest
na też zapomnieć o dodaniu do naszego pli- sio), równoległych (device ppbus), drukarek tuż po przywróceniu sprawności systemu zaj-
ku options _KPOSIXPRIORITY_SCHEDULING, (device lpt) oraz wiele innych. Często moż- rzeć do pliku /var/log/messages i sprawdzić wy-
12 lipiec-sierpień 2009
Dla początkujących
FreeBSD  chwila dla admina, cz. 1
nik dmesg. Znajdziemy tam informacje o proble- oczywiście, że nasze urządzenie to da0s1 i stwo- rych program powinien szukać potrzebnych in-
mach, które miały miejsce podczas uruchamia- rzyliśmy wcześniej katalog /mnt/da0s1). Można formacji np. /var/db. Jeśli ktoś korzystał już
nia systemu, w tym także o jądrze. jednak uniknąć konieczności wpisywania tego z usług daemona cron, doskonale zna katalog
Udało nam się przebrnąć przez proces re- polecenia za każdym razem jak będziemy chcie- /etc/periodic. To właśnie tam znajdują się skryp-
kompilacji systemowego kernela. Nie jest to li skorzystać z naszej pamięci flash. Wystarczy ty uruchamiane w określonych odstępach cza-
zadanie proste i wymaga pewnego doświadcze- edytować plik fstab i dopisać tam linię odpowia- su  raz dziennie, tygodniowo lub miesięcznie.
nia, opanowania i wiedzy. Wszelkie informa- dającą za automatyczne montowanie. Powinna Mówiąc o cronie warto wspomnieć także o pli-
cje dotyczące modułów można znalezć w kata- ona wyglądać podobnie do montowanej partycji ku /etc/crontab.
logach i plikach systemowych, takich jak NO- dysku twardego. Najpierw określamy ścieżkę do Niezwykle istotnym plikiem konfiguracyj-
TES. FreeBSD jest doskonale udokumentowa- urządzenia, a następnie punkt montowania. Ja- nym jest /etc/resolv.conf, który określa metody
nym systemem operacyjnym. Od użytkownika ko system plików podajemy auto, żeby system tłumaczenia przez system FreeBSD domen DNS.
wymaga jedynie umiejętności wyszukiwania sam zadecydował. W uprawnienia można wpi- Jakie wpisy znajdują się wewnątrz tego tajemni-
potrzebnych informacji. Doskonałe receptury sać users (użytkownicy) i nadać im prawa od- czego pliku? Najczęściej są to adresy IP serwerów
można także znalezć w oficjalnym podręczniku czytu i zapisu rw (prawa tylko do odczytu ozna- nazw (nameserver) określające które z serwerów
tego systemu. Niestety omówienie wszystkich czone są jako ro). Wpis kończymy dwoma zera- mają być odbytywane i w jakiej kolejności. Mak-
dostępnych opcji oferowanych przez systemo- mi. Całość powinna wyglądać analogicznie do symalnie mogą być podane 3 adresy, a ich chro-
we jądro zdecydowanie wykracza poza ograni- linii /dev/da0s1 /mnt/da0s1 auto users,rw nologia świadczy zarazem o kolejności w jakiej
czone objętością ramy artykułu. Warto jednak 0 0. Dokładnie w ten sam sposób zamontujemy FreeBSD będzie je pobierał. Czasem może poja-
zapoznać się z tym rozległym zagadnieniem ja- każdy dysk, a właściwie dostępne na nim par- wić się również wpis search lub domain. Pierw-
kim jest modyfikowanie kernel, ponieważ pro- tycje w tym również partycję swap. Do wyboru sza opcja najczęściej zostaje określona przez do-
ces ten nie tylko uczy podstaw działania sys- mamy wszystkie dostępne dla systemu rodzaje menę lokalną i polega na szukaniu w nazwach
temu, ale umożliwia doskonałe dostosowanie partycji jak np. ext2 , ext3, ReiserFS, XFS, vfat, np. search nazwa.pl. Druga natomiast to nic in-
jądra do własnych potrzeb, a co za tym idzie iso9660, nfs i swap. W przypadku tej ostatniej nego jak lokalna nazwa domeny. Jeśli korzysta-
zwiększenie jego wydajności. wpis będzie wyglądał nieco inaczej. Prawidłowy my z DHCP (Dynamic Host Configuration Pro-
wpis powinien mieć postać /dev/urządzenie tocol) to zazwyczaj plik ten zostaje uzupełniony
Pajęczyna plików none swap sw 0 0. Nie wskazujemy tu punktu automatycznie i znajdują się tam dwa adresy ser-
Każdy kto choć raz próbował skonfigurować montowania uzupełniając to miejsce flagą none. werów DNS. Nic jednak nie stoi na przeszkodzie
system według własnych upodobań wie, że nie Wszystkie urządzenia wskazane w pliku fstab aby edytować plik samodzielnie i wpisać własne
jest to zadanie łatwe. Ilość plików konfiguracyj- (z wyjątkiem tych, które zostały opatrzone fla- adresy (jeżeli DHCP zawiedzie i posiadamy od-
nych jest przerażająco duża, jednak można okre- gą noauto) są automatycznie montowane pod- powiednie dane). W połączeniu z DNS (a także
ślić dla nich wspólne zródło  niemalże wszyst- czas startu systemu. NIS) działa plik /etc/hosts. W rzeczywistości jest
kie znajdują się w katalogu /etc lub /usr/local. Ponieważ zawartość katalogu /etc zdaje się on pozostałością po Internecie sprzed kilku (może
Poznanie tego katalogu powinno być jedną z być nieograniczona, twórcy pogrupowali jego nawet kilkudziesięciu) lat. Jego głównym zada-
pierwszych czynności jaką wykona początkują- zawartość w taki sposób, aby każdy mógł odna- niem jest dostarczenie nazwy dla danego adresu
cy administrator. Ilość zawartych tam informa- lezć plik, którego potrzebuje. Oczywiście trudno IP, np. 127.0.1.1host-89-228-xxx-xxx.na-
cji może przyprawić o ból głowy, jednak znajo- byłoby znać na pamięć zawartość każdego waż- zwa.mm.pl host-89-228-xxx-xxx. Nietrudno
mość każdego istotnego pliku konfiguracyjnego nego pliku, jednak warto pamiętać jego umiej- zauważyć, że nazwa taka składa się z adresu, ofi-
jest koniecznością. Plikiem, który zazwyczaj jest scowienie. Szczegóły dotyczące zawartości za- cjalnej nazwy i aliasów. Właściwie pliku tego nie
edytowany jako pierwszy jest /etc/fstab. Znajdu- wsze można sprawdzić w obszernej dokumen- trzeba zmieniać, jednak z całą pewnością dobrze
ją się w nim wskazówki dla systemu o dostęp- tacji systemu, jednak jeżeli nie będziemy zna- wiedzieć do czego służy.
nych partycjach i urządzeniach (np. pendrive, li położenia takiego pliku pojawi się problem. Odkąd w Polsce pojawił się FreeBSD użyt-
CDROM itp.) oraz sposobach ich montowania Pierwszym katalogiem jest /etc/defaults. Znaj- kownicy zaczęli odczuwać pewien problem, a
i systemach plików. Domyślne ustawienia ogra- dują się w nim domyślne pliki konfiguracyjne. mianowicie brak polskich znaków w konsoli.
niczają się do określenia napędów optycznych i Oznacza to, że jeżeli użytkownik nie wprowadzi Oczywiście szybko można to zmienić, jednak
partycji, z których korzysta system. A co z karta- własnych ustawień, to najprawdopodobniej sys- aby tak się stało konieczna jest znajomość od-
mi pamięci i pamięciami przenośnymi? Oczywi- tem skorzysta z konfiguracji odnalezionej wła- powiednich wpisów. Tak naprawdę nie ma zna-
ście trzeba samemu wskazać jak system ma re- śnie w tym katalogu. Mniej istotny jest katalog czenia, który zostanie edytowany jako pierw-
agować, kiedy wykryje tego typu sprzęt. Może- /etc/mail, ponieważ zawiera on dodatkowe pliki szy, ale ważne jest aby nie zapomnieć o którymś
my go zamontować w dwojaki sposób. Pierw- konfiguracyjne dla serwerów poczty, np. progra- wpisie, ponieważ cała polonizacja może okazać
szy polega na wpisaniu w konsoli odpowiednie- mu sendmail. W katalogu /etc/ppp jak nietrud- się klęską. Najczęściej zaczynamy od pliku /etc/
go polecenia, każdorazowo jak będziemy chcie- no się domyśleć znajdują się ustawienia regulu- rc.conf, w którym najpierw ustawiamy polską
li przeprowadzić proces montowania. Istnie- jące pracę oprogramowania ppp zarówno użyt- czcionkę w trzech rozmiarach: font8x14="i-
je pewna różnica pomiędzy Linuksem a Fre- kownika jak i jądra. Serwer DNS (Domain Na- so02-8x14", font8x16="iso02-8x16", fon-
eBSD. Otóż w pierwszym przypadku partycje me System)  named  przechowuje swoje dane t8x16="iso02-8x8". Następnie należy określić
FAT określamy jako vfat, natomiast we Fre- w /etc/namedb/named.conf. Nie oznacza to jed- mapę klawiatury, aby system potrafił odpowied-
eBSD jako msdosfs. Aby zamontować np. pen- nak, że znajdują się tam wszystkie dane dotyczą- nio zareagować kiedy zostanie naciśnięty prawy
drive sformatowany standardowo jako FAT16 ce tego serwera. Często jest tak  w tym przy- klawisz ALT. Wystarczy poniżej wpisać para-
lub FAT32 wpisujemy polecenie mount -t padku również  że informacje zawarte w pli- metr keymap="pl_PL.ISO8859-2". Teraz moż-
msdosfs /dev/da0s1 /mnt/da0s1 (zakładając ku named.conf wskazują na inne miejsca, w któ- na już zapisać zmiany i przejść do kolejnego pli-
www.lpmagazine.org 13
Dla początkujących
FreeBSD  chwila dla admina, cz. 1
ku, jakim jest /etc/login.conf. Przed ostatnią li- nymi ich grupami. FreeBSD doskonale spraw- użytkowników. Pierwsze z wymienionych służą
nią wpisujemy ustawienia tak jak pokazuje Li- dza się w roli systemu współdzielonego pomię- do zarządzania systemem, natomiast konta syste-
sting 1. Teraz wystarczy jedynie zaktualizować dzy wieloma użytkownikami. Pomimo że fi- mowe odpowiadają za uruchamiane usługi. Zda-
bazę danych dotyczących logowania cap_mkdb zycznie przy komputerze może pracować w da- rza się, że niedoświadczeni administratorzy wy-
/etc/login.conf. Na koniec należy zmienić wpi- nej chwili jednak osoba, dodatkowo wielu użyt- korzystują w codziennej pracy konto roota, po-
sy w /etc/ttys, zmieniając w każdej linii cons25 kowników może korzystać z tego samego kom- nieważ uważają to za wygodne. Konto superu-
na cons25l2 (w konsolach od jeden do siedem). putera poprzez sieć. Konieczne jest odpowied- żytkownika najczęściej jest tak skonfigurowane,
W ten sposób zostanie ustawione polskie kodo- nie zarządzanie kontem i uprawnieniami każde- aby ułatwić zarządzanie systemem. Zdecydowa-
wanie, a dokładniej latin-2. Można poprzestać go użytkownika, aby nie doszło do zamiesza- nie odradza się korzystanie z tego konta jako do-
na takiej konfiguracji, jednak czasami zachodzi nia lub  co gorsze  chaosu. Pewnie zastana- myślnego. Ponieważ związane są z nim niemal-
potrzeba ustawienia dodatkowej zmiennej śro- wiasz się jak to jest możliwe? Otóż konta po- że nieograniczone uprawnienia, można w bardzo
dowiskowej. W tym celu w pliku /etc/csh nale- szczególnych użytkowników umożliwiają im krótkim czasie doprowadzić do zniszczenia sta-
ży wpisać setenv LC_ALL pl_PL.ISO8859-2 dostęp do komputera. Dzięki temu procesy sys- bilności systemu (nawet nieodwracalnie). Przeci-
czyli informację, aby system używał języka pol- temowe lub rozmaitych aplikacji, które są przez wieństwem jest konto użytkownika nie posiada-
skiego. Wiele programów wymaga wykonania nich uruchamiane mogą zagrozić stabilności ca- jące uprawnień roota. Z jego poziomu zachwia-
przedstawionych czynności przed instalacja, po- łego systemu. W przypadku FreeBSD każde kon- nie stabilności systemu jest prawie niemożli-
nieważ w przeciwnym razie mogą pojawić się to powiązane jest z pewnymi danymi pozwalają- we (wykluczając np. przeciążenie). Zakładamy
problemy z wykryciem ustawień mających na cymi na identyfikację użytkownika. Najważniej- oczywiście, że osoba korzystająca z tego konta
celu polonizację. sze to oczywiście login i hasło. Dobre hasło po- nie zna hasła superużytkownika. W przeciwnym
Powyższe przykłady  pendrive, poloniza- winno składać się przynajmniej z ośmiu znaków, wypadku może zrobić prawie wszystko to, co ad-
cja, DNS  doskonale ukazują, że każdy mniej zawierać cyfry oraz znaki takie jak: #, $, !, @ itd. ministrator systemu. Drugim typem kont, są kon-
lub bardziej zaawansowany użytkownik Fre- Najskuteczniejsze są hasła składające się z loso- ta systemowe, np. deamon, www, news, bind, a
eBSD musi zaznajomić się z rozmieszczeniem wo wybieranych znaków, natomiast najsłabsze to także nobody. Służą one do uruchamiania takich
poszczególnych plików konfiguracyjnych. Moż- te, na które składa się jakieś słowo (można je ła- usług jak serwer WWW, poczta czy DNS.
na też określić to jako obowiązek przyszłych ad- two odgadnąć za pomocą np. programu John the FreeBSD oferuje mnóstwo narzędzi stwo-
ministratorów. Oczywiście plików takich, któ- Ripper i odpowiedniego słownika). Identyfikacja rzonych z myślą o zarządzaniu kontami użyt-
re potrafią przesądzić o być lub nie być naszego użytkownika w systemie odbywa się także dzię- kowników (w większości działają one z wiersza
systemu jest znacznie więcej, a przykłady poda- ki UIN (User Identification Number, identyfi- poleceń). Aby dodać nowego użytkownika nale-
ne powyżej mają na celu zmobilizować (nie tylko kator użytkownika), który jest numerem z prze- ży posłużyć się programem adduser. Jego zada-
administratorów!) do rozpoczęcia własnych po- działu od 0 do 655352 i to właśnie on jest jed- niem jest utworzenie odpowiednich wpisów w
szukiwań, odkryć i wprowadzania nowatorskich noznacznym potwierdzeniem tożsamości. Kiedy plikach passwd i group, następnie tworzy katalog
rozwiązań. Choć pozornie wydaje się to oczywi- FreeBSD korzysta z UIN? Zawsze gdy napotka domowy użytkownika i kopiuje pliki konfigura-
ste, wielu użytkowników nie tylko FreeBSD za- na polecenie przyjmujące nazwę użytkownika ja- cyjne z katalogu /usr/share/skel. Dodanie nowe-
pomina o odpowiednich ustawieniach (niekiedy ko argument. Zostaje ona automatycznie zamie- go użytkownika sprowadza się do udzielenia kil-
z braku czasu), a w rzeczywistości jest to sprawa niona na numer UIN, zanim zostanie wykonane ku odpowiedzi, na podstawie których adduser
priorytetowa. Pewne pliki zawierają informacje, polecenie. Podobnie wygląda sytuacja z grupami utworzy wpisy do poszczególnych plików. Jakie
które mogą zagrażać bezpieczeństwu systemu. użytkowników. Odpowiada im numer GID (Gro- informacje są wymagane? Na początku określa-
Przykładem są takie pliki jak chociażby /etc/in- up IDentifier) wybrany z tego samego zakresu co my login, następnie pełną nazwę użytkownika.
etd.conf i /etc/passwd. Pierwszy wskazuje uru- UIN. To właśnie dzięki wykorzystaniu GID uda- W miejscu z zapytaniem o UID zazwyczaj nic
chomione w usługi i otwarte porty, natomiast z ło się znacznie zmniejszyć objętość wielu plików nie podajemy, pozwalając tym samym aby pro-
drugiego dowiemy się jacy użytkownicy są zalo- konfiguracyjnych. Najistotniejszą informacją jest gram wstawił ustawienia domyślne. Następnie
gowani w systemie oraz kilka innych ciekawych jednak fakt, że każdy użytkownik może przyna- podajemy dane związane z określonymi grupami
(zwłaszcza dla hakera) informacji. leżeć jednocześnie do kilku grup. Pewnym roz- nowego użytkownika. Można dodać go do gru-
Wszystkie informacje i dane, które powsta- szerzeniem funkcjonalności grup są tzw. klasy lo- py wheel dzięki czemu będzie mógł korzystać z
ją na skutek pracy rozmaitych konfiguratorów gowania. Są one określane w pliku /etc/login.conf su i hasła administratora systemu. Program addu-
systemowych zapisywane są w odpowiednich i służą do narzucania na określonych użytkowni- ser pozwala również na określenie domyślnej po-
plikach konfiguracyjnych. W codziennej pracy ków pewnych ograniczeń, np. wykorzystania włoki np. sh, csh, tcsh, zsh lub nologin. Zosta-
zazwyczaj korzystamy z tego oprogramowania czasu procesora czy pamięci (o tym w dalszej niemy także zapytani, czy chcemy ustawić hasło
aby zaoszczędzić odrobinę czasu, jednak warto części tekstu). Można także spotkać kilka mniej dla nowego użytkownika. Oczywiście odpowia-
wiedzieć gdzie przechowywane są poszczegól- istotnych cech kont, jak chociażby czas zmia- damy twierdząco i dwukrotnie powtarzamy na-
ne informacje, ponieważ w przypadku admini- ny hasła, czy czas wygaśnięcia ważności dane- sze hasło. Na koniec program wyświetli podsu-
strowania systemem pozwoli nam to skutecz- go konta. Domyślnie opcje te są wyłączone, ale mowanie i poprosi o potwierdzenie poprawności
niej zabezpieczać jego najbardziej narażone na jeżeli zachodzi taka konieczność nic nie stoi na danych. Jeżeli ponownie odpowiemy twierdząco
atak z zewnątrz partie. przeszkodzie, aby z nich skorzystać. Dodatkowo informacje zostaną zapisane w bazie danych i od-
można określić powłokę użytkownika. Pozwala powiednich plikach.
Społeczność komputera to na dostosowanie konta do konkretnych pre- Jeżeli uznamy, że konto jakiegoś użytkow-
Choć wydaje się to oczywistością, poruszając te- ferencji jego właściciela. Właściwie konta moż- nika jest zbędne można w prosty sposób całko-
mat administrowania nie można pominąć zarzą- na podzielić na trzy kategorie: superużytkowni- wicie je usunąć za pomocą programu konsolo-
dzania kontami użytkowników oraz poszczegól- ka (root), systemowe oraz konta poszczególnych wego rmuser. Jest on niezwykle dokładny po-
14 lipiec-sierpień 2009
Dla początkujących
FreeBSD  chwila dla admina, cz. 1
nieważ oprócz usunięcia wpisów dotyczących trakcie polonizacji systemu. Przykładem mo- je od siebie elementy: indywidualną nazwę i nu-
danego konta z crontab, prac at oraz zniszcze- że być po raz kolejny Listing 1. Nie należy jed- mer GID (Group ID). Aby jądro systemu mogło
nia procesów użytkownika program ten usuwa nak utożsamiać limitów systemowych z upraw- określić, czy dany proces może wykonać okre-
hasła z systemowego pliku haseł, katalog ma- nieniami logowania. No dobrze, ale jakie limity śloną czynność niezbędny jest lista grup oraz
cierzysty, a nawet pocztę z /var/mail. Dodat- zasobów są dostępne? Przede wszystkim core- identyfikator UID. Informacje dotyczące grup
kowo zostają skasowane wszelkie pliki tym- dumpsize, który jest powszechnie stosowany i zawarte są w pliku /etc/group. Na charakterysty-
czasowe, będące własnością tego użytkownika umożliwia kontrolę wykorzystania przestrzeni kę grupy składają się cztery informacje: nazwa,
i ostatecznie zostaje on usunięty z grup, do któ- dyskowej. Uogólniając ogranicza on rozmiar pli- zaszyfrowane hasło, identyfikator i wypisani po
rych należy (w pliku /etc/group). Możliwości ku rdzenia tworzonego przez program. Limit ten przecinku użytkownicy należący do danej grupy.
rmuser są ogromne, ponieważ umożliwia na- może uchronić użytkowników przed utratą prze- Zawartość pliku group można modyfikować po-
wet usunięcie konta superużytkownika, co jak strzeni dysku po awarii dużego programu. Dru- przez jego edycję, jednak znacznie wygodniej-
nietrudno się domyśleć zakończy się katastrofą gim limitem jest cputime służący do określenia szym sposobem jest użycie programu pw. Zaletą
dla naszego systemu. Podobnie jak w przypad- maksymalnego czasu jaki może zostać poświę- tej metody jest wykluczenie ewentualnych błę-
ku narzędzia adduser zostaniemy poproszeni o cony na proces użytkownika. Każdy proces prze- dów składniowych, które mogłyby powstać pod-
dwukrotne potwierdzenie usuwanych danych. kraczający ten czas zostanie zniszczony. Nie na- czas samodzielnego uzupełniania pliku. Jeżeli
Może się zdarzyć, że będziemy chcieli leży jednak mylić czasu wykorzystania proceso- chcemy dodać nową grupę, np. lucas wystarczy
zmienić pewne ustawienia, które wprowadzili- ra z procentowym wykorzystaniem jego możli- wpisać w konsoli polecenie pw groupadd lu-
śmy podczas tworzenia nowego konta, np. po- wości. Czasami istnieje potrzeba ustalenia mak- cas. Jeżeli chcielibyśmy upewnić się, że zosta-
włokę, hasło itd. W tym celu wystarczy posłużyć symalnego rozmiaru pliku jaki może posiadać ła dodana korzystamy z parametru groupshow
się programem chpass. Jako ciekawostkę warto użytkownik. W tym celu stworzono opcję file- (pw groupshow lucas). W ten sposób została
wspomnieć, że chsh, chfn oraz ypchpass, ypchsh size, która określa wielkość pojedynczego pli- utworzona nowa grupa, jednak bez przypisania
i ypchfn są jedynie dowiązaniami do chpass. Je- ku, a nie dostępny przydział dysku twardego. Dla do niej przynajmniej dwóch użytkowników, jej
żeli uruchomimy program podając jedynie na- określenia dopuszczalnej ilości procesów, któ- istnienie jest pozbawione sensu. Jak dodać użyt-
zwę użytkownika (bez dodatkowych parame- re mogą być wykonane wystarczy ustawić limit kownika do grupy? Wystarczy wpisać pw gro-
trów) zostaną edytowane informacje o nim, któ- maxproc. Widzimy zatem, że FreeBSD oferuje upmod nazwa_grupy -M nazwa_użytkownika.
re można dowolnie zmieniać. Niezbędne będą możliwość niezwykle precyzyjnego kontrolowa- Jeśli chcemy dodać więcej kont oddzielamy je
prawa roota, gdyż dostęp do tych informacji z nia kont poszczególnych użytkowników. To jed- przecinkami. W ten sposób każdy może dosto-
poziomu zwykłego użytkownika ogranicza się nak nie wszystko! Jeżeli zachodzi taka koniecz- sować FreeBSD do wymagań nie tylko jednego,
do kilku pól (pełna nazwa użytkownika, powło- ność można także ustalić maksymalną wielkość lecz wielu użytkowników systemu. Zapewnia to
ka i numer telefonu). Jedynie administrator mo- pamięci wykorzystywanej przez proces, która bę- wygodną pracę, sprawiedliwy podział zasobów i
że zmienić np. umiejscowienie katalogu domo- dzie zablokowana w pamięci głownej (memory- możliwość kontroli stabilności systemu.
wego danego użytkownika. Po wyjściu z edyto- locked). Podobnie działa limit memoryuse, lecz
ra zostanie automatycznie zaktualizowana odpo- nie jest tak rygorystyczny jak memorylocked. Je- Pusta kartka i LPR
wiednia baza danych. Chpass umożliwia zmianę śli administrator stwierdzi, że otwieranie zbyt FreeBSD posiada doskonałe wsparcie dla wie-
wielu różnych opcji. Czasem jednak chcemy tyl- wielu plików jednocześnie przez danego użyt- lu drukarek, począwszy od atramentowych po
ko zmienić hasło. Specjalnie w tym celu powstał kownika jest niewskazane, to za pomocą parame- laserowe. Niestety czasem zadowalające efek-
program passwd. Działanie sprowadza się do tru openfiles ma możliwość określenia ich ak- ty należy poprzedzić odpowiednią konfigura-
podania aktualnego hasła, a następnie nowego. ceptowalnej liczby. Limitów gotowych do uży- cją systemu. Dzięki niej będziemy mogli ro-
A co zrobić kiedy z systemu korzysta wielu cia jest zdecydowanie więcej, jednakże opisanie bić wydruki w wysokiej jakości. Do komuni-
użytkowników, a każdy z nich pragnie prywatno- wszystkich byłoby trudne. Warto wiedzieć rów- kacji z drukarką FreeBSD wykorzystuje tzw.
ści i komfortu pracy? W takim wypadku zawsze nież o sbsize (ograniczenie pamięci sieciowej LPD, który odpowiada za pakiety wychodzące
niezbędne okazują się pewne ograniczenia. Fre- mogący uchronić przed atakami DoS) i stack- z drukarki i przychodzące (także od innych ho-
eBSD został doskonale dopracowany pod tym size (maksymalny rozmiar stosu). O czym war- stów z sieci), umożliwia użytkownikom robie-
względem i zapewnia kilka sposobów na ogra- to pamiętać? Przede wszystkim, że ustawienie nie wydruków i tworzenie kolejek drukowania.
niczenie zasobów systemowych dla danej oso- nieodpowiednich dla konkretnego systemu nie- Ponadto LPD umożliwia dołączanie nagłów-
by. Zasadniczo można je podzielić na dwa ro- właściwych wartości (zbyt niskich lub wygó- ków, odpowiada za komunikację z portem dru-
dzaje. Pierwsze z nich ograniczają dostępną dla rowanych) może utrudnić codzienną pracę albo karki i zawiera wiele filtrów wspomagających
użytkownika przestrzeń dysku twardego. Dzięki spowodować, że system będzie podatny na wła- proces drukowania. Plikiem konfiguracyjnym
temu możliwy jest szybki dostęp do przydzielo- mania i wszelkiego typu nadużycia. Ciekawostką jest /etc/printcap. Z dukowaniem nieodzownie
nego miejsca i możliwość sprawdzenia zajętości jest fakt, że procesy takie jak openfile nie odno- wiąże się pojęcie tzw. spoolingu. Polega ono na
miejsca bez zbędnego obciążania systemu. Po- szą się do użytkownika jako spójnej całości, ale umieszczeniu danych w buforze, dzięki czemu
za przestrzenią dysku twardego, FreeBSD ofe- poszczególnych jego procesów. Jak zatem obli- zostaje odciążony procesor, pamięć itd. Kiedy
ruje także możliwość ograniczenia zasobów pa- czyć ile tak naprawdę można otworzyć plików? dane przeznaczone do drukowania znajdują się
mięci, procesora itp. Aby zdefiniować te warto- Aatwo to obliczyć mnożąc wartości limitu open- już w buforze, proces kontynuuje działanie.
ści wykorzystuje się tzw. klasy logowania i plik file i maxproc. Drukarka pobiera informacje z bufora i prze-
/etc/login.conf. Domyślna klasa nazywa się po Każdy użytkownik jest przypisany do ja- twarza je w czasie rzeczywistym. To właśnie
prostu default. Do każdej z klas przypisane są kiejś grupy. Czym właściwie jest grupa? Moż- takie rozwiązanie umożliwia użytkownikowi
zestawy uprawnień w postaci identyfikator = na określić ją jako zbiór, czy listę użytkowników. normalną pracę z komputerem podczas dru-
przetwarzana wartość. Poznaliśmy już to w Poszczególne grupy posiadają dwa odróżniające kowania dokumentów. Wyobrazmy sobie sy-
www.lpmagazine.org 15
Dla początkujących
FreeBSD  chwila dla admina, cz. 1
tuację, że podłączeni zdalnie do naszego syste- jemy http://127.0.0.1:631/admin/. Dodanie no- /usr/local/etc/cups. Zarówno z mime.types jak
mu użytkownicy próbują jednocześnie wydru- wej drukarki sprowadza się do poprawnego wy- i z mime.convs należy usunąć lub dodać znak
kować pliki. Zakończyłoby się to fiaskiem gdy- pełnienia kilku pól. Najpierw w zakładce Strona komentarza przed linią application/octet-
by nie odpowiednie zarządzanie systemu. Główna wybieramy Dodaj drukarkę. Zostanie- stream. Umożliwi to poprawne drukowanie za
Większość współczesnych drukarek podłą- my przeniesieni do zakładki Administracja, w pomocą sieci. Ostatnią czynnością jest ponow-
czona jest przez port USB. Postaramy się skon- której należy uzupełnić nazwę oraz opis drukar- ne uruchomienie pakietu SAMBA. W tym ce-
figurować drukarkę w taki sposób, aby bez pro- ki, a następnie przechodzimy do kolejnego eta- lu przechodzimy do katalogu /usr/local/etc/rc.d
blemów działała zarówno w środowisku graficz- pu posługując się przyciskiem Kontynuuj. Teraz i wydajemy w konsoli polecenie sh samba.sh
nym jak i w konsoli. W przykładach posłużymy wybieramy odpowiedni typ urządzania, np. HP stop && sh samba.sh start. Od tego mo-
się drukarką Hellwet Packard. Jest to popularny Printer (HPLIP). Konieczne okaże się wpisa- mentu nasza nowa drukarka będzie widoczna
producent sprzętu dostępnego w Polsce. Oczy- nie tzw. URI. Najlepiej uzupełnić wpisując war- dla innych użytkowników lokalnej sieci.
wiście można spotkać również innych, jak np. tość lpd://hostname/queue, choć automatycz-
Brother czy Lexmar, jednak konfiguracja będzie nie generowane URI może mieć postać podob- Podsumowanie
dla większości podobna, natomiast różnice poja- ną do takiej: hp:/usb/Deskjet_F2200_serie- Administrowanie systemem jest zadaniem nie-
wią się w związku ze sterownikami. Na począt- s?serial=CN86J4S58W0534. W kolejnym kro- zwykle złożonym, zwłaszcza jeżeli z danego
ku należy sprawdzić, czy jądro systemu posiada ku wybieramy odpowiedniego producenta dru- systemu korzysta wielu użytkowników. Nale-
moduły odpowiedzialne za obsługę USB (device karki i sterownik, którego chcemy użyć. Finalnie ży zapewnić im komfort pracy przy utrzymaniu
usb), kontroler USB device uhci (tu zintegrowa- klikamy na przycisk Dodaj drukarkę. Co praw- odpowiedniego porządku w systemie i zacho-
ny z chipseten Intel, dla Via proponuje się moduł da dodawanie nowych urządzeń, jak drukarki nie waniu stabilności. Przedstawione w artykule
ohci). Aby sprawdzić czy kontroler USB pasują- jest skomplikowane jednak warto poświęcić te- zagadnienia w żadnym wypadku nie stanowią
cy do aktualnej konfiguracji wydajemy polece- mu odrobinę czasu, aby dokładnie prześledzić kompletnego kompendium wiedzy, a ich zada-
nie dmesg | grep uhub. Kolejnym krokiem jest każdy kolejny krok. Jeśli nie pojawiły się błędy niem jest jedynie nakreślenie pewnego zakre-
dodanie do pliku /etc/rc.conf wpisu usbd_ena- oznacza to tylko jedno  Sukces! Pewnie jeste- su tematyki i wskazanie Czytelnikowi podsta-
ble="YES" i sprawdzenie czy istnieje w katalo- ście ciekawi, czy wszystko działa. Drukowanie wowych metod rozwiązania powszechnie wy-
gu /dev urządzenie ulpt0. Taki sam efekt otrzy- w środowisku graficznym można przetestować stępujących problemów. Modyfikacja i kompi-
mamy wpisując w konsoli polecenie ls /dev/ w prosty sposób, ale jak to zrobić w środowi- lacja jądra systemu jest rzeczą najważniejszą
ulpt*. Jeżeli urządzenie takie nie istnieje należy sku tekstowym? W rzeczywistości drukowanie dla osób pragnących maksymalnie dostosować
je utworzyć wpisując cd /dev && ./MAKEDEV za pomocą konsoli jest tak samo proste jak przy system do własnych potrzeb. Warto zagłębić
ulpt0, a następnie zatwierdzając to klawiszem wykorzystaniu np. OpenOffice. Dla ułatwie- się w tej tematyce, ponieważ mozolna niekie-
[Enter]. Aby system mógł rozpoznać nowe urzą- nia należy przejść do katalogu /usr/local/bin/, dy lektura dokumentacji z pewnością zaowocu-
dzenie musimy go ponownie uruchomić. Po w którym zostało zainstalowane oprogramo- je w krótkim czasie.
stworzeniu odpowiedniego urządzenia w kata- wanie. Ewentualnie można sprawdzić położenie Ktoś mógłby zarzucić, że w części po-
logu /dev, nadszedł czas na instalację oprogra- programu lpr wpisując polecenie whereis lpr. święconej katalogowi /etc nie zostały przed-
mowania. Ponieważ założyliśmy, że konfiguru- Będąc już w odpowiednim katalogu wystarczy stawione wszystkie pliki konfiguracyjne, które
jemy drukarkę HP niezbędny okaże się sterow- wydać polecenie lpr -P Deskjet_F2200_se- tam się znajdują. Biorąc jednak pod uwagę ich
nik hpijs. Najlepiej zainstalować go wykorzystu- ries /home/lucas/plik.txt. Składnia nie mnogość  ponieważ jest tam kilkaset, a mo-
jąc w tym celu porty. Przechodzimy do katalogu jest skomplikowana. Po parametrze -P podaje- że kilka tysięcy plików  byłoby to zadaniem
/usr/ports/print/hpijs, następnie kompilujemy go my nazwę naszej nowej drukarki (wpisywaliśmy niemożliwym (przynajmniej na łamach gaze-
i instalujemy w systemie (make install cle- ją w panelu administracyjnym CUPS), a następ- ty). Zagadnienie to jest jednak na tyle istot-
an). Choć mamy już odpowiedni sterownik dla nie plik lub tekst do druku. nym, że pominięcie go stanowiłoby niewyba-
drukarki, niezbędne okażą się jeszcze trzy pakie- Mając poprawnie skonfigurowaną drukar- czalny błąd. Inaczej wygląda sytuacja w odnie-
ty, a mianowicie Ghostscript, CUPS i cups-lpr. kę, nic nie stoi na przeszkodzie, aby udostęp- sieniu do użytkowników, grup i drukarek. Tu z
Instalacja z portów przebiega w ten sam sposób nić ją innym użytkownikom , np. sieci lokalnej. pewnością nikt nie ma wątpliwości co do wagi
co w przypadku hpijs. Pierwszy pakiet znajduje Niezbędny będzie pakiet SAMBA lub NFS. tych informacji.
się w katalogu /usr/ports/print/ghostscript-gnu, Przyjmijmy jednak założenie, że wybraliśmy W kolejnej części artykułu znajdą się wia-
CUPS w /usr/ports/print/cups, natomiast cups- pierwszy z wymienionych i chcemy umożli- domości pozwalające na sprawniejsze zarzą-
lpr w /usr/ports/print/cups-lpr. wić dostęp do drukarki wszystkim użytkow- dzanie FreeBSD. Dowiemy się także jak zabez-
Po uzupełnienu FreeBSD o odpowiednie nikom (oczywiście nic nie stoi na przeszko- pieczyć nie tylko nasz system ale także cenne
pakiety nadszedł czas na konfigurację. Pierw- dzie, żeby precyzyjnie określić pewną grupę). dane przed utratą. Zapraszam do lektury!
szym zadaniem będzie ustawienie CUPS-a. Po zainstalowaniu SAMBY należy edytować
Przechodzimy do katalogu /usr/local/etc/rc.d i plik /usr/local/etc/smb.conf. Zawiera on infor-
O autorze
zmieniamy nazwę utworzonego tam podczas in- macje dotyczące konfiguracji tego oprogramo-
stalacji pliku cupsd.sh.sample na cupsd.sh. Jak wania. Na początek zajmijmy się sekcją prin-
Autor jest dziennikarzem, którego pasją
łatwo zauważyć jest to plik zawierający skrypty ters. Należy ustawić w niej kilka zmiennych
stało się programowanie (C/C++, Java,
związane z pakietem CUPS. Uruchamiamy go tak jak zostało to pokazane w Listingu 2. Na-
Pascal, Qt, Gtk+) oraz systemy spod zna-
wpisując w konsoli sh cupsd.sh start. Te- stępnie w sekcji global wskazujemy na pakiet
ku pingwina (Slackware, Debian).
raz możemy już połączyć się z panelem admini- CUPS poprzez dodanie wpisów printcap na-
Kontakt z autorem:
stracyjnym CUPS-a. Niezbędna do tego będzie me = cups oraz printing = cups. Kolejnym
lucas.ciesielski@gmail.com
przeglądarka internetowa. W polu adresu wpisu- krokiem jest edycja dwóch plików z katalogu
16 lipiec-sierpień 2009


Wyszukiwarka

Podobne podstrony:
2009 09 FreeBSD – chwila dla admina, cz 2 [Poczatkujacy]
Warunki techniczne zmiana 2009 07 08 Dz U 2009 56 461
Raport Rynku Zywnosci dla Niemowlat i Dzieci 07 08
K1 07 08 zad3 rozwiazanie?gmaraK gr2 (2)
Kolokwium zaliczeniowe sem 1 07 08 rozwiazania
Metody statystyczne dla opornych cz 2
Wykład 02 (część 07) zasada prac wirtualnych dla odkształcalnych układów prętowych
Dz U z dnia! sierpnia 07 r w sprawie zaadniczych wymagań dla sprzętu elektrycznego
IV WL harmonogram zajec 07 08
2009 07 06
pytania z sesji letniej 07 08
07 08? I
Elektrotechnika i elektronika 07 i 08

więcej podobnych podstron