Dla początkujących
FreeBSD chwila dla admina, cz. 2
FreeBSD chwila
dla admina, cz. 2
Aukasz Ciesielski
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.
a początku zajmiemy się zagadnieniem śle określonym czasie w artykule został zaprezentowa-
często pomijanym, lecz niesłychanie istot- ny sposób konfiguracji jednego z najlepszych pakietów te-
nym, czyli uruchamianiem w systemie Fre- go typu, czyli Cron. Jego zalety zostały także wykorzy-
NeBSD oprogramowania stworzonego dla stane w ostatnim zagadnieniu omówionym na końcu, któ-
Linuksa. Choć problem wydaje się błahy, w rzeczywisto- rym jest współdzielenie plików konfiguracyjnych. Czyż
ści jest niezwykle istotny, ponieważ niekiedy zachodzi po- ustawianie każdego komputera w sieci z jednego stano-
trzeba importowania oprogramowania dedykowanego dla wiska nie jest luksusem? Oczywiście, że jest i wie o tym
systemu Linux. każdy administrator. Jeżeli nie, to zapraszam do pozna-
Mając już zainstalowane ulubione oprogramowanie, nia przedstawionych technik upraszczania tego, co wy-
przejdziemy do pakietu Samba. Oferuje on ogromne moż- daje się żmudne i skomplikowane, choć wcale takim być
liwości i zdecydowanie ułatwia współpracę, pomiędzy nie musi.
kilkoma komputerami. To właśnie dzięki niemu użytkow-
nicy sieci lokalnej (np. pracownicy firmy) mogą współ- Znów ten Linux!
dzielić nie tylko pliki, ale również sprzęt biurowy taki jak To nieprawdopodobne, ale nawet korzystając z systemu
drukarki. Aby jednak odpowiednio skonfigurować całość BSD może się zdarzyć sytuacja, w której będziemy zmu-
prześledzimy także wzorcowy proces instalacji drukarki szeni do korzystania z aplikacji stworzonej z myślą o Li-
i odpowiedniego oprogramowania. Kilka prostych zabie- nuksie. Choć wydaje się to nonsensem, niestety jest praw-
gów zakończy problemy małych sieci. dą. Podstawowym nasuwającym się pytaniem jest Dla-
Ponieważ jednym z największych utrapień każdego czego aplikacje nie są tworzone równolegle dla Linuksa i
administratora jest konieczność pamiętania o aktualiza- BSD? Odpowiedz jest prosta i wydawałoby się, że oczy-
cjach systemów, tworzeniu bieżących kopii zapasowych, wista. Otóż firmy tworzące oprogramowanie bardzo czę-
czy uruchamianiu określonych usług częstokroć w ści- sto nie zdają sobie sprawy jak często ich wyroby są wyko-
wrzesień 2009
10
linux@software.com.pl
Dla początkujących
FreeBSD chwila dla admina, cz. 2
rzystywane w systemach z rodziny BSD. Dla do katalogu, w którym znajdują się zródła (tu sprawić, aby poszczególni użytkownicy mogli
większości z nich nawet tworzenie klonów jest nim /usr/ports/emulators/linux_base), a bez problemu dzielić się plikami i współdzie-
aplikacji przeznaczonych wcześniej dla sys- następnie wydać polecenia make install lić urządzenia jak chociażby drukarki, czy ska-
temu Microsoft Windows i przekompilowa- distclean. Po zakończonej kompilacji i insta- nery? Bez dodatkowego oprogramowania by-
nych tak aby działały w systemach Linux jest lacji linuksowe aplikacje zaczną działać. Jeśli łoby to niezwykle trudne zadanie. W takich sy-
zabiegiem raczej świeżym. Niekiedy komplet- tak się nie stanie, a system nadal będzie zgła- tuacjach z pomocą przychodzi Samba. To wła-
nie zapomniano o takich systemach jak Fre- szał niespełnione zależności, można to w pro- śnie dzięki niej możliwe jest dzielenie się za-
eBSD, NetBSD itd. choć są one powszechnie sty sposób naprawić. Niezbędny będzie sys- równo systemem plików jak i podłączonymi
wykorzystywane. W niektórych przypadkach tem Linux, ponieważ to właśnie z niego zosta- urządzeniami. Jak to możliwe? Otóż syste-
uznano, że skoro poszczególne gałęzie rodzi- ną skopiowane wymagane przez program bi- my takie jak wspomniany już Microsoft Win-
ny BSD nadają się najlepiej np. na serwery to blioteki. Pierwszą czynnością jest sprawdzenie dows i OS/2 wykorzystują do sieciowej ko-
nie warto tworzyć dla nich oddzielnej wersji zależności dla danego programu, z których ko- munikacji zachodzącej pomiędzy serwerami
oprogramowania (multimedia, grafika), ponie- rzysta w systemie Linux. Wystarczy w konso- i klientami protokół SMB (ang. Server Mes-
waż nie będzie ono wykorzystywane. W takich li wydać polecenie ldd /usr/bin/htop (dla sageBlock). Samba jest zbiorem aplikacji, któ-
sytuacjach skupiono się całkowicie na pakie- programu htop). W efekcie zostaną wyświe- re nie tylko rozumieją ten protokół, ale potra-
tach przeznaczonych dla systemów Linux. Co tlone wszystkie biblioteki wykorzystywane fią z niego sprawnie korzystać. Dzięki takiemu
zaskakujące po uruchomieniu niektórych apli- przez niego podczas pracy. Teraz wystarczy podejściu serwery stworzone na BSD czy Li-
kacji tworzonych dla Linuksa w systemie Fre- je skopiować, przenieść do FreeBSD i umie- nuksie korzystają z tego samego protokołu co
eBSD, okazało się że część z nich działa sta- ścić w katalogu /compat/linux. Ważne jest, aby serwery Microsoft Windows. Fakt ten wiąże
bilniej i wydajniej niż w pierwotnym środowi- wewnętrzna struktura tego katalogu odpowia- się z możliwością naśladowania, a właściwie
sku. W dużej mierze zależy to oczywiście od dała strukturze z systemu Linux. Choć brzmi podszywania się systemu BSD z zainstalowa-
posiadanego sprzętu i stopnia w jakim jest on to skomplikowanie w rzeczywistości takie nie nym pakietem Samby pod serwer w sieci Win-
obsługiwany przez dany system. jest. Jeśli biblioteka wymagana przez htop, dows. Oferuje to użytkownikom wiele możli-
Aby móc korzystać we FreeBSD z pa- np. libncurses.so.5 znajdowała się w katalogu wości i udogodnień. Najważniejszą jest oczy-
kietów binarnych stworzonych dla systemu /lib/libncurses.so.5, to po przeniesieniu jej do wiście możliwość współdzielenia plików po-
Linux, należy najpierw uruchomić tą usłu- systemu FreeBSD powinna znajdować się w między komputerami z zainstalowanymi róż-
gę. Kompatybilność linuksowych plików bi- /compat/linux/lib/libncurses.so.5. nymi systemami operacyjnymi. Drugą ważną
narnych nie jest domyślnie włączona. Jeżeli Dzięki kilku prostym zabiegom FreeBSD usługą jest współdzielenie podłączonych do
nie uruchomiliśmy jej na poziomie instalacji, umożliwia korzystanie z oprogramowania do- serwera i poszczególnych klientów drukarek.
można bez problemu zrobić to wykorzystując stępnego dla systemów z rodziny Linuksa, ta- To jednak nie wszystko! Dzięki Sambie użyt-
KLD (ang. Kernel LoaDable object), czy ładu- kich jak np. Matlab, Mathematica, Oracle czy kownicy mogą nie tylko przeglądać otoczenie
jąc odpowiedni moduł jądra. W naszym przy- htop. Może wydawać się nieco nienaturalnym sieciowe, ale także w przypadku logujących
padku jest to moduł linux. Aby można było zabiegiem korzystanie z binariów Linuksa we się do domeny Windows zostać automatycz-
wykonać taką operację konieczne są upraw- FreeBSD. Czasem jednak nie ma innej moż- nie uwierzytelnieni. Zdecydowanie usprawnia
nienia superużytkownika. Teraz wystarczy w liwości lub metoda ta jest po prostu szybsza. to proces współpracy użytkowników zarówno
konsoli wpisać polecenie kldload linux. Jak Emulowanie takiego oprogramowania w za- w małych jak i dużych sieciach lokalnych.
nietrudno się domyśleć spowoduje to włącze- łożeniach jest podobne do korzystania z ma- Najważniejszymi składnikami pakietu
nie kompatybilności jedynie na czas danej se- szyn wirtualnych, a przecież nikt tego nie ne- Samba są daemony: smbd oraz nmbd. Pierw-
sji. Po ponownym uruchomieniu systemu oka- guje i nie potępia. Kolejnym powodem, który szy z wymienionych jest odpowiedzialny za
że się, że zabieg ten należy powtórzyć. Istnie- utwierdza w przekonaniu, że nie zawsze war- współdzielenie plików i drukarek. Do jego
je jednak możliwość włączenia tego modu- to rezygnować z możliwości jakie daje kom- zadań należy także uwierzytelnianie klien-
łu na stałe. W tym celu wystarczy edytować patybilność aplikacji linuksowych z systema- tów protokołu SMB. Należy jednak pamiętać,
plik /etc/rc.conf i jeżeli taka nie istnieje z pa- mi BSD jest niekiedy stopień zaawansowania że Samba świadczy także usługi WINS (ang.
rametrem NO dodać linijkę linux_enable- danego projektu. Może się bowiem okazać, Windows Internet Name Service), czyli tłuma-
= YES . W celu sprawdzenia, czy moduł zo- że program przeznaczony dla Linuksa jest w czenie nazw komputerów na adresy interneto-
stał poprawnie załadowany można posłużyć nowszej wersji niż jego odpowiednik dla BSD. we. Dzięki temu użytkownik nie musi znać ad-
się poleceniem kldstat. W wyniku powi- Wiąże się to nie tylko z dodatkową funkcjonal- resu IP komputera z którym chce nawiązać po-
nien zostać wyświetlony plik linux.ko. Niekie- nością takiego pakietu, ale także z większym łączenie. Wystarczy, że poda jego nazwę, np.
dy może się zdarzyć, że z niewiadomych przy- bezpieczeństwem i stabilnością. kierownik, a daemon nmbd automatycznie
czyn kompatybilność nie zostanie uruchomio- przetłumaczy ją na odpowiedni adres IP. Jest
na. Należy wtedy ponownie skompilować ją- Samba to niezwykle istotne, gdyż w znaczącym stop-
dro systemu dodając do pliku konfiguracyjne- W sieciach biurowych korzystanie z tych sa- niu ułatwia pracę.
go opcję options COMPAT_LINUX. mych sprzętów przez użytkowników pracują- Instalacja Samby we FreeBSD nie po-
Uruchomienie oprogramowania tworzo- cych na wielu komputerach jest codziennością. winna przysporzyć trudności. Pierwszą me-
nego dla systemu Linux zakończy się niepo- Stworzenie sprawnie działającej sieci jest nie- todą jest oczywiście możliwość skorzysta-
wodzeniem, jeżeli nie zostaną zainstalowane kiedy sporym wyzwaniem. Wyobrazmy sobie nia z gotowej paczki binarnej. Instalujemy ją
odpowiednie biblioteki spełniające wszystkie jednak, że na każdym komputerze został za- wydając jako root polecenie pkg_add -r
zależności. Najprostszą metodą jest instalacja instalowany inny system operacyjny, np. Mi- -v samba. Plik zostanie automatycznie pobra-
za pomocą drzewa portów. Wystarczy przejść crosoft Windows, BSD i Linux. W jaki sposób ny i zainstalowany w systemie. Druga metoda
www.lpmagazine.org 11
Dla początkujących
FreeBSD chwila dla admina, cz. 2
to oczywiście instalacja z portów. W tym celu czy ustawić zmienną guest account przy- Samba jest doskonałym oprogramowa-
wystarczy przejść do katalogu /usr/ports/net/ pisując jej odpowiednie wartości. Wiąże się niem, które w wielu sytuacjach pozwala na
samba i wydać polecenie make install cle- z tym również opcja security, która powin- usprawnienie współpracy pomiędzy poszcze-
an. Zanim jednak będzie możliwe korzystanie na mieć jedną z dwóch postaci: security = gólnymi użytkownikami, co z kolei wpływa
z Samby, należy ją odpowiednio skonfiguro- share lub security = user. Pierwszy pa- na efektywność ich pracy. Warto zapoznać się
wać. Na początku konieczna będzie zmiana rametr zabezpiecza dostęp na poziomie zaso- z oryginalną dokumentacją, ponieważ jedynie
nazw dwóch plików: smb.conf.sample i sam- bów, natomiast drugi ze wspomnianych na po- w ten sposób będziemy mogli w pełni wyko-
ba.sh.sample. Pierwszy z nich powinien mieć ziomie użytkownika. Dostępne jest także po- rzystać potencjał tkwiący w Sambie. Znajduje
postać /usr/local/etc/smb.conf, natomiast drugi lecenie security = server działające na po- się tam również wiele dodatkowych opcji, któ-
/usr/local/etc/rc.d/samba.sh. Plik smb.conf za- ziomie serwera. rych omówienie w znacznym stopniu wykra-
wiera szczegółową konfigurację pakietu Sam- Ostatnim krokiem jest przypisanie od- cza poza ramy tego tekstu.
ba. To właśnie on odpowiada za prawidłowe powiednich ustawień poszczególnym udzia-
funkcjonowanie programu. Aby uruchomić łom. Nie ma idealnej receptury, ponieważ za- Drukarki i bohomazy
Sambę można wykorzystać plik inetd.conf, leżą one w dużej mierze od indywidualnych Jak wiadomo najwięcej problemów pojawia
jednak znacznie wygodniejszą i prostszą me- wymagań użytkownika. Warto jednak wspo- się zawsze na etapie konfigurowania sprzę-
todą jest wykorzystanie skryptu samba.sh i da- mnieć, że charakterystyki udziału dokonuje tu. Ponieważ najczęściej wykorzystywanym
emonów. W tym celu należy wydać polece- się dzięki kilku zmiennym. Zanim jednak do są właśnie drukarki, zajmiemy się teraz ich
nia smbd start i nmbd start. W dowolnej nich przejdziemy sprawdzmy jakie przydziały ustawieniami i przygotowaniem do popraw-
chwili użytkownik może zatrzymać działanie mają znajdować się w pliku konfiguracyjnym. nej pracy. Prześledzimy proces konfiguracyj-
Samby poleceniem /usr/local/etc/rc.d/ Z całą pewnością będą to takie udziały jak ho- ny od początku, ponieważ umożliwi to każ-
samba.sh stop, lub wywołać jej przełado- mes (katalogi domowe), printers (dukarki), demu zdiagnozowanie ewentualnych proble-
wanie poleceniem /usr/local/etc/rc.d/ cdrom, netlogon (skrypty logowania) i public. mów, a dokładniej miejsca, w którym wystę-
samba.sh restart. Oczywiście nie są to wszystkie możliwości, a pują. Na początek koniecznie należy spraw-
Sercem pakietu Samba jest plik konfigu- jedynie te, które są najczęściej wykorzystywa- dzić, czy wszystko jest poprawnie podłączo-
racyjny smb.conf. W jaki sposób poprawnie go ne. Aby możliwe było szybkie rozpoznawanie, ne: kable, zasilacz itd. Choć wydaje się, że to
skonfigurować? Otóż najistotniejszą sprawą każdy udział zawiera zmienną comment zawie- błahostka może przysporzyć wielu kłopotów,
jest dokładne zaplanowanie charakteru sieci, rającą komentarz. Jeżeli mamy już opis war- a najważniejszym jest błąd konfiguracji. W ta-
stopnia zabezpieczeń, zebranie niezbędnych to określić, czy dany udział ma być widocz- kim wypadku niepotrzebnie stracimy czas i nie
informacji, a na końcu wyposażenie pliku w ny dla wszystkich. W tym celu ustawiamy uda się poprawnie ustawić sprzętu. Po dokład-
odpowiednie wpisy. Prace nad konfiguracją odpowiednio wartość yes lub no dla zmien- nych oględzinach i włączeniu drukarki, można
zaczynamy od ustawienia trzech zmiennych o nej browseable. Niezwykle ważnym punk- przejść do dalszych działań. Na początek za-
charakterze globalnym. Pierwsza pozwala na tem jest określenie możliwości zapisu i odczy- leca się niewielką przebudowę jądra systemo-
określenie grupy roboczej w naszej sieci. Je- tu danego udziału. Jeśli zależy nam, aby był wego, lecz w przypadku jego nowych wersji
żeli nie ma, to należy dopisać nazwę zmien- on tylko do odczytu ustawiamy zmienną read nie jest to konieczne. Dla całościowego przed-
nej, czyli workgroup i przypisać do niej grupę. only. Jest to parametr stosowany zamiennie z stawienia tego zagadnienia sprawdzmy co po-
Warto zwrócić uwagę, że przypisanie wartości writeable, który zezwala na zapis kiedy zo- winno znalezć się w systemowym jądrze. Za-
następuje zawsze po znaku równości. Następ- stanie mu przypisana wartość yes. O ile brow- sadniczo są to ustawienia związane z obsługą
nie należy ustawić nazwę NetBIOS-u, czyli seable sprawia, że udział staje się widoczny portu USB. Ponieważ wszystkie nowe drukar-
nazwę pod którą będzie widoczny serwer np. dla wszystkich, funkcja guest ok powoduje, że ki podłącza się przez ten właśnie port, kernel
w Otoczeniu Sieciowym zmienna netbios jest on dla wszystkich dostępny. Jeżeli zależy musi zawierać opcję device usb. Jeżeli nasz
name. Dla uproszczenia można także dodać nam na bezpieczeństwie należy przemyśleć kontroler USB jest zintegrowany z chipse-
komentarz opisujący dany komputer. W przy- zastosowanie tych opcji, ponieważ zle użyte tem Intel, powinniśmy dodać również opcję
padku rozbudowanych sieci zabieg ten potrafi mogą stać się luką wykorzystaną przez osoby device uhci. Dla producentów innych niż In-
znacznie ułatwić pracę. nieuprawnione. Właśnie dlatego warto niekie- tel będzie to device ohci. No dobrze, ale jak to
Jeżeli pragniemy, aby nasze dane były do- dy przypisać listę konkretnych użytkowników, sprawdzić? Najprostszym sposobem jest po-
brze chronione, to właśnie dzięki wykorzysta- którzy będą mieli dostęp do danych. Można służenie się poleceniem dmesg (np. dmesg |
niu tego pliku w prosty sposób można określić, to osiągnąć w prosty sposób, przypisując li- grep uhub). Na końcu dodajemy port drukar-
który host będzie mógł korzystać z zasobów, stę osób do zmiennej valid users. Aby wy- ki device ulpt i kompilujemy jądro z nowy-
a który nigdy nie zostanie do nich dopuszczo- branym użytkownikom lub grupom dać prawo mi ustawieniami. Kompilacja może przebie-
ny. Można wykorzystać do tego zmienne ho- do zapisu w obrębie danego udziału, wystar- gać na kilka sposobów, jednak tradycyjnie po-
sts allow i host deny. Pierwsza z nich okre- czy dodać ich nazwy (zapisując po przecinku) lega na przejściu do katalogu, w którym znaj-
śla grupę, która będzie mogła korzystać z udo- do write list. W ten prosty sposób można duje się nowe jądro systemu i wydaniu pole-
stępnionych zasobów. Druga zmienna to nic uzyskać pewien stopień bezpieczeństwa. Nie cenia make depend (buduje zależności), ma-
innego, jak nazwy hostów bez uprawnień do oznacza to jednak, że nie można zrobić nicze- ke a następnie make install (buduje i insta-
łączenia się z Sambą. Jest to rodzaj czarnej li- go więcej. Wręcz przeciwnie, wystarczy zain- luje gotowe jądro). Prostszym sposobem jest
sty, na której znajduje się każdy niechciany teresować się nakładaniem odpowiednich ma- jednak wykorzystanie polecenia make bu-
host, np. host deny = xxx.xxx.xxx.xxx. sek na nowo tworzone pliki i katalogi (create ildkernel KERNCONF=NAZWA_KERNELA. Spo-
Oczywiście istnieje także możliwość udostęp- mode, directory mode) oraz zapoznać się z woduje to zbudowanie jądra, natomiast aby je
nienia zasobów dla tzw. konta gościa. Wystar- plikiem haseł Samby (smbpasswd). zainstalować wydajemy polecenie make in-
wrzesień 2009
12
Dla początkujących
FreeBSD chwila dla admina, cz. 2
stallkernel KERNCONF=NAZWA_KERNELA. start. Od tej pory CUPS będzie działał, a Twój przyjaciel Cron
Trudno przewidzieć, czy zmiana domyślnych nam nie pozostaje nic innego jak dodać naszą FreeBSD oferuje doskonały system o tajemni-
parametrów okaże się niezbędna, jednak war- drukarkę. Zarówno dodanie nowego sprzętu czej nazwie cron, którego celem jest cyklicz-
to o niej pamiętać w razie pojawienia się pro- jak i wprowadzanie jego ustawień odbywa się ne wykonywanie zadań, uruchamianie usług
blemów. Wiedza ta może pomóc w poszuki- za pomocą panelu administracyjnego urucho- itp. Zapewne każdy stanął kiedyś przed dy-
waniu ich zródła. mionego w przeglądarce internetowej. Aby lematem uruchamiania napisanego skryptu o
Teraz należy uruchomić daemona odpo- go uruchomić wystarczy wpisać adres http: konkretnej godzinie, danego dnia, miesiąca
wiedzialnego za obsługę portów USB. Robi- //127.0.0.1:631/admin/ lub http://localhost: lub nawet dnia tygodnia. Wydawałoby się to
my to poprzez edycję pliku /etc/rc.conf i do- 631/admin. Aby dodać nową drukarkę klika- niezwykle skomplikowanym zadaniem, gdy-
danie (jeżeli nie istnieje) linii usbd_enable- my na Dodaj drukarkę (ang. Add printer) a by nie przyszedł z pomocą pakiet cron i jego
="YES". Dzięki temu drukarka powinna zo- następnie wypełniamy trzy pola: nazwa (ang. daemon crond. To właśnie dzięki nim można
stać wykryta, jednak aby się upewnić warto Name), położenie i opis (ang. Description). dokładnie zaplanować wykonanie kopii zapa-
sprawdzić listę urządzeń. Oczywiście nas in- Obowiązkowe jest podanie nazwy drukarki w sowej, sprawdzenie statusu aktualizacji opro-
teresuje ULPT, np. ulpt0. Można tego doko- pierwszym polu. Warto jednak zwrócić uwa- gramowania, a nawet uruchomić skrypt ak-
nać wpisując w konsoli ls /dev/ulpt*. Polece- gę, że powinna ona mieć możliwie najkrótszą tualizujący kursy walut. Oczywiście zadania
nie to wyświetli wszystkie urządzania tego ty- postać, np. HP2280. Ostatnie pole jest prze- te zazwyczaj wykonują programy zewnętrz-
pu odnalezione przez jądro. Jeśli jednak oka- znaczone do opisu i tam można dokładnie ne. Warto jednak pamiętać, że bez odpowied-
że się, że drukarka nie została wykryta, należy opisać nasz sprzęt. Po wskazaniu nazwy do- niego daemona pracującego w tle robienie ko-
samodzielnie stworzyć odpowiednie urządze- dawanego sprzętu przechodzimy do kolejne- pii zapasowej danych, np. co pięć minut było-
nie w katalogu /dev, np. ./MAKEDEV ulpt0. go etapu, w którym wskażemy sposób podłą- by niezwykle uciążliwym zadaniem, ponieważ
Dobrą praktyką jest także przeglądanie komu- czenia urządzenie. Jeżeli dodawana drukarka wiązałoby się to z nieustannym przebywaniem
nikatów jądra, ponieważ pozwala to niezwy- została podłączona przez USB, odpowiednim przed komputerem i uruchamianiem odpo-
kle precyzyjnie określić aktualny stan danego wyborem będzie USB Printer #1. W przy- wiedniego oprogramowania. Praca z plikami
urządzenia. Nie jest to trudne, a dodatkowym padku drukarki Helwett-Packard może być dynamicznie zmieniającymi swoją zawartość
ułatwieniem jest polecenie grep, które wyszu- to również opcja APP/Socket HP/JetDirect. jest dosyć powszechna, natomiast awaria sys-
ka dla nas dowolny ciąg z wszystkich komuni- Jako adres URI najczęściej podaje się lpd:// temu może się zdarzyć w najbardziej nieocze-
katów. Jest to kolejny dowód na to, że świado- hostname/queue, choć nie jest to regułą. Dal- kiwanym momencie. Co wtedy zrobić? Naj-
mość tego, czego się szuka jest podstawą. W sza część konfiguracji ogranicza się jedynie prościej byłoby odtworzyć utracone dane, ale
konsoli wydajemy polecenie dmesg | grep do wyboru odpowiedniego modelu sprzętu i problem pojawia się jeśli ich nie posiadamy.
ulpt. Jeśli drukarka została poprawnie wykry- sterownika (dla HP będzie nim wspomnia- Oczywiście tworzenie kopii zapasowych to
ta zobaczymy numer i nazwę urządzenia, np. ny wyżej hpijs). Nie powinno to jednak ni- jedynie jedno z wielu możliwych zastosować
ulpt0: HP Deskjet. komu sprawić trudności. Jeżeli konfiguracja programu cron. Jego mocną stroną jest dosko-
Kiedy drukarka jest już podłączona i po- przebiegła pomyślnie o czym powinniśmy nały mechanizm działania w tle, co nie zakłó-
prawnie wykryta przez jądro systemu, nale- zostać poinformowani drukarka jest goto- ca pracy użytkownika.
ży zainstalować odpowiednie oprogramowa- wa do pracy. Zasada działania tego pakietu jest pro-
nie. W przypadku FreeBSD jest ono dostępne Aby przetestować drukarkę korzystając sta i opiera się na okresowym sprawdzaniu
w portach i wystarczy je skompilować. Pod- z konsoli możemy wykorzystać program lpr. tzw. plików-tabel (crontab) znajdujących się
stawę stanowią trzy pakiety: cups (ang. Com- Wystarczy wpisać, np. lpr -P HP2280 /jakiś/ w katalogu /var/spool/cron/crontabs oraz pli-
mon UNIX Printing System), ghostscript-gnu plik. Podany identyfikator drukarki musi być ku /etc/crontab. Zanim zaczniemy je dokład-
i cups-lpr. Pierwszy z nich jest nowocze- tożsamy z nazwą podaną w panelu administra- nie analizować warto zauważyć, że pliki w ka-
snym systemem obsługującym takie urządze- cyjnym podczas dodawania sprzętu. Równie talogu /var/spool/cron/crontabs różnią się od
nia jak drukarki. To właśnie on wraz z pakie- prosty w obsłudze jest program cupsdoprint, pliku /etc/crontab nie tylko składnią ale też na-
tem cups-lpr są podstawą do prawidłowego pozwalający na drukowanie zarówno tekstu zewnictwem. O ile nazwa tego drugiego jest
funkcjonowania całego systemu druku. Gho- jak i zdjęć. Zanim jednak skorzystamy z jego stała, to nazwy poszczególnych plików z ka-
stscript natomiast odpowiada za interpreto- usług należy wyeksportować drukarkę, dzię- talogu /var/spool/cron/crontabs odpowiadają
wanie plików PS (PostScript) oraz PDF (Por- ki czemu nie będzie konieczności jej każdora- nazwom kont systemowych. To właśnie w tym
table Document Format). Dla drukarek firmy zowego wskazywania. Robimy to poleceniem katalogu znajdą się pliki zawierające konfigu-
Hewlett-Packard niezbędny okaże się rów- export PRINTER=HP2280. Teraz nie pozosta- racje poszczególnych użytkowników systemu.
nież odpowiedni sterownik, który uzyskamy ło nam nic innego jak tylko wpisać w konso- Ogromną zaletą crona jest automatyczna aktu-
instalując pakiet hpijs (znajdujący się w por- li cupsdoprint /jakiś/plik i cieszyć oczy alizacja stanu plików konfiguracyjnych, dzię-
tach). Wszystkie z wymienionych pakietów wydrukiem na papierze. ki czemu nie ma konieczności zatrzymywania
znajdują się w katalogu /usr/ports/print. Pra- Drukarka jest niezaprzeczalnie jednym z i ponownego uruchamiania daemona. Co mi-
widłowo zakończony proces instalacji pakie- najczęściej wykorzystywanych sprzętów za- nutę program sprawdza, czy zmienił się czas
tu CUPS, powinien zakończyć się utworze- równo w biurze jak i w domu. Poprawna kon- modyfikacji każdego z plików i jeżeli wykryje
niem pliku /usr/local/etc/rc.d/cupsd.sh.sam- figuracja pozwoli zaoszczędzić wiele czasu i różnice, natychmiast wczytuje jego zawartość.
ple. Jego nazwę należy zmienić na cupsd.sh, nerwów, a w połączeniu z takim oprogramo- Choć mogłoby się wydawać, że odstęp jednej
dzięki czemu zyskamy właściwy plik konfi- waniem jak Samba staje się potężnym na- minuty jest zbyt długi, w rzeczywistości mi-
guracyjny. Teraz możemy już uruchomić da- rzędziem wspomagającym nas w codzien- ja się to z prawdą. Gdyby częstotliwość uak-
emona druku, np. poleceniem sh cupsd.sh nej pracy. tywniania się programu była większa, efektem
www.lpmagazine.org 13
Dla początkujących
FreeBSD chwila dla admina, cz. 2
mogłoby być zbędne zaśmiecanie pamięci. tością byłyby właśnie polecenia do wykona- nio skonfigurowany potrafi zaoszczędzić użyt-
Dlaczego tabela systemowa /etc/crontab nie nia. W odniesieniu do konfiguracji globalnej kownikom wiele czasu i stać się ukrytym stró-
ma takiej składni jak pliki crontab użytkowni- są one poprzedzone określeniem praw z jaki- żem systemu.
ków? Wynika to z faktu, że zawiera ona dodat- mi mają zostać wykonane polecenia. Podawa-
kowe informacje dla programu, natomiast ta- nia nazwy użytkownika w tabelach użytkow- Centralizacja administrowania
bele użytkowników zawierają jedynie określe- ników mijałoby się z celem, ponieważ zada- Administrowanie siecią komputerów, np. w
nie czasu i zadania do wykonania, co znacznie nia są automatycznie wykonywane z prawami szkole czy na uniwersytecie, które nie posia-
upraszcza pracę z programem i sprawia, że są właściciela danego konta. dają centralnego punktu administracyjnego
one bardziej czytelne. Twórcy programu zadbali również o udo- może być niezwykle uciążliwe i przysporzyć
Właściwa konfiguracja może przebiegać stępnienie możliwości stosowania w tabelach niekiedy wiele problemów. Należy zadbać,
dwojako. Po pierwsze można umieścić polece- zmiennych środowiskowych. Pierwszą jest aby na każdym komputerze był zainstalowa-
nia do wykonania w pliku /etc/crontab, jednak SHELL, dzięki której użytkownik może wybrać ny ten sam system operacyjny wyposażony w
najczęściej każdemu użytkownikowi przypi- powłokę jaka będzie używana podczas wy- te same ustawienia (hasła itp.). Dodawanie ko-
suje się jego własny plik konfiguracyjny. Za- konywania poleceń, np. sh (domyślna), bash lejnych użytkowników wiąże się w takim wy-
pis poleceń programu cron jest nietypowy, jed- itd. Aby wszystkie polecenia działały popraw- padku z powtarzaniem tej czynności na każ-
nak już po kilku próbach konfiguracja staje się nie, należy także ustawić odpowiednie ścieżki dym komputerze. W tym momencie nieoce-
czytelna i przejrzysta. Pojedyncze polecenie do plików wykonywalnych. Przypisujemy je niony okazuje się NIS/YP (ang. Network In-
składa się z sześciu pól, z których każde mu- do zmiennej PATH, oddzielając poszczególne formation Service). Zastanówmy się, czym w
si zostać uwzględnione. Wyjątkiem jest tabe- ścieżki znakiem dwukropka. Jeśli chcemy, aby ogóle jest NIS? Uogólniając jest to system,
la zawarta w pliku /etc/crontab, gdzie do dys- powiadomienia były wysyłane do konkretnego który został oparty na technologii klient-ser-
pozycji mamy siedem pól, ale o tym poniżej. użytkownika lub na podany adres e-mail, wy- wer i RPC. Dzięki takiemu rozwiązaniu kom-
Pierwsze dwie pozycje określają czas podawa- starczy przypisać tą wartość do zmiennej MA- putery będące w tej samej domenie co NIS
ny jednak w odwrotnej kolejności, czyli na po- ILTO. Także na ten adres będą wysyłane infor- mogą współdzielić pomiędzy sobą ustawienia
czątku znajdują się minuty, a następnie godzi- macje z tzw. standardowego strumienia błę- plików konfiguracyjnych. Po skonfigurowa-
ny. Każda z kolejnych wartości musi być od- dów. Dostępne są również takie zmienne jak: niu klienta systemu NIS, administrator może
dzielona spacją lub tabulatorem. Następnie na- HOME, USER, LOGNAME. Są one jednak wykorzy- wprowadzać dowolne modyfikacje dla każde-
leży ustawić datę, a dokładniej dzień i miesiąc. stywane nieco rzadziej. go komputera jednocześnie, korzystając przy
Na koniec określamy dzień tygodnia. W tym Aby ułatwić pracę z cronem, dokonano tym wyłącznie z jednego stanowiska. Biorąc
miejscu ważna uwaga! Cron liczy zaczyna- podziału na zadania wykonywane co godzi- pod uwagę funkcjonalność, system NIS jest
jąc od zera, czyli to właśnie ono będzie ozna- nę, codziennie, raz w tygodniu i raz w mie- podobny ale nie tożsamy do systemu do-
czało niedzielę, jedynka poniedziałek itd. Je- siącu. Utworzono w tym celu odpowiednie men Windows NT.
śli chcemy podać kilka godzin, minut, dni itp. katalogi, których nazwy jednoznacznie wska- Przygotowanie systemu NIS do pracy we
to należy wpisać kolejne wartości po przecin- zują w jakim okresie mają zostać wykonane FreeBSD wiąże się z ustawieniem kilku para-
ku, np. 00 12,13 01 10. Zapis ten oznacza, skrypty. Są to kolejno: cron.hourly, cron.da- metrów i uruchomieniem niezbędnych proce-
że program uruchomi polecenie punktualnie ily, cron.weekly i cron.monthly. W katalogach sów. Zanim jednak zajmiemy się ich szcze-
o godzinie dwunastej i trzynastej pierwszego tych umieszcza się pliki z poleceniami do wy- gółowym opisem, zastanówmy się jak może
pazdziernika. Aby polecenie było uruchamia- konania. Choć zasadniczo domyślna konfigu- wyglądać przykładowa konfiguracja. Przede
ne codziennie pomiędzy, np. dziesiątym a pięt- racja nie zezwala użytkownikom na tworze- wszystkim niezbędny będzie główny serwer o
nastym dniem miesiąca używamy znaku myśl- nie własnych zadań crona, można to zmie- adresie np. x.x.x.1. Zaleca się także utworze-
nika (10-15). Opisane tu opcje można stoso- nić. Wystarczy dopisać danego użytkownika nie zapasowego serwera NIS. Jego brak może
wać do wszystkich wprowadzanych warto- do pliku cron.allow. Wygodnym sposobem na niekiedy być powodem poważnych kłopotów
ści. Nic nie stoi na przeszkodzie, aby urucho- kontrolę i dodawanie zadań jest program cron- z całą lokalną siecią, korzystającą ze współ-
mić nasz skrypt jedynie w dni parzyste. Wy- tab. Posiada on opcję pozwalającą na szybkie dzielonych plików konfiguracyjnych (przy-
starczy w miejscu przeznaczonym na podanie wyświetlenie listy zdefiniowanych poleceń kładowy adres to x.x.x.2). W dalszej kolej-
dnia wpisać */2. Należy pamiętać, że nie wol- (-l), a także na usuwanie ich (-r) i edycję pli- ności będą znajdowały się komputery klienc-
no zostawiać żadnego pola pustego. Jeśli nie ku konfiguracyjnego (-e) w celu dodania no- kie (np. x.x.x.3, x.x.x.4 itd.). Ważnym punk-
zależy nam na konkretnej wartości, wpisuje- wych zadań. Aby móc kontrolować zadania tem jest wybór odpowiedniej maszyny pełnią-
my w to miejsce znak gwiazdki. użytkowników, root ma do dyspozycji dodat- cej rolę serwera. Ponieważ w przypadku sys-
Podsumowując, w programie wyróżnia- kową opcję -u. temu NIS istnieją niezwykle silne zależności
my dwa rodzaje tabel: systemową składającą Cron jest niewielkim programem, jednak pomiędzy poprawnym działaniem połączeń
się z siedmiu pól oraz poszczególnych użyt- posiada ogromny potencjał i pozwala na ła- klient-serwer, komputer funkcjonujący w ro-
kowników (sześć pól). Pierwsze dwie warto- twą organizację pracy. Dzięki niemu zniknie li serwera powinien być zawsze dyspozycyj-
ści to określenie godziny, czyli minuty (0-59) problem zadań, które muszą być wykonywa- ny. Idealnym rozwiązaniem jest przeznaczenie
i godziny (0-23). Liczba mnoga została użyta ne niemalże rutynowo, np. kopie danych, a o oddzielnej maszyny, która będzie tę rolę speł-
celowo, ponieważ cron dopuszcza ustawienie których często się zapomina. Możliwość nie- niała. W sytuacji, kiedy klient nie będzie mógł
kilku godzin. Następnie należy określić dzień zwykle precyzyjnego ustawienia czasu i cy- połączyć się z serwerem aby pobrać potrzebne
(1-31), miesiąc (1-12) i dzień tygodnia (0-6), kliczności uruchamiania skryptów spowo- dane (np. informacje o użytkownikach i gru-
w którym mają zostać wykonane zadania. W dowały, że częstokroć program ten okazu- pach), najprawdopodobniej nastąpi zawiesze-
przypadku tabeli użytkownika kolejną war- je się doskonałym rozwiązaniem. Odpowied- nie się systemu operacyjnego, co uniemożliwi
wrzesień 2009
14
Dla początkujących
FreeBSD chwila dla admina, cz. 2
pracę na tym komputerze. Oczywiście jest wy- cą skryptu ypinit z opcją -m (ponieważ będą to ustawień. Ostatnim krokiem podstawowej
mogiem, aby serwer NIS pracował na oddziel- mapy dla głównego serwera) i nazwą naszej konfiguracji jest importowanie użytkowni-
nym komputerze, jednak jedynie w ten sposób domeny. Skrypt ten jest standardowo dostępny ków z serwera NIS, a następnie wpisów doty-
można mieć pewność, że będzie on zawsze do- we FreeBSD, a jego obsługa ogranicza się do czących grup użytkowników. Dodajemy linię
stępny dla maszyn działających w charakterze udzielenia odpowiedzi na kilka prostych pytań, +::::::::: do pliku /etc/master.passwd (ko-
klientów. np. czy ma on zostać zakończony, jeśli pojawią rzystamy z vipw), a następnie +:*:: do pliku
Do przechowywania informacji zosta- się błędy nie zakłócające jego pracy. Efektem /etc/group. Jeżeli wszystko przebiegło bez błę-
ła stworzona specjalna baza danych, nazwa- końcowym będzie plik /var/yp/Makefile. Jeże- dów, można przetestować klienta wpisując po-
na mapą NIS. W przypadku FreeBSD znaj- li w danej domenie będzie pracował jeden ser- lecenie ypcat passwd. Naszym oczom powin-
duje się ona w katalogu /var/yp/nazwa_do- wer, to należy pozostawić plik Makefile bez ny ukazać się wszystkie zaimportowane hasła
meny. Fakt posługiwania się oddzielny- zmian, natomiast w przypadku dodatkowych z serwera NIS. Nie pozostało nic innego jak
mi katalogami dla każdej domeny jest nie- serwerów konieczna będzie jego edycja i usu- cieszyć się wygodnym administrowaniem lo-
zwykle istotny, ponieważ umożliwia jedne- nięcie linii NOPUSH = "True". kalną siecią.
mu serwerowi obsługę kilku domen jedno- O wiele mniej skomplikowana jest konfi-
cześnie. Należy jednak pamiętać, że każda guracja serwera zapasowego. Na początku na- Podsumowanie
grupa korzysta z niezależnej od pozostałych leży dokonać odpowiednich wpisów w pliku Choć początkowo niektóre zaprezentowa-
mapy NIS. Obsługą przychodzących zapy- /etc/rc.conf, tak jak robiliśmy to w przypadku ne techniki mogą wyglądać przerażająco,
tań zajmuje się daemon ypserv, który tłuma- serwera głównego. Następnie należy urucho- nie należy ich unikać. To właśnie dzięki tym
czy domeny i nazwy map na konkretne ścież- mić serwer ypinit z opcją -s, nazwą głównego metodom i przedstawionemu oprogramowa-
ki do plików konfiguracyjnych itp. Po wyko- serwera oraz nazwą domeny. Udzielamy od- niu każdy może sprawić, aby jego praca sta-
naniu tych czynności, również ypserv przesy- powiedzi na znane już z poprzedniej konfigu- ła się nie tylko lżejsza, ale także przyjemniej-
ła odpowiednie dane do klientów jako odpo- racji pytania i czekamy aż skrypt dokona od- sza. Mniej czasu poświęconego na wprowa-
wiedzi na wcześniejsze zapytania. Poprawne powiednich ustawień. Finalnie powinien po- dzanie ustawień dla poszczególnych kom-
działanie serwera NIS zależy od jego konfi- wstać katalog /var/yp/nazwa_domeny z kopią puterów lokalnej sieci oznacza jednocześnie
guracji. Aby we FreeBSD ustawić serwer ja- mapy NIS z głównego serwera. Aby zachować więcej czasu, który może zostać poświęco-
ko tzw. out-of-the-box należy zmodyfikować aktualność informacji zaleca się skorzystanie ny na dopracowanie zabezpieczeń i likwida-
plik /etc/rc.conf. Na początku konieczne bę- z opisanego powyżej programu Cron. W pliku cję rozmaitych luk. Jeśli dodatkowo zostanie
dzie ustalenie nazwy domenowej w konfigu- /etc/crontab wpisujemy dwie linie, które będą zastosowane oprogramowania przeznaczo-
racji sieci. Robimy to dodając linię nisdoma- dbać o aktualizowanie danych: ne do współdzielenia zasobów, które zdecy-
inname="lucas-domain". Teraz należy prze- dowanie wpływa korzystnie na efektywność
kazać systemowi operacyjnemu, aby urucho- 58 11 * * * root /usr/ pracy społeczności sieci, z całą pewnością
mił serwer NIS (nis_server_enable="Y- libexec/ypxfr passwd.byname efektywność pracy wzrośnie. Z kolei dzięki
ES"). Oczywiście nastąpi to dopiero w trak- 59 11 * * * root /usr/ usługom oferowanym przez program Cron,
cie następnego uruchamiania sieci. Ostat- libexec/ypxfr passwd.byuid nie trzeba nieustannie zaprzątać własnej pa-
nia zmienna nis_yppasswdd_enable="Y- mięci terminami uruchamiania usług i skryp-
ES" zezwala na zmianę haseł użytkowni- Aby uruchomić zapasowy serwer NIS należy tów. Jest to ogromna zaleta i zapewne doce-
ków z dowolnego komputera będącego klien- wydać polecenie /etc/netstart. ni ją każdy obecny i przyszły administrator.
tem, poprzez uruchomienie daemona rpc.yp- Mając skonfigurowany serwer moż- Warto korzystać z dostępnego, a w dodatku
passwdd. Aby wprowadzone zmiany zostały na przystąpić do ustawiania poszczególnych darmowego oprogramowania mającego na
wczytane, a system NIS/YP aktywowany, na- klientów. Należy przy tym pamiętać, że połą- celu uczynić pracę łatwiejszą. To właśnie w
leży wykonać polecenie /etc/netstart (ja- czenia klientów NIS są ustanawiane za pomo- tym celu zostało ono stworzone, aby poma-
ko root). cą daemona ypbind. Jego zadaniem jest spraw- gać a nie przerażać. Warto też zajrzeć na stro-
Kolejnym krokiem konfiguracji serwera dzenie nazwy domeny, a następnie rozgłasza- ny domowe omówionych w artykule projek-
NIS, jest ustawienie wspomnianych już baz nie w sieci lokalnej zapytań RPC do momentu tów, ponieważ znajduje się tam wiele szcze-
danych, czyli map. Ich zawartość jest tworzo- otrzymania odpowiedzi ze strony serwera. Co gółowych wskazówek i omówień, na któ-
na na podstawie plików znajdujących się w ka- pewien czas ypbind będzie sprawdzał, czy ser- re nie udało się wygospodarować miejsca w
talogu /etc głównego serwera. Wyjątkiem jest wer jest aktywny. Jeśli wynik będzie negatyw- tekście. A zatem drogi Adminie nie czekaj i
plik /etc/master.passwd. Dobrą praktyką jest ny, rozpocznie rozgłaszanie RPC i będzie cze- spraw, by praca była przyjemnością!
odpowiednia modyfikacja tego pliku, ponie- kał na odzew ze strony serwera.
waż uniemożliwia to dostęp do chronionych Konfiguracja klienta NIS zdecydowa-
informacji, np. hasło superużytkownika. W nie nie należy do skomplikowanych. Opie-
O autorze
tym celu kopiujemy plik do katalogu /var/yp, a ra się głównie na edycji i uzupełnieniu pliku
następnie edytujemy. Po usunięciu wpisów do- /etc/rc.conf oraz zaimportowaniu odpowied-
Autor jest dziennikarzem, którego pasją
tyczących wszystkich kont, których nie chce- nich danych. Aby całość mogła działać, nale-
stało się programowanie (C/C++, Java,
my udostępniać klientom NIS (chociażby kon- ży w pliku rc.conf zamieścić wpis z nazwą do-
Pascal, Qt, Gtk+) oraz systemy spod zna-
to roota), koniecznie trzeba nadać za pomo- meny nisdomainname="nazwa_domeny" a
ku pingwina (Slackware, Debian).
cą polecenia chmod 600 uprawnienia pozwa- następnie zapis wskazujący na udostępnienie
Kontakt z autorem:
lające na odczyt pliku jedynie jego właścicie- usługi NIS, czyli nis_client_enable="YES".
lucas.ciesielski@gmail.com
lowi. Zainicjowanie map odbywa się za pomo- Ponowne uruchomienie spowoduje wczytanie
www.lpmagazine.org 15
Wyszukiwarka
Podobne podstrony:
2009 07 08 FreeBSD – chwila dla admina, cz 1 [Poczatkujacy]Metody statystyczne dla opornych cz 2Obciazenia budowli wg PN EN 1991 szkolenie w Grudziadzu 2009 09 04Jak powstają ergonomiczne narzędzia dla elektroników 1 czMakrofotografia dla każdego, cz I Informacje wstępneDziewczyna dla blondyna CZ Cz txtwięcej podobnych podstron