background image

Dla początkujących

FreeBSD – chwila dla admina, cz. 2

10

wrzesień 2009

Dla początkujących

FreeBSD – chwila dla admina, cz. 2

11

www.lpmagazine.org

   

lin

ux

@

so

ftw

ar

e.

co

m

.p

l

FreeBSD – chwila 

dla admina, cz. 2

Czy zastanawiałeś się kiedyś w jaki sposób można ułatwić sobie codzienną pracę i administrowanie 
siecią? Z pewnością każdy o tym niejednokrotnie rozmyślał. Wielu uważa, że jest to skomplikowane 
i pochłania wiele cennego czasu. Nie jest to prawdą, a dowodem tego jest poniższy tekst, który 
prezentuje kilka szybkich i nieskomplikowanych zabiegów mogących sprawić, że zarządzanie grupą 
komputerów wreszcie stanie się przyjemnością. Przeczytaj w jaki sposób sprawić, aby raz wykonana 
konfiguracja owocowała przez długi czas.

Łukasz Ciesielski

N

a  początku  zajmiemy  się  zagadnieniem 
często pomijanym, lecz niesłychanie istot-
nym, czyli uruchamianiem w systemie Fre-
eBSD  oprogramowania  stworzonego  dla 

Linuksa. Choć problem wydaje się błahy, w rzeczywisto-
ści jest niezwykle istotny, ponieważ niekiedy zachodzi po-
trzeba importowania oprogramowania dedykowanego dla 
systemu Linux.

Mając już zainstalowane ulubione oprogramowanie, 

przejdziemy do pakietu Samba. Oferuje on ogromne moż-
liwości  i  zdecydowanie  ułatwia  współpracę,  pomiędzy 
kilkoma komputerami. To właśnie dzięki niemu użytkow-
nicy sieci lokalnej (np. pracownicy firmy) mogą współ-
dzielić nie tylko pliki, ale również sprzęt biurowy taki jak 
drukarki. Aby jednak odpowiednio skonfigurować całość 
prześledzimy także wzorcowy proces instalacji drukarki 
i odpowiedniego oprogramowania. Kilka prostych zabie-
gów zakończy problemy małych sieci.

Ponieważ  jednym  z  największych  utrapień  każdego 

administratora  jest  konieczność  pamiętania  o  aktualiza-
cjach systemów, tworzeniu bieżących kopii zapasowych, 
czy uruchamianiu określonych usług – częstokroć w ści-

śle określonym czasie – w artykule został zaprezentowa-
ny sposób konfiguracji jednego z najlepszych pakietów te-
go typu, czyli Cron. Jego zalety zostały także wykorzy-
stane w ostatnim zagadnieniu omówionym na końcu, któ-
rym  jest  współdzielenie  plików  konfiguracyjnych.  Czyż 
ustawianie każdego komputera w sieci z jednego stano-
wiska nie jest luksusem? Oczywiście, że jest i wie o tym 
każdy  administrator.  Jeżeli  nie,  to  zapraszam  do  pozna-
nia  przedstawionych  technik  upraszczania  tego,  co  wy-
daje się żmudne i skomplikowane, choć wcale takim być 
nie musi.

Znów ten Linux!

To nieprawdopodobne, ale nawet korzystając z systemu 
BSD może się zdarzyć sytuacja, w której będziemy zmu-
szeni do korzystania z aplikacji stworzonej z myślą o Li-
nuksie. Choć wydaje się to nonsensem, niestety jest praw-
dą. Podstawowym nasuwającym się pytaniem jest – Dla-
czego aplikacje nie są tworzone równolegle dla Linuksa i 
BSD? Odpowiedź jest prosta i wydawałoby się, że oczy-
wista. Otóż firmy tworzące oprogramowanie bardzo czę-
sto nie zdają sobie sprawy jak często ich wyroby są wyko-

background image

Dla początkujących

FreeBSD – chwila dla admina, cz. 2

10

wrzesień 2009

Dla początkujących

FreeBSD – chwila dla admina, cz. 2

11

www.lpmagazine.org

rzystywane w systemach z rodziny BSD. Dla 
większości  z  nich  nawet  tworzenie  klonów 
aplikacji  przeznaczonych  wcześniej  dla  sys-
temu  Microsoft  Windows  i  przekompilowa-
nych tak aby działały w systemach Linux jest 
zabiegiem raczej świeżym. Niekiedy komplet-
nie  zapomniano  o  takich  systemach  jak  Fre-
eBSD, NetBSD itd. choć są one powszechnie 
wykorzystywane. W  niektórych  przypadkach 
uznano, że skoro poszczególne gałęzie rodzi-
ny BSD nadają się najlepiej np. na serwery to 
nie warto tworzyć dla nich oddzielnej wersji 
oprogramowania (multimedia, grafika), ponie-
waż nie będzie ono wykorzystywane. W takich 
sytuacjach skupiono się całkowicie na pakie-
tach przeznaczonych dla systemów Linux. Co 
zaskakujące po uruchomieniu niektórych apli-
kacji tworzonych dla Linuksa w systemie Fre-
eBSD, okazało się że część z nich działa sta-
bilniej i wydajniej niż w pierwotnym środowi-
sku. W dużej mierze zależy to oczywiście od 
posiadanego sprzętu i stopnia w jakim jest on 
obsługiwany przez dany system.

Aby  móc  korzystać  we  FreeBSD  z  pa-

kietów  binarnych  stworzonych  dla  systemu 
Linux,  należy  najpierw  uruchomić  tą  usłu-
gę.  Kompatybilność  linuksowych  plików  bi-
narnych  nie  jest  domyślnie  włączona.  Jeżeli 
nie uruchomiliśmy jej na poziomie instalacji, 
można bez problemu zrobić to wykorzystując 
KLD (ang. Kernel LoaDable object), czy ładu-
jąc odpowiedni moduł jądra. W naszym przy-
padku  jest  to  moduł  linux. Aby  można  było 
wykonać  taką  operację  konieczne  są  upraw-
nienia superużytkownika. Teraz wystarczy w 
konsoli wpisać polecenie 

kldload linux

. Jak 

nietrudno się domyśleć spowoduje to włącze-
nie kompatybilności jedynie na czas danej se-
sji. Po ponownym uruchomieniu systemu oka-
że się, że zabieg ten należy powtórzyć. Istnie-
je  jednak  możliwość  włączenia  tego  modu-
łu na stałe. W tym celu wystarczy edytować 
plik /etc/rc.conf i – jeżeli taka nie istnieje z pa-
rametrem 

NO

 – dodać linijkę 

linux_enable-

=”YES”

. W celu sprawdzenia, czy moduł zo-

stał  poprawnie  załadowany  można  posłużyć 
się  poleceniem 

kldstat

.  W  wyniku  powi-

nien zostać wyświetlony plik linux.ko. Niekie-
dy może się zdarzyć, że z niewiadomych przy-
czyn kompatybilność nie zostanie uruchomio-
na. Należy wtedy ponownie skompilować ją-
dro systemu dodając do pliku konfiguracyjne-
go opcję 

options COMPAT_LINUX

.

Uruchomienie  oprogramowania  tworzo-

nego dla systemu Linux zakończy się niepo-
wodzeniem,  jeżeli  nie  zostaną  zainstalowane 
odpowiednie biblioteki spełniające wszystkie 
zależności. Najprostszą metodą jest instalacja 
za pomocą drzewa portów. Wystarczy przejść 

do katalogu, w którym znajdują się źródła (tu 
jest  nim  /usr/ports/emulators/linux_base),  a 
następnie  wydać  polecenia 

make  install 

distclean

. Po zakończonej kompilacji i insta-

lacji linuksowe aplikacje zaczną działać. Jeśli 
tak się nie stanie, a system nadal będzie zgła-
szał niespełnione zależności, można to w pro-
sty  sposób  naprawić.  Niezbędny  będzie  sys-
tem Linux, ponieważ to właśnie z niego zosta-
ną skopiowane wymagane przez program bi-
blioteki. Pierwszą czynnością jest sprawdzenie 
zależności dla danego programu, z których ko-
rzysta w systemie Linux. Wystarczy w konso-
li wydać polecenie 

ldd  /usr/bin/htop

 (dla 

programu  htop).  W  efekcie  zostaną  wyświe-
tlone  wszystkie  biblioteki  wykorzystywane 
przez  niego  podczas  pracy.  Teraz  wystarczy 
je skopiować, przenieść do FreeBSD i umie-
ścić w katalogu /compat/linux. Ważne jest, aby 
wewnętrzna struktura tego katalogu odpowia-
dała strukturze z systemu Linux. Choć brzmi 
to skomplikowanie w rzeczywistości takie nie 
jest.  Jeśli  biblioteka  wymagana  przez  htop, 
np. libncurses.so.5 znajdowała się w katalogu 
/lib/libncurses.so.5, to po przeniesieniu jej do 
systemu FreeBSD powinna znajdować się w 
/compat/linux/lib/libncurses.so.5.

Dzięki kilku prostym zabiegom FreeBSD 

umożliwia korzystanie z oprogramowania do-
stępnego dla systemów z rodziny Linuksa, ta-
kich jak np. Matlab, Mathematica, Oracle czy 
htop. Może wydawać się nieco nienaturalnym 
zabiegiem korzystanie z binariów Linuksa we 
FreeBSD. Czasem jednak nie ma innej moż-
liwości lub metoda ta jest po prostu szybsza. 
Emulowanie  takiego  oprogramowania  w  za-
łożeniach jest podobne do korzystania z ma-
szyn wirtualnych, a przecież nikt tego nie ne-
guje i nie potępia. Kolejnym powodem, który 
utwierdza w przekonaniu, że nie zawsze war-
to rezygnować z możliwości jakie daje kom-
patybilność aplikacji linuksowych z systema-
mi BSD jest niekiedy stopień zaawansowania 
danego  projektu.  Może  się  bowiem  okazać, 
że program przeznaczony dla Linuksa jest w 
nowszej wersji niż jego odpowiednik dla BSD. 
Wiąże się to nie tylko z dodatkową funkcjonal-
nością takiego pakietu, ale także z większym 
bezpieczeństwem i stabilnością.

Samba

W sieciach biurowych korzystanie z tych sa-
mych sprzętów przez użytkowników pracują-
cych na wielu komputerach jest codziennością. 
Stworzenie sprawnie działającej sieci jest nie-
kiedy sporym wyzwaniem. Wyobraźmy sobie 
jednak, że na każdym komputerze został za-
instalowany inny system operacyjny, np. Mi-
crosoft Windows, BSD i Linux. W jaki sposób 

sprawić, aby poszczególni użytkownicy mogli 
bez problemu dzielić się plikami i współdzie-
lić urządzenia jak chociażby drukarki, czy ska-
nery? Bez dodatkowego oprogramowania by-
łoby to niezwykle trudne zadanie. W takich sy-
tuacjach z pomocą przychodzi Samba. To wła-
śnie dzięki niej możliwe jest dzielenie się za-
równo  systemem  plików  jak  i  podłączonymi 
urządzeniami.  Jak  to  możliwe?  Otóż  syste-
my takie jak wspomniany już Microsoft Win-
dows  i  OS/2  wykorzystują  do  sieciowej  ko-
munikacji  zachodzącej  pomiędzy  serwerami 
i klientami protokół SMB (ang. Server Mes-
sageBlock
). Samba jest zbiorem aplikacji, któ-
re nie tylko rozumieją ten protokół, ale potra-
fią z niego sprawnie korzystać. Dzięki takiemu 
podejściu serwery stworzone na BSD czy Li-
nuksie korzystają z tego samego protokołu co 
serwery  Microsoft  Windows.  Fakt  ten  wiąże 
się z możliwością naśladowania, a właściwie 
podszywania się systemu BSD z zainstalowa-
nym pakietem Samby pod serwer w sieci Win-
dows. Oferuje to użytkownikom wiele możli-
wości i udogodnień. Najważniejszą jest oczy-
wiście możliwość współdzielenia plików po-
między komputerami z zainstalowanymi róż-
nymi systemami operacyjnymi. Drugą ważną 
usługą  jest  współdzielenie  podłączonych  do 
serwera i poszczególnych klientów drukarek. 
To jednak nie wszystko! Dzięki Sambie użyt-
kownicy mogą nie tylko przeglądać otoczenie 
sieciowe, ale także – w przypadku logujących 
się do domeny Windows – zostać automatycz-
nie uwierzytelnieni. Zdecydowanie usprawnia 
to proces współpracy użytkowników zarówno 
w małych jak i dużych sieciach lokalnych.

Najważniejszymi  składnikami  pakietu 

Samba są daemony: smbd oraz nmbd. Pierw-
szy  z  wymienionych  jest  odpowiedzialny  za 
współdzielenie  plików  i  drukarek.  Do  jego 
zadań  należy  także  uwierzytelnianie  klien-
tów protokołu SMB. Należy jednak pamiętać, 
że Samba świadczy także usługi WINS (ang. 
Windows Internet Name Service), czyli tłuma-
czenie nazw komputerów na adresy interneto-
we. Dzięki temu użytkownik nie musi znać ad-
resu IP komputera z którym chce nawiązać po-
łączenie. Wystarczy, że poda jego nazwę, np. 
kierownik,  a  daemon  nmbd  automatycznie 
przetłumaczy ją na odpowiedni adres IP. Jest 
to niezwykle istotne, gdyż w znaczącym stop-
niu ułatwia pracę.

Instalacja  Samby  we  FreeBSD  nie  po-

winna  przysporzyć  trudności.  Pierwszą  me-
todą  jest  oczywiście  możliwość  skorzysta-
nia z gotowej paczki binarnej. Instalujemy ją 
wydając – jako root – polecenie 

pkg_add  -r 

-v samba

. Plik zostanie automatycznie pobra-

ny i zainstalowany w systemie. Druga metoda 

background image

12

wrzesień 2009

Dla początkujących

FreeBSD – chwila dla admina, cz. 2

13

www.lpmagazine.org

Dla początkujących

FreeBSD – chwila dla admina, cz. 2

to oczywiście instalacja z portów. W tym celu 
wystarczy przejść do katalogu /usr/ports/net/
samba
 i wydać polecenie 

make install cle-

an

. Zanim jednak będzie możliwe korzystanie 

z Samby, należy ją odpowiednio skonfiguro-
wać.  Na  początku  konieczna  będzie  zmiana 
nazw dwóch plików: smb.conf.sample i sam-
ba.sh.sample
. Pierwszy z nich powinien mieć 
postać /usr/local/etc/smb.conf, natomiast drugi 
/usr/local/etc/rc.d/samba.sh. Plik smb.conf za-
wiera szczegółową konfigurację pakietu Sam-
ba. To właśnie on odpowiada za prawidłowe 
funkcjonowanie  programu.  Aby  uruchomić 
Sambę  można  wykorzystać  plik  inetd.conf
jednak znacznie wygodniejszą i prostszą me-
todą jest wykorzystanie skryptu samba.sh i da-
emonów.  W  tym  celu  należy  wydać  polece-
nia 

smbd  start

 i 

nmbd  start

. W dowolnej 

chwili użytkownik może zatrzymać działanie 
Samby  poleceniem 

/usr/local/etc/rc.d/

samba.sh  stop

,  lub  wywołać  jej  przełado-

wanie  poleceniem 

/usr/local/etc/rc.d/

samba.sh restart

.

Sercem pakietu Samba jest plik konfigu-

racyjny smb.conf. W jaki sposób poprawnie go 
skonfigurować?  Otóż  najistotniejszą  sprawą 
jest  dokładne  zaplanowanie  charakteru  sieci, 
stopnia  zabezpieczeń,  zebranie  niezbędnych 
informacji, a na końcu wyposażenie pliku w 
odpowiednie  wpisy.  Prace  nad  konfiguracją 
zaczynamy od ustawienia trzech zmiennych o 
charakterze globalnym. Pierwsza pozwala na 
określenie grupy roboczej w naszej sieci. Je-
żeli nie ma, to należy dopisać nazwę zmien-
nej, czyli 

workgroup

 i przypisać do niej grupę. 

Warto zwrócić uwagę, że przypisanie wartości 
następuje zawsze po znaku równości. Następ-
nie  należy  ustawić  nazwę  NetBIOS-u,  czyli 
nazwę pod którą będzie widoczny serwer np. 
w Otoczeniu Sieciowym – zmienna 

netbios 

name

.  Dla  uproszczenia  można  także  dodać 

komentarz opisujący dany komputer. W przy-
padku rozbudowanych sieci zabieg ten potrafi 
znacznie ułatwić pracę.

Jeżeli pragniemy, aby nasze dane były do-

brze chronione, to właśnie dzięki wykorzysta-
niu tego pliku w prosty sposób można określić, 
który host będzie mógł korzystać z zasobów, 
a który nigdy nie zostanie do nich dopuszczo-
ny. Można wykorzystać do tego zmienne 

ho-

sts allow

 i 

host deny

. Pierwsza z nich okre-

śla grupę, która będzie mogła korzystać z udo-
stępnionych  zasobów.  Druga  zmienna  to  nic 
innego, jak nazwy hostów bez uprawnień do 
łączenia się z Sambą. Jest to rodzaj czarnej li-
sty,  na  której  znajduje  się  każdy  niechciany 
host,  np. 

host  deny  =  xxx.xxx.xxx.xxx

Oczywiście istnieje także możliwość udostęp-
nienia zasobów dla tzw. konta gościa. Wystar-

czy  ustawić  zmienną 

guest  account

  przy-

pisując  jej  odpowiednie  wartości.  Wiąże  się 
z tym również opcja 

security

, która powin-

na mieć jedną z dwóch postaci: 

security  = 

share

 lub 

security  =  user

. Pierwszy pa-

rametr zabezpiecza dostęp na poziomie zaso-
bów, natomiast drugi ze wspomnianych na po-
ziomie użytkownika. Dostępne jest także po-
lecenie 

security = server

 działające na po-

ziomie serwera.

Ostatnim  krokiem  jest  przypisanie  od-

powiednich  ustawień  poszczególnym  udzia-
łom. Nie ma idealnej receptury, ponieważ za-
leżą  one  w  dużej  mierze  od  indywidualnych 
wymagań  użytkownika.  Warto  jednak  wspo-
mnieć,  że  charakterystyki  udziału  dokonuje 
się dzięki kilku zmiennym. Zanim jednak do 
nich przejdziemy sprawdźmy jakie przydziały 
mają znajdować się w pliku konfiguracyjnym. 
Z całą pewnością będą to takie udziały jak ho-
mes
  (katalogi  domowe),  printers  (dukarki), 
cdromnetlogon (skrypty logowania) i public
Oczywiście nie są to wszystkie możliwości, a 
jedynie te, które są najczęściej wykorzystywa-
ne. Aby możliwe było szybkie rozpoznawanie, 
każdy udział zawiera zmienną 

comment

 zawie-

rającą komentarz. Jeżeli mamy już opis war-
to określić, czy dany udział ma być widocz-
ny  dla  wszystkich.  W  tym  celu  ustawiamy 
odpowiednio  wartość 

yes

  lub 

no

  dla  zmien-

nej 

browseable

.  Niezwykle  ważnym  punk-

tem jest określenie możliwości zapisu i odczy-
tu danego udziału. Jeśli zależy nam, aby był 
on tylko do odczytu ustawiamy zmienną 

read 

only

. Jest to parametr stosowany zamiennie z 

writeable

, który zezwala na zapis kiedy zo-

stanie mu przypisana wartość 

yes

. O ile 

brow-

seable

 sprawia, że udział staje się widoczny 

dla wszystkich, funkcja guest ok powoduje, że 
jest on dla wszystkich dostępny. Jeżeli zależy 
nam  na  bezpieczeństwie  należy  przemyśleć 
zastosowanie  tych  opcji,  ponieważ  źle  użyte 
mogą stać się luką wykorzystaną przez osoby 
nieuprawnione. Właśnie dlatego warto niekie-
dy przypisać listę konkretnych użytkowników, 
którzy  będą  mieli  dostęp  do  danych.  Można 
to  osiągnąć  w  prosty  sposób,  przypisując  li-
stę osób do zmiennej 

valid users

. Aby wy-

branym użytkownikom lub grupom dać prawo 
do zapisu w obrębie danego udziału, wystar-
czy dodać ich nazwy (zapisując po przecinku) 
do 

write  list

. W ten prosty sposób można 

uzyskać pewien stopień bezpieczeństwa. Nie 
oznacza to jednak, że nie można zrobić nicze-
go więcej. Wręcz przeciwnie, wystarczy zain-
teresować się nakładaniem odpowiednich ma-
sek na nowo tworzone pliki i katalogi (

create 

mode

directory  mode

) oraz zapoznać się z 

plikiem haseł Samby (

smbpasswd

).

Samba  jest  doskonałym  oprogramowa-

niem,  które  w  wielu  sytuacjach  pozwala  na 
usprawnienie współpracy pomiędzy poszcze-
gólnymi  użytkownikami,  co  z  kolei  wpływa 
na efektywność ich pracy. Warto zapoznać się 
z oryginalną dokumentacją, ponieważ jedynie 
w ten sposób będziemy mogli w pełni wyko-
rzystać potencjał tkwiący w Sambie. Znajduje 
się tam również wiele dodatkowych opcji, któ-
rych omówienie w znacznym stopniu wykra-
cza poza ramy tego tekstu.

Drukarki i bohomazy

Jak  wiadomo  najwięcej  problemów  pojawia 
się  zawsze  na  etapie  konfigurowania  sprzę-
tu.  Ponieważ  najczęściej  wykorzystywanym 
są  właśnie  drukarki,  zajmiemy  się  teraz  ich 
ustawieniami  i  przygotowaniem  do  popraw-
nej pracy. Prześledzimy proces konfiguracyj-
ny  od  początku,  ponieważ  umożliwi  to  każ-
demu  zdiagnozowanie  ewentualnych  proble-
mów, a dokładniej miejsca, w którym wystę-
pują.  Na  początek  koniecznie  należy  spraw-
dzić,  czy  wszystko  jest  poprawnie  podłączo-
ne: kable, zasilacz itd. Choć wydaje się, że to 
błahostka może przysporzyć wielu kłopotów, 
a najważniejszym jest błąd konfiguracji. W ta-
kim wypadku niepotrzebnie stracimy czas i nie 
uda się poprawnie ustawić sprzętu. Po dokład-
nych oględzinach i włączeniu drukarki, można 
przejść do dalszych działań. Na początek za-
leca się niewielką przebudowę jądra systemo-
wego, lecz w przypadku jego nowych wersji 
nie jest to konieczne. Dla całościowego przed-
stawienia tego zagadnienia sprawdźmy co po-
winno znaleźć się w systemowym jądrze. Za-
sadniczo są to ustawienia związane z obsługą 
portu USB. Ponieważ wszystkie nowe drukar-
ki podłącza się przez ten właśnie port, kernel 
musi  zawierać  opcję  device  usb.  Jeżeli  nasz 
kontroler  USB  jest  zintegrowany  z  chipse-
tem  Intel,  powinniśmy  dodać  również  opcję 
device uhci. Dla producentów innych niż In-
tel będzie to device ohci. No dobrze, ale jak to 
sprawdzić?  Najprostszym  sposobem  jest  po-
służenie się poleceniem 

dmesg

 (np. 

dmesg  | 

grep uhub

). Na końcu dodajemy port drukar-

ki – device ulpt – i kompilujemy jądro z nowy-
mi  ustawieniami.  Kompilacja  może  przebie-
gać na kilka sposobów, jednak tradycyjnie po-
lega na przejściu do katalogu, w którym znaj-
duje się nowe jądro systemu i wydaniu pole-
cenia 

make  depend

 (buduje zależności), 

ma-

ke

 a następnie 

make install

 (buduje i insta-

luje gotowe jądro). Prostszym sposobem jest 
jednak  wykorzystanie  polecenia 

make  bu-

ildkernel

 

KERNCONF=NAZWA_KERNELA

.  Spo-

woduje to zbudowanie jądra, natomiast aby je 
zainstalować wydajemy polecenie 

make  in-

background image

12

wrzesień 2009

Dla początkujących

FreeBSD – chwila dla admina, cz. 2

13

www.lpmagazine.org

Dla początkujących

FreeBSD – chwila dla admina, cz. 2

stallkernel 

KERNCONF=NAZWA_KERNELA

Trudno przewidzieć, czy zmiana domyślnych 
parametrów okaże się niezbędna, jednak war-
to o niej pamiętać w razie pojawienia się pro-
blemów. Wiedza ta może pomóc w poszuki-
waniu ich źródła.

Teraz  należy  uruchomić  daemona  odpo-

wiedzialnego za obsługę portów USB. Robi-
my to poprzez edycję pliku /etc/rc.conf i do-
danie (jeżeli nie istnieje) linii 

usbd_enable-

="YES"

.  Dzięki  temu  drukarka  powinna  zo-

stać  wykryta,  jednak  aby  się  upewnić  warto 
sprawdzić listę urządzeń. Oczywiście nas in-
teresuje  ULPT,  np.  ulpt0.  Można  tego  doko-
nać wpisując w konsoli ls /dev/ulpt*. Polece-
nie to wyświetli wszystkie urządzania tego ty-
pu odnalezione przez jądro. Jeśli jednak oka-
że się, że drukarka nie została wykryta, należy 
samodzielnie stworzyć odpowiednie urządze-
nie  w  katalogu  /dev,  np.  ./MAKEDEV  ulpt0
Dobrą praktyką jest także przeglądanie komu-
nikatów jądra, ponieważ pozwala to niezwy-
kle precyzyjnie określić aktualny stan danego 
urządzenia. Nie jest to trudne, a dodatkowym 
ułatwieniem jest polecenie grep, które wyszu-
ka dla nas dowolny ciąg z wszystkich komuni-
katów. Jest to kolejny dowód na to, że świado-
mość tego, czego się szuka jest podstawą. W 
konsoli wydajemy polecenie 

dmesg  |  grep 

ulpt

. Jeśli drukarka została poprawnie wykry-

ta zobaczymy numer i nazwę urządzenia, np. 
ulpt0: HP Deskjet.

Kiedy drukarka jest już podłączona i po-

prawnie wykryta przez jądro systemu, nale-
ży zainstalować odpowiednie oprogramowa-
nie. W przypadku FreeBSD jest ono dostępne 
w portach i wystarczy je skompilować. Pod-
stawę stanowią trzy pakiety: cups (ang. Com-
mon UNIX Printing System
), ghostscript-gnu 
i  cups-lpr.  Pierwszy  z  nich  jest  nowocze-
snym systemem obsługującym takie urządze-
nia jak drukarki. To właśnie on wraz z pakie-
tem  cups-lpr  są  podstawą  do  prawidłowego 
funkcjonowania całego systemu druku. Gho-
stscript  natomiast  odpowiada  za  interpreto-
wanie plików PS (PostScript) oraz PDF (Por-
table Document Format). Dla drukarek firmy 
Hewlett-Packard  niezbędny  okaże  się  rów-
nież odpowiedni sterownik, który uzyskamy 
instalując pakiet hpijs (znajdujący się w por-
tach).  Wszystkie  z  wymienionych  pakietów 
znajdują się w katalogu /usr/ports/print. Pra-
widłowo zakończony proces instalacji pakie-
tu  CUPS,  powinien  zakończyć  się  utworze-
niem  pliku  /usr/local/etc/rc.d/cupsd.sh.sam-
ple
. Jego nazwę należy zmienić na cupsd.sh
dzięki czemu zyskamy właściwy plik konfi-
guracyjny. Teraz możemy już uruchomić da-
emona druku, np. poleceniem 

sh  cupsd.sh 

start

.  Od  tej  pory  CUPS  będzie  działał,  a 

nam nie pozostaje nic innego jak dodać naszą 
drukarkę. Zarówno dodanie nowego sprzętu 
jak i wprowadzanie jego ustawień odbywa się 
za pomocą panelu administracyjnego urucho-
mionego  w  przeglądarce  internetowej.  Aby 
go  uruchomić  wystarczy  wpisać  adres  http:
//127.0.0.1:631/admin/
  lub  http://localhost:
631/admin
. Aby dodać nową drukarkę klika-
my na Dodaj drukarkę (ang. Add printer) a 
następnie wypełniamy trzy pola: nazwa (ang. 
Name),  położenie  i  opis  (ang.  Description). 
Obowiązkowe jest podanie nazwy drukarki w 
pierwszym polu. Warto jednak zwrócić uwa-
gę, że powinna ona mieć możliwie najkrótszą 
postać, np. HP2280. Ostatnie pole jest prze-
znaczone  do  opisu  i  tam  można  dokładnie 
opisać nasz sprzęt. Po wskazaniu nazwy do-
dawanego sprzętu przechodzimy do kolejne-
go etapu, w którym wskażemy sposób podłą-
czenia urządzenie. Jeżeli dodawana drukarka 
została podłączona przez USB, odpowiednim 
wyborem  będzie  USB  Printer  #1.  W  przy-
padku  drukarki  Helwett-Packard  może  być 
to  również  opcja  APP/Socket  HP/JetDirect
Jako adres URI najczęściej podaje się lpd://
hostname/queue
, choć nie jest to regułą. Dal-
sza część konfiguracji ogranicza się jedynie 
do wyboru odpowiedniego modelu sprzętu i 
sterownika  (dla  HP  będzie  nim  wspomnia-
ny  wyżej  hpijs).  Nie  powinno  to  jednak  ni-
komu sprawić trudności. Jeżeli konfiguracja 
przebiegła pomyślnie – o czym powinniśmy 
zostać poinformowani – drukarka jest goto-
wa do pracy.

Aby  przetestować  drukarkę  korzystając 

z konsoli możemy wykorzystać program lpr. 
Wystarczy wpisać, np. lpr -P HP2280 /jakiś/
plik
. Podany identyfikator drukarki musi być 
tożsamy z nazwą podaną w panelu administra-
cyjnym  podczas  dodawania  sprzętu.  Równie 
prosty  w  obsłudze  jest  program  cupsdoprint, 
pozwalający  na  drukowanie  zarówno  tekstu 
jak i zdjęć. Zanim jednak skorzystamy z jego 
usług  należy  wyeksportować  drukarkę,  dzię-
ki czemu nie będzie konieczności jej każdora-
zowego wskazywania. Robimy to poleceniem 

export PRINTER=HP2280

. Teraz nie pozosta-

ło nam nic innego jak tylko wpisać w konso-
li 

cupsdoprint  /jakiś/plik

 i cieszyć oczy 

wydrukiem na papierze.

Drukarka jest niezaprzeczalnie jednym z 

najczęściej  wykorzystywanych  sprzętów  za-
równo w biurze jak i w domu. Poprawna kon-
figuracja pozwoli zaoszczędzić wiele czasu i 
nerwów, a w połączeniu z takim oprogramo-
waniem  jak  Samba  staje  się  potężnym  na-
rzędziem  wspomagającym  nas  w  codzien-
nej pracy.

Twój przyjaciel Cron

FreeBSD oferuje doskonały system o tajemni-
czej nazwie cron, którego celem jest cyklicz-
ne  wykonywanie  zadań,  uruchamianie  usług 
itp.  Zapewne  każdy  stanął  kiedyś  przed  dy-
lematem  uruchamiania  napisanego  skryptu  o 
konkretnej  godzinie,  danego  dnia,  miesiąca 
lub nawet dnia tygodnia. Wydawałoby się to 
niezwykle  skomplikowanym  zadaniem,  gdy-
by nie przyszedł z pomocą pakiet cron i jego 
daemon crond. To właśnie dzięki nim można 
dokładnie zaplanować wykonanie kopii zapa-
sowej, sprawdzenie statusu aktualizacji opro-
gramowania,  a  nawet  uruchomić  skrypt  ak-
tualizujący  kursy  walut.  Oczywiście  zadania 
te  zazwyczaj  wykonują  programy  zewnętrz-
ne. Warto jednak pamiętać, że bez odpowied-
niego daemona pracującego w tle robienie ko-
pii zapasowej danych, np. co pięć minut było-
by niezwykle uciążliwym zadaniem, ponieważ 
wiązałoby się to z nieustannym przebywaniem 
przed  komputerem  i  uruchamianiem  odpo-
wiedniego  oprogramowania.  Praca  z  plikami 
dynamicznie  zmieniającymi  swoją  zawartość 
jest dosyć powszechna, natomiast awaria sys-
temu może się zdarzyć w najbardziej nieocze-
kiwanym  momencie.  Co  wtedy  zrobić?  Naj-
prościej byłoby odtworzyć utracone dane, ale 
problem pojawia się jeśli ich nie posiadamy. 
Oczywiście  tworzenie  kopii  zapasowych  to 
jedynie jedno z wielu możliwych zastosować 
programu cron. Jego mocną stroną jest dosko-
nały mechanizm działania w tle, co nie zakłó-
ca pracy użytkownika.

Zasada  działania  tego  pakietu  jest  pro-

sta  i  opiera  się  na  okresowym  sprawdzaniu 
tzw.  plików-tabel  (crontab)  znajdujących  się 
w katalogu /var/spool/cron/crontabs oraz pli-
ku /etc/crontab. Zanim zaczniemy je dokład-
nie analizować warto zauważyć, że pliki w ka-
talogu  /var/spool/cron/crontabs  różnią  się  od 
pliku /etc/crontab nie tylko składnią ale też na-
zewnictwem. O ile nazwa tego drugiego jest 
stała, to nazwy poszczególnych plików z ka-
talogu  /var/spool/cron/crontabs  odpowiadają 
nazwom kont systemowych. To właśnie w tym 
katalogu znajdą się pliki zawierające konfigu-
racje poszczególnych użytkowników systemu. 
Ogromną zaletą crona jest automatyczna aktu-
alizacja stanu plików konfiguracyjnych, dzię-
ki czemu nie ma konieczności zatrzymywania 
i ponownego uruchamiania daemona. Co mi-
nutę program sprawdza, czy zmienił się czas 
modyfikacji każdego z plików i jeżeli wykryje 
różnice, natychmiast wczytuje jego zawartość. 
Choć mogłoby się wydawać, że odstęp jednej 
minuty jest zbyt długi, w rzeczywistości mi-
ja się to z prawdą. Gdyby częstotliwość uak-
tywniania się programu była większa, efektem 

background image

14

wrzesień 2009

Dla początkujących

FreeBSD – chwila dla admina, cz. 2

15

www.lpmagazine.org

Dla początkujących

FreeBSD – chwila dla admina, cz. 2

mogłoby  być  zbędne  zaśmiecanie  pamięci. 
Dlaczego  tabela  systemowa  /etc/crontab  nie 
ma takiej składni jak pliki crontab użytkowni-
ków? Wynika to z faktu, że zawiera ona dodat-
kowe informacje dla programu, natomiast ta-
bele użytkowników zawierają jedynie określe-
nie czasu i zadania do wykonania, co znacznie 
upraszcza pracę z programem i sprawia, że są 
one bardziej czytelne.

Właściwa  konfiguracja  może  przebiegać 

dwojako. Po pierwsze można umieścić polece-
nia do wykonania w pliku /etc/crontab, jednak 
najczęściej  każdemu  użytkownikowi  przypi-
suje się jego własny plik konfiguracyjny. Za-
pis poleceń programu cron jest nietypowy, jed-
nak już po kilku próbach konfiguracja staje się 
czytelna  i  przejrzysta.  Pojedyncze  polecenie 
składa się z sześciu pól, z których każde mu-
si zostać uwzględnione. Wyjątkiem jest tabe-
la zawarta w pliku /etc/crontab, gdzie do dys-
pozycji mamy siedem pól, ale o tym poniżej. 
Pierwsze dwie pozycje określają czas podawa-
ny jednak w odwrotnej kolejności, czyli na po-
czątku znajdują się minuty, a następnie godzi-
ny. Każda z kolejnych wartości musi być od-
dzielona spacją lub tabulatorem. Następnie na-
leży ustawić datę, a dokładniej dzień i miesiąc. 
Na koniec określamy dzień tygodnia. W tym 
miejscu  ważna  uwaga!  Cron  liczy  zaczyna-
jąc od zera, czyli to właśnie ono będzie ozna-
czało niedzielę, jedynka poniedziałek itd. Je-
śli chcemy podać kilka godzin, minut, dni itp. 
to należy wpisać kolejne wartości po przecin-
ku, np. 

00 12,13 01 10

. Zapis ten oznacza, 

że  program  uruchomi  polecenie  punktualnie 
o godzinie dwunastej i trzynastej pierwszego 
października. Aby polecenie było uruchamia-
ne codziennie pomiędzy, np. dziesiątym a pięt-
nastym dniem miesiąca używamy znaku myśl-
nika (

10-15

). Opisane tu opcje można stoso-

wać  do  wszystkich  wprowadzanych  warto-
ści. Nic nie stoi na przeszkodzie, aby urucho-
mić nasz skrypt jedynie w dni parzyste. Wy-
starczy w miejscu przeznaczonym na podanie 
dnia wpisać 

*/2

. Należy pamiętać, że nie wol-

no zostawiać żadnego pola pustego. Jeśli nie 
zależy  nam  na  konkretnej  wartości,  wpisuje-
my w to miejsce znak gwiazdki.

Podsumowując,  w  programie  wyróżnia-

my dwa rodzaje tabel: systemową składającą 
się  z  siedmiu  pól  oraz  poszczególnych  użyt-
kowników (sześć pól). Pierwsze dwie warto-
ści to określenie godziny, czyli minuty (

0-59

i godziny (

0-23

). Liczba mnoga została użyta 

celowo, ponieważ cron dopuszcza ustawienie 
kilku godzin. Następnie należy określić dzień 
(

1-31

), miesiąc (

1-12

) i dzień tygodnia (

0-6

), 

w którym mają zostać wykonane zadania. W 
przypadku  tabeli  użytkownika  kolejną  war-

tością  byłyby  właśnie  polecenia  do  wykona-
nia. W  odniesieniu  do  konfiguracji  globalnej 
są one poprzedzone określeniem praw z jaki-
mi mają zostać wykonane polecenia. Podawa-
nia nazwy użytkownika w tabelach użytkow-
ników mijałoby się z celem, ponieważ zada-
nia są automatycznie wykonywane z prawami 
właściciela danego konta.

Twórcy programu zadbali również o udo-

stępnienie możliwości stosowania w tabelach 
zmiennych  środowiskowych.  Pierwszą  jest 

SHELL

, dzięki której użytkownik może wybrać 

powłokę  jaka  będzie  używana  podczas  wy-
konywania poleceń, np. 

sh

 (domyślna), 

bash

 

itd. Aby wszystkie polecenia działały popraw-
nie, należy także ustawić odpowiednie ścieżki 
do  plików  wykonywalnych.  Przypisujemy  je 
do  zmiennej 

PATH

,  oddzielając  poszczególne 

ścieżki znakiem dwukropka. Jeśli chcemy, aby 
powiadomienia były wysyłane do konkretnego 
użytkownika lub na podany adres e-mail, wy-
starczy przypisać tą wartość do zmiennej 

MA-

ILTO

. Także na ten adres będą wysyłane infor-

macje  z  tzw.  standardowego  strumienia  błę-
dów. Dostępne są również takie zmienne jak: 

HOME

USER

LOGNAME

. Są one jednak wykorzy-

stywane nieco rzadziej.

Aby  ułatwić  pracę  z  cronem,  dokonano 

podziału  na  zadania  wykonywane  co  godzi-
nę,  codziennie,  raz  w  tygodniu  i  raz  w  mie-
siącu.  Utworzono  w  tym  celu  odpowiednie 
katalogi, których nazwy jednoznacznie wska-
zują  w  jakim  okresie  mają  zostać  wykonane 
skrypty.  Są  to  kolejno:  cron.hourly,  cron.da-
ily
cron.weekly i cron.monthly. W katalogach 
tych umieszcza się pliki z poleceniami do wy-
konania. Choć zasadniczo domyślna konfigu-
racja  nie  zezwala  użytkownikom  na  tworze-
nie  własnych  zadań  crona,  można  to  zmie-
nić.  Wystarczy  dopisać  danego  użytkownika 
do pliku cron.allow. Wygodnym sposobem na 
kontrolę i dodawanie zadań jest program cron-
tab. Posiada on opcję pozwalającą na szybkie 
wyświetlenie  listy  zdefiniowanych  poleceń 
(

-l

), a także na usuwanie ich (

-r

) i edycję pli-

ku konfiguracyjnego (

-e

) w celu dodania no-

wych  zadań.  Aby  móc  kontrolować  zadania 
użytkowników, root ma do dyspozycji dodat-
kową opcję 

-u

.

Cron jest niewielkim programem, jednak 

posiada  ogromny  potencjał  i  pozwala  na  ła-
twą  organizację  pracy.  Dzięki  niemu  zniknie 
problem zadań, które muszą być wykonywa-
ne niemalże rutynowo, np. kopie danych, a o 
których często się zapomina. Możliwość nie-
zwykle  precyzyjnego  ustawienia  czasu  i  cy-
kliczności  uruchamiania  skryptów  spowo-
dowały,  że  częstokroć  program  ten  okazu-
je się doskonałym rozwiązaniem. Odpowied-

nio skonfigurowany potrafi zaoszczędzić użyt-
kownikom wiele czasu i stać się ukrytym stró-
żem systemu.

Centralizacja administrowania

Administrowanie  siecią  komputerów,  np.  w 
szkole czy na uniwersytecie, które nie posia-
dają  centralnego  punktu  administracyjnego 
może być niezwykle uciążliwe i przysporzyć 
niekiedy  wiele  problemów.  Należy  zadbać, 
aby na każdym komputerze był zainstalowa-
ny ten sam system operacyjny wyposażony w 
te same ustawienia (hasła itp.). Dodawanie ko-
lejnych użytkowników wiąże się w takim wy-
padku z powtarzaniem tej czynności na każ-
dym  komputerze.  W  tym  momencie  nieoce-
niony okazuje się NIS/YP (ang. Network In-
formation Service
). Zastanówmy się, czym w 
ogóle  jest  NIS?  Uogólniając  jest  to  system, 
który  został  oparty  na  technologii  klient-ser-
wer i RPC. Dzięki takiemu rozwiązaniu kom-
putery  będące  w  tej  samej  domenie  co  NIS 
mogą współdzielić pomiędzy sobą ustawienia 
plików  konfiguracyjnych.  Po  skonfigurowa-
niu klienta systemu NIS, administrator może 
wprowadzać dowolne modyfikacje dla każde-
go komputera jednocześnie, korzystając przy 
tym wyłącznie z jednego stanowiska. Biorąc 
pod  uwagę  funkcjonalność,  system  NIS  jest 
podobny – ale nie tożsamy – do systemu do-
men Windows NT.

Przygotowanie systemu NIS do pracy we 

FreeBSD wiąże się z ustawieniem kilku para-
metrów i uruchomieniem niezbędnych proce-
sów.  Zanim  jednak  zajmiemy  się  ich  szcze-
gółowym  opisem,  zastanówmy  się  jak  może 
wyglądać  przykładowa  konfiguracja.  Przede 
wszystkim niezbędny będzie główny serwer o 
adresie np. x.x.x.1. Zaleca się także utworze-
nie zapasowego serwera NIS. Jego brak może 
niekiedy być powodem poważnych kłopotów 
z  całą  lokalną  siecią,  korzystającą  ze  współ-
dzielonych  plików  konfiguracyjnych  (przy-
kładowy  adres  to  x.x.x.2).  W  dalszej  kolej-
ności będą znajdowały się komputery klienc-
kie (np. x.x.x.3, x.x.x.4 itd.). Ważnym punk-
tem jest wybór odpowiedniej maszyny pełnią-
cej rolę serwera. Ponieważ w przypadku sys-
temu NIS istnieją niezwykle silne zależności 
pomiędzy  poprawnym  działaniem  połączeń 
klient-serwer,  komputer  funkcjonujący  w  ro-
li serwera powinien być zawsze dyspozycyj-
ny. Idealnym rozwiązaniem jest przeznaczenie 
oddzielnej maszyny, która będzie tę rolę speł-
niała. W sytuacji, kiedy klient nie będzie mógł 
połączyć się z serwerem aby pobrać potrzebne 
dane (np. informacje o użytkownikach i gru-
pach), najprawdopodobniej nastąpi zawiesze-
nie się systemu operacyjnego, co uniemożliwi 

background image

14

wrzesień 2009

Dla początkujących

FreeBSD – chwila dla admina, cz. 2

15

www.lpmagazine.org

Dla początkujących

FreeBSD – chwila dla admina, cz. 2

pracę na tym komputerze. Oczywiście jest wy-
mogiem, aby serwer NIS pracował na oddziel-
nym komputerze, jednak jedynie w ten sposób 
można mieć pewność, że będzie on zawsze do-
stępny dla maszyn działających w charakterze 
klientów.

Do  przechowywania  informacji  zosta-

ła stworzona specjalna baza danych, nazwa-
na  mapą  NIS. W  przypadku  FreeBSD  znaj-
duje  się  ona  w  katalogu  /var/yp/nazwa_do-
meny
.  Fakt  posługiwania  się  oddzielny-
mi  katalogami  dla  każdej  domeny  jest  nie-
zwykle  istotny,  ponieważ  umożliwia  jedne-
mu  serwerowi  obsługę  kilku  domen  jedno-
cześnie.  Należy  jednak  pamiętać,  że  każda 
grupa korzysta z niezależnej od pozostałych 
mapy  NIS.  Obsługą  przychodzących  zapy-
tań zajmuje się daemon ypserv, który tłuma-
czy domeny i nazwy map na konkretne ścież-
ki do plików konfiguracyjnych itp. Po wyko-
naniu tych czynności, również ypserv przesy-
ła odpowiednie dane do klientów jako odpo-
wiedzi na wcześniejsze zapytania. Poprawne 
działanie serwera NIS zależy od jego konfi-
guracji. Aby we FreeBSD ustawić serwer ja-
ko tzw. out-of-the-box należy zmodyfikować 
plik /etc/rc.conf. Na początku konieczne bę-
dzie ustalenie nazwy domenowej w konfigu-
racji sieci. Robimy to dodając linię 

nisdoma-

inname="lucas-domain"

. Teraz należy prze-

kazać systemowi operacyjnemu, aby urucho-
mił  serwer  NIS  (

nis_server_enable="Y-

ES"

). Oczywiście nastąpi to dopiero w trak-

cie  następnego  uruchamiania  sieci.  Ostat-
nia  zmienna  – 

nis_yppasswdd_enable="Y-

ES"

  –  zezwala  na  zmianę  haseł  użytkowni-

ków z dowolnego komputera będącego klien-
tem, poprzez uruchomienie daemona rpc.yp-
passwdd. Aby wprowadzone zmiany zostały 
wczytane, a system NIS/YP aktywowany, na-
leży wykonać polecenie 

/etc/netstart

 (ja-

ko root).

Kolejnym  krokiem  konfiguracji  serwera 

NIS,  jest  ustawienie  wspomnianych  już  baz 
danych, czyli map. Ich zawartość jest tworzo-
na na podstawie plików znajdujących się w ka-
talogu /etc głównego serwera. Wyjątkiem jest 
plik  /etc/master.passwd.  Dobrą  praktyką  jest 
odpowiednia  modyfikacja  tego  pliku,  ponie-
waż  uniemożliwia  to  dostęp  do  chronionych 
informacji,  np.  hasło  superużytkownika.  W 
tym celu kopiujemy plik do katalogu /var/yp, a 
następnie edytujemy. Po usunięciu wpisów do-
tyczących wszystkich kont, których nie chce-
my udostępniać klientom NIS (chociażby kon-
to roota), koniecznie trzeba nadać – za pomo-
cą polecenia chmod 600 – uprawnienia pozwa-
lające na odczyt pliku jedynie jego właścicie-
lowi. Zainicjowanie map odbywa się za pomo-

cą skryptu ypinit z opcją 

-m

 (ponieważ będą to 

mapy  dla  głównego  serwera)  i  nazwą  naszej 
domeny. Skrypt ten jest standardowo dostępny 
we FreeBSD, a jego obsługa ogranicza się do 
udzielenia odpowiedzi na kilka prostych pytań, 
np. czy ma on zostać zakończony, jeśli pojawią 
się błędy nie zakłócające jego pracy. Efektem 
końcowym będzie plik /var/yp/Makefile. Jeże-
li w danej domenie będzie pracował jeden ser-
wer,  to  należy  pozostawić  plik  Makefile  bez 
zmian,  natomiast  w  przypadku  dodatkowych 
serwerów konieczna będzie jego edycja i usu-
nięcie linii 

NOPUSH = "True"

O wiele mniej skomplikowana jest konfi-

guracja serwera zapasowego. Na początku na-
leży dokonać odpowiednich wpisów w pliku 
/etc/rc.conf, tak jak robiliśmy to w przypadku 
serwera głównego. Następnie należy urucho-
mić serwer ypinit z opcją 

-s

, nazwą głównego 

serwera  oraz  nazwą  domeny.  Udzielamy  od-
powiedzi na znane już z poprzedniej konfigu-
racji pytania i czekamy aż skrypt dokona od-
powiednich  ustawień.  Finalnie  powinien  po-
wstać katalog /var/yp/nazwa_domeny z kopią 
mapy NIS z głównego serwera. Aby zachować 
aktualność informacji zaleca się skorzystanie 
z opisanego powyżej programu Cron. W pliku 
/etc/crontab wpisujemy dwie linie, które będą 
dbać o aktualizowanie danych: 

58  11   *   *   *   root  /usr/
libexec/ypxfr passwd.byname 
59  11  *   *   *   root  /usr/
libexec/ypxfr passwd.byuid 

Aby uruchomić zapasowy serwer NIS należy 
wydać polecenie 

/etc/netstart

.

Mając  skonfigurowany  serwer  moż-

na  przystąpić  do  ustawiania  poszczególnych 
klientów. Należy przy tym pamiętać, że połą-
czenia klientów NIS są ustanawiane za pomo-
cą daemona ypbind. Jego zadaniem jest spraw-
dzenie nazwy domeny, a następnie rozgłasza-
nie w sieci lokalnej zapytań RPC do momentu 
otrzymania odpowiedzi ze strony serwera. Co 
pewien czas ypbind będzie sprawdzał, czy ser-
wer jest aktywny. Jeśli wynik będzie negatyw-
ny, rozpocznie rozgłaszanie RPC i będzie cze-
kał na odzew ze strony serwera.

Konfiguracja  klienta  NIS  zdecydowa-

nie  nie  należy  do  skomplikowanych.  Opie-
ra się głównie na edycji i uzupełnieniu pliku 
/etc/rc.conf  oraz  zaimportowaniu  odpowied-
nich danych. Aby całość mogła działać, nale-
ży w pliku rc.conf zamieścić wpis z nazwą do-
meny – 

nisdomainname="nazwa_domeny"

 – a 

następnie zapis wskazujący na udostępnienie 
usługi NIS, czyli 

nis_client_enable="YES"

Ponowne uruchomienie spowoduje wczytanie 

ustawień.  Ostatnim  krokiem  podstawowej 
konfiguracji  jest  importowanie  użytkowni-
ków z serwera NIS, a następnie wpisów doty-
czących grup użytkowników. Dodajemy linię 

+:::::::::

 do pliku /etc/master.passwd (ko-

rzystamy z vipw), a następnie 

+:*::

 do pliku 

/etc/group. Jeżeli wszystko przebiegło bez błę-
dów, można przetestować klienta wpisując po-
lecenie 

ypcat passwd

. Naszym oczom powin-

ny ukazać się wszystkie zaimportowane hasła 
z serwera NIS. Nie pozostało nic innego jak 
cieszyć się wygodnym administrowaniem lo-
kalną siecią.

Podsumowanie

Choć  początkowo  niektóre  zaprezentowa-
ne  techniki  mogą  wyglądać  przerażająco, 
nie należy ich unikać. To właśnie dzięki tym 
metodom i przedstawionemu oprogramowa-
niu każdy może sprawić, aby jego praca sta-
ła się nie tylko lżejsza, ale także przyjemniej-
sza. Mniej czasu poświęconego na wprowa-
dzanie  ustawień  dla  poszczególnych  kom-
puterów lokalnej sieci oznacza jednocześnie 
więcej  czasu,  który  może  zostać  poświęco-
ny na dopracowanie zabezpieczeń i likwida-
cję rozmaitych luk. Jeśli dodatkowo zostanie 
zastosowane  oprogramowania  przeznaczo-
ne do współdzielenia zasobów, które zdecy-
dowanie wpływa korzystnie na efektywność 
pracy  społeczności  sieci,  z  całą  pewnością 
efektywność  pracy  wzrośnie.  Z  kolei  dzięki 
usługom  oferowanym  przez  program  Cron, 
nie trzeba nieustannie zaprzątać własnej pa-
mięci terminami uruchamiania usług i skryp-
tów. Jest to ogromna zaleta i zapewne doce-
ni ją każdy obecny i przyszły administrator. 
Warto korzystać z dostępnego, a w dodatku 
darmowego  oprogramowania  mającego  na 
celu uczynić pracę łatwiejszą. To właśnie w 
tym celu zostało ono stworzone, aby poma-
gać a nie przerażać. Warto też zajrzeć na stro-
ny domowe omówionych w artykule projek-
tów, ponieważ znajduje się tam wiele szcze-
gółowych  wskazówek  i  omówień,  na  któ-
re nie udało się wygospodarować miejsca w 
tekście. A zatem drogi Adminie nie czekaj i 
spraw, by praca była przyjemnością! 

Autor  jest  dziennikarzem,  którego  pasją 
stało  się  programowanie  (C/C++,  Java, 
Pascal, Qt, Gtk+) oraz systemy spod zna-
ku pingwina (Slackware, Debian).
Kontakt z autorem: 
lucas.ciesielski@gmail.com

O autorze