Porozumienie ponad podziałami

Samba TNG to oprogramowanie, które ma umożliwić integrację Linuxa z domenami Windows NT i 2000.

Samba TNG to oprogramowanie, które ma umożliwić integrację Linuxa z domenami Windows NT i 2000.

Serwer Samba to jedna z najpopularniejszych aplikacji typu open source. Jest to elastyczne rozwiązanie, umożliwiające niemal pełną integrację systemu Linux oraz sieci opartych na Windows. Samba pełni funkcję serwera plików i drukarek dla sieci wykorzystujących protokół SMB (podstawowy protokół współdzielenia plików i drukarek w sieciach Microsoftu). Z perspektywy użytkownika Windows serwer linuxowy z Sambą jest widziany jako zwykły serwer Windows NT 4.0 lub 2000.

Wbrew obiegowej opinii, Samba nie jest wyłącznie oprogramowaniem linuxowym. Kod źródłowy jest gotowy do kompilacji na większości systemów unixowych (włączając w to np. Mac OS X).

Co może Samba?

Najnowsze wersje serwerów Samba mogą pełnić kilka funkcji. Mogą być serwerami plików i drukarek dla grup roboczych Microsoft Networks, obsługiwać logowanie użytkowników i komputerów do domen NT i udostępniać wybrane usługi administracyjne, np. możliwość zdalnej edycji rejestru. Samba pozwala również serwerowi linuxowemu "podszywać się" pod Windows NT 4.0 i 2000. Dzięki temu oprogramowaniu serwer Linux może pracować jako podstawowy (PDC) i zapasowy (BDC) kontroler domeny Windows NT 4.0, a także jako kontroler domeny Windows 2000. Oczywiście, istnieje również możliwość uruchomienia go jako serwera korzysta- jącego z domenowego systemu bezpieczeństwa (Member Server), ale nie będącego jej kontrolerem.

Oczywistą zaletą Samby jest to, że pakiet jest dostępny bezpłatnie. Dzięki temu małym kosztem możliwe jest zastąpienie w małych i średnich firmach kosztownych (ze względu na ceny licencji systemu oraz licencji dostępowych) serwerów Windows NT Server 4.0 i 2000 serwerami linuxowymi, realizującymi te same funkcje. Mogą one być wykorzystywane głównie do odciążenia pod- stawowych serwerów plików lub jako serwery wydruku obsługujące wszystkie drukarki sieciowe. W takim modelu w sieci powinien funkcjonować co najmniej jeden serwer Windows NT lub 2000, obsługujący autoryzację użytkowników i zarządzający dostępem do zasobów. Serwery Samba powinny wówczas pracować w trybie Member Server.

Samba nie jest jednak rozwiązaniem idealnym i ma, niekiedy uciążliwe, wady. Pierwsza to zauważalne spowolnienie pracy w porównaniu z serwerami opartymi na systemie Microsoftu. Wynika to głównie z faktu, że Samba działa na poziomie użytkownika (user level), a w Windows obsługa SMB jest zaimplemen- towana na poziomie jądra (kernel level).

Inną wadą są ograniczone możliwości zarządzania serwerami z wykorzystaniem narzędzi administracyjnych Microsoftu. Pod tym względem oprogramowanie nie jest kompatybilne z rozwiązaniami Microsoftu. W ramach pakietu Samba dostarczane są jedynie proste narzędzia pracujące w trybie znakowym, udostępniające podstawowe funkcje, takie jak dodawanie użytkowników, dodawanie i usuwanie komputerów z domen Windows NT i 2000, zmiana i blokowanie haseł, edycja bazy SAM.

Praca z wykorzystaniem trybu znakowego jest najczęściej obca administratorom Windows NT i 2000, dlatego kolejnym etapem rozwoju serwera Samba będzie zapewnienie zgodności z narzędziami administracyjnymi Microsoftu.

Seria serwerów Samba

W październiku ub.r. doszło (w wyniku "buntuŇ części programistów) do podziału projektu Samba. Wydzieliła się z niego nowa, niezależna grupa Samba TNG (The Next Generation). Ma ona uzupełnić lukę, jaka się pojawiała po wprowadzeniu na rynek systemu Windows 2000 z usługami katalogowymi Active Directory. Dotychczas dostępne wersje serwera Samba nie umożliwiały bowiem poprawnej pracy w środowisku domen Windows 2000.

Obecnie dostępne są cztery podstawowe wersje oprogramowania Samba, co niestety powoduje duży zamęt. Docelowo funkcjonalność wszystkich tych rozwiązań zostanie zintegrowana w ramach produktu Samba 3.0.

Podstawową, najbardziej stabilną, produkcyjną wersją jest Samba 2.0.x, która jednocześnie ma najmniejsze możliwości. Znakomicie nadaje się do obsługi grup roboczych Microsoft Networks, nie oferuje jednak możliwości pracy jako kontroler domeny PDC. Można ją wykorzystać jako serwer plików w sieciach unixowych, a zwłaszcza linuxowych, ponieważ może w dużym stopniu zastąpić NFS, którego implementacja w systemie Linux jest nieudana.

Najbardziej rozwojową wersją oprogramowania jest Samba HEAD - projekt, który docelowo ma zostać przekształcony w Sambę 3.0. Zawiera bardzo niestabilny kod, ale jednocześnie oferuje największe możliwości integracji z Windows. Oprócz możliwości pracy jako PDC i BDC w domenach Windows NT, zawiera moduł Winbind NSS (Name Switch Service), który umożliwia autoryzację użytkowników Linuxa poprzez domenę NT lub Windows 2000.

Stabilną wersją jest też Samba 2.2.x. Jest ona obecnie dostępna w ramach testów alpha, ale jednocześnie stano- wi kompromis między ograniczoną Sambą 2.0.x a niestabilną wersją Samba HEAD. Podobnie jak ta ostatnia, umożliwia realizację na serwerze linuxowym funkcji podstawowego i zapasowego kontrolera domeny. Mimo że zawiera sporo kodu testowego (wersja alpha), jest intensywnie wykorzystywana przez administratorów, a ich doświadczenia wskazują, iż nadaje się już do produkcyjnego wykorzystania.

Najbardziej zaawansowaną wersją serwera jest Samba TNG. Zapewnia ona wszystkie możliwości Samba HEAD (większość kodu jest taka sama), ale potrafi też współpracować z serwerem LDAP (np. OpenLDAP) i przechowywać na nim informacje o użytkownikach, grupach oraz hasła. Głównym celem, jaki stawiają sobie twórcy Samba TNG, jest jak najszybsze osiągnięcie przez to oprogramowanie pełnej funkcjonalności kontrolera domeny Windows NT 4.0 i 2000 oraz zgodności ze schematem administracyjnym Microsoftu. Mniejszą uwagę przykłada się do możliwości wykorzystania Samby jako serwera plików w sieciach unixowych.

TNG i Active Directory

Obsługa struktury domenowej Windows 2000 jest realizowana z wykorzystaniem usług katalogowych Active Directory, zawartych w tym systemie. Samba TNG, mająca imitować kontroler domeny na Linuxie, musi umieć korzystać z informacji zawartych w AD. Najprostszym sposobem na "dostanie się" do tych katalogów jest wykorzystanie protokołu LDAP. AD udostępnia interfejs LDAP zgodny z wersją 3 (RFC 2251) i 2 (RFC 1777). Umożliwia on dostęp do jednego z kluczowych komponentów AD - DSA (Directory System Agent), który dostarcza API służące do formułowania zapytań do usług katalogowych.

Taki standardowy sposób dostępu do usług katalogowych za pośrednictwem LDAP ma duże znaczenie dla oprogramowania Samba. Obecnie trwają prace nad jego połączeniem z serwerem LDAP. Funkcjonuje już synchronizacja kont i haseł użytkowników między Sambą a bazą LDAP (OpenLDAP). Pozwala ona nie tylko na utrzymywanie parametrów autoryzacji i kont użytkowników dla stacji roboczych Windows i Linux, ale również umożliwia zastosowanie jako dostawca uwierzytelnień dla całej organizacji, np. może służyć do przechowywania certyfikatów SSL.

LDAP zapewnia również dodatkowe korzyści, takie jak integracja z katalogami NDS czy Lotus Domino. Zatem niejako "przy okazji" Samba może pomóc w zbudowaniu upragnionego przez wielu administratorów rozwią-zania Single Sign-on (jednokrotnego logowania z dostępem do wszystkich zasobów).

Największym utrudnieniem jest przygotowanie odpowiedniego schematu LDAP, który odwzoruje na dowolnym serwerze LDAP pożądane obiekty z Active Directory. Na razie jest to jeszcze "sztuka dla sztuki", ponieważ Samba i tak nie korzysta z większości obiektów tych usług katalogowych.

Należy również pamiętać, że Samba może pełnić funkcję kontrolera domeny Windows 2000 tylko w przypadku, gdy domena ta pracuje w trybie mixed, czyli w rzeczywistości nie korzysta w pełni z funkcji usług katalogowych Active Directory (do replikacji informacji domenowych wykorzystywane są mechanizmy znane z Windows NT 4.0). Konwersja domeny do trybu pracy native uniemożliwi pracę serwera Samba jako kontroler domeny. Dzieje się tak, gdyż Samba nie może jeszcze pełnić funkcji serwera katalogowego Active Directory bądź w pełni go emulującego.

Czy warto?

Samba nie jest produktem "z pudełka" i dlatego bardzo ważne jest, aby w trakcie wdrożenia dysponować odpowiednią wiedzą dotyczącą administrowania zarówno systemami Windows NT i 2000, jak i Linuxem. Przy jego wdrażaniu najlepiej wybrać rozwiązanie pośrednie, tzn. utrzymywać działające kontrolery domeny NT lub Windows 2000 (w trybie mixed) i dodać do istniejącej struktury nowy serwer, stopniowo na niego przenosząc obciążenie.

Obecne możliwości współpracy Samby z serwerami LDAP umożliwiają integrację z innymi aplikacjami, które mogą wykorzystać LDAP do wymiany informacji o użytkownikach i zasobach katalogowych. Sambie daleko jeszcze jednak do realizowania pełnej funkcjonalności Active Directory na platformie Linux.