profil

Serwer plików i drukarek w linuxe

poleca 88% 103 głosów

Treść
Grafika
Filmy
Komentarze

Co to jest SAMBA?

Samba to pakiet narzędzi umożliwiający współdzielenie zasobów, takich jak drukarki i pliki, w sieci. Być może jest to pewne uproszczenie, ale Sambę naprawdę opracowano po to, aby ułatwić Ci życie. Samba korzysta z protokołu Server Message Block (SMB), wspólnego produktu Microsoftu i IBM-u, w celu przesyłania danych między klientami Windows i serwerami uniksowymi w sieci TCP/IP.

Samba jest szczególnie atrakcyjna z następujących powodów:

· Używa tego samego protokołu, z którego standardowo korzystają systemy operacyjne IBM-u i Microsoftu, począwszy od DOS-a 3.0. Oznacza to, że rozumieją go niemal wszystkie komputery Windows i nie ma potrzeby instalowania w nich dodatkowego oprogramowania klienckiego,
· Działa na różnych platformach, w tym w większości odmian Uniksa, OpenVMS, OS/2, AmigaDOS i NetWare. Dzięki temu jeden program na serwerze może zapewnić dostęp do plików i drukarek całej gromadzie pecetów,
· Jest bezpłatna. Istnieje kilka produktów komercyjnych, które odpowiadają funkcjonalnością Sambie, ale niektóre z nich są dość drogie. Samba stanowi alternatywę wobec pakietów, które mogłyby poważnie nadszarpnąć budżet działu informatycznego. Jest dystrybuowana na zasadach Powszechnej Licencji Publicznej GNU (GNU General Public License, GPL) i jest uważana przez autorów za oprogramowanie o otwartym źródle (open source). Oznacza to, że można bezpłatnie pobrać do swojego komputera zarówno aplikację, jak i jej kod źródłowy, a w razie potrzeby nawet poprawić oryginalny program,
· Samba jest kompletnym rozwiązaniem dla sieci lokalnych każdej wielkości od domowej sieci z dwoma komputerami do korporacyjnego monstrum z setkami węzłów. Samba jest łatwa do zainstalowania i administrowania, zapewnia też przezroczyste środowisko sieciowe, które udostępnia użytkownikom wszystkie zasoby potrzebne do pracy. Po skonfigurowaniu Samba pozwala na: dostarczanie uniksowych plików klientom działającym pod kontrolą Windows, OS/2 i innych systemów operacyjnych,
· -dostęp uniksowych komputerów do plików PC,
· -udostępnianie drukarek sieciowych klientom Windows,
· -świadczenie usług nazewniczych (rozgłoszeniowych i WINS),
· -przeglądanie zasobów sieciowych przez klientów Windows,
· -tworzenie grup roboczych lub domen Windows,
· -wymuszanie uwierzytelniania nazw użytkowników i haseł klientów.

Czas na sambę.
Instalację Samby przeprowadzamy, wykonując polecenie rpm -i samba-wersja.rpm. W efekcie wszystkie pliki wchodzące w skład pakietu - w tym przykładowy zbiór konfiguracyjny smb.conf, który w przypadku dystrybucji Red Hat znajdzie się w kartotece /etc - zostaną rozpakowane do odpowiednich katalogów. Jeżeli chcemy zmieniać ustawienia domyślne Samby (na przykład maksymalną liczbę możliwych do otwarcia plików, lokalizację zbiorów konfiguracyjnych i programów), musimy za pomocą menedżera pakietów RPM zainstalować źródła Samby, zmodyfikować wybrane zbiory, skompilować źródła, a następnie zainstalować pliki wynikowe. O maksymalnej liczbie otwartych plików sesji Samby decyduje zmienna MAX_OPEN_FILES określona w pliku local.h. Domyślnie przyjmuje ona wartość 100.

Praca grupowa na wspólnych zasobach.
Praktycznie w każdym systemie istnieją zasoby, do których będzie miała dostęp tylko pewna, ściśle określona grupa użytkowników. Aby kilku użytkowników miało dostęp do wspólnego zasobu, należy utworzyć w Linuksie odpowiednią grupę, do której będą oni należeli. W tym celu wykorzystujemy polecenie groupadd. Aby dodać konto nowego użytkownika do grupy, trzeba użyć komendy usermod bądź też dopisać nazwę konta w pliku /etc/group.

Jeżeli użytkownik zamierza korzystać z wielu zasobów - a tak będzie praktycznie zawsze, nawet w małych sieciach - to dostęp do zasobów będzie określany poprzez przynależność użytkownika do określonych grup. Weryfikacja użytkownika oraz hasła będzie polegała na sprawdzeniu, w jaki sposób zalogował się on do systemu Windows, i przebiegała tylko przy logowaniu się do pierwszego zasobu. W tym celu w sekcji [global] pliku smb.conf należy dopisać linię security = user. Gdy wpiszemy tu parametr security = share, podłączanie do każdego zasobu wymagało będzie oddzielnego logowania.
Każda sekcja tego pliku oddzielona jest dwukropkami. Pierwsza oznacza nazwę grupy, druga zaszyfrowane hasło dla grupy (jeżeli pole to jest puste, to hasło nie jest wymagane). W przypadku gdy dostęp do plików z hasłami został dla zwykłych użytkowników zablokowany (włączono tzw. shadow haseł), to zamiast hasła występuje znak "x"' i istnieje plik /etc/gshadow z hasłami dla grup. Trzecia sekcja oznacza numer grupy (GID), a czwarta oddzieloną przecinkami listę kont.
Aby udostępnić w sieci Microsoft Net-works linuksowy katalog /home/samba/admin, należy w pliku /etc/smb.conf utworzyć odpowiednią sekcję o zawartości takiej jak w listingu poniżej. Zasób ten będzie dostępny tylko dla osób, które należą do grupy admin oraz dla użytkownika test1. Wszystkie pliki oraz katalogi tworzone przez użytkowników sieci Microsoft Networks w obrębie tego zasobu będą zapisywane w Linuksie w katalogu /home/samba/admin. Nowo utworzone pliki oraz katalogi będą należały do użytkownika root i grupy admin. Zatem jeżeli jeden z członków tej grupy utworzy zbiór w tym zasobie, to drugi też będzie miał do niego uprawnienia. Prawa dostępu do nowych plików będą przekazywane dzięki parametrom force group oraz force user. Jeżeli użytkownik nie ma dostępu do plików w Linuksie, to nie będzie miał uprawnień do tych zbiorów także za pośrednictwem Samby.

Logowanie do domeny NT
Po zdefiniowaniu wszystkich zasobów i uprawnień w Sambie będziemy mieli możliwość łatwego korzystania z udostępnianych danych. Każdy zasób powinien być widoczny na komputerze użytkownika pracującego w systemie Windows jako oddzielny dysk. Oczywiście można mapować zasoby na dyski lokalne na każdym komputerze, lecz jest to rozwiązanie mało profesjonalne. Podłączanie udostępnianych folderów na odpowiednie dyski można zrealizować, konfigurując Sambę, aby była ona kontrolerem domeny NT. Użytkownik, logując się do tej domeny, będzie uruchamiał znajdujący się na serwerze skrypt. Program ten przeprowadzi różne operacje (jak chociażby mapowanie dysków) na komputerze użytkownika. Samba nie obsługuje wszystkich funkcji kontrolera domeny, jednakże dzięki niej możemy uruchamiać skrypty logowania oraz przechowywać profile użytkownika (ustawienia Pulpitu i grup programów w menu Start). Ponieważ skrypt logowania wykonywany jest na komputerze pracującym w systemie Windows, to powinien on być plikiem wsadowym (BAT), w którym po kolei będą występowały odpowiednie komendy, na przykład mapowanie dysków. Uwaga: zbiór ten musi zostać utworzony w DOS-ie bądź w Windows. Wynika to z różnej interpretacji znaku końca linii pod Uniksem oraz DOS-em.
Aby użytkownik mógł zalogować się do domeny, na jego komputerze powinien być zainstalowany Klient sieci Microsoft Networks. W oknie z ustawieniami sieci (Start | Ustawienia | Panel sterowania | Sieć) należy wyświetlić właściwości Klienta sieci Microsoft Networks i zaznaczyć opcję Zaloguj do domeny NT oraz podać nazwę domeny (de facto nazwę grupy roboczej określonej przez parametr workgroup w sekcji [global] w pliku smb.conf).

Dużo użytkowników, dużo problemów.
Jeśli na serwerze będziemy tworzyć wiele kont i udostępniać dużo zasobów, wówczas ręczne pisanie skryptu logowania dla każdego użytkownika może być dość uciążliwe. Jeżeli założymy, że każda grupa ma własne zasoby, a co za tym idzie - powinna mieć mapowane odpowiednie dyski, możemy utworzyć dla niej skrypt mapowań zasobów na wybrane dyski. Podczas logowania odpowiedni skrypt powinien sprawdzić, do jakich grup należy użytkownik, i połączyć wszystkie części skryptów logowania. Taki skrypt będzie tworzony "w locie" podczas "podłączania" się użytkownika do zasobu. Dzięki temu administracja stanie się dużo prostsza: zakładamy konto, dodajemy jego identyfikator do odpowiednich grup, a zasoby przeznaczone dla użytkownika są automatycznie mapowane podczas logowania. Nadanie bądź odebranie użytkownikowi odpowiednich uprawnień będzie się sprowadzało do modyfikacji pliku /etc/group.
Skrypt logowania może tworzyć się podczas logowania dzięki wykorzystaniu polecenia preexec w pliku smb.conf w sekcji [netlogon].

Przechowywanie profili na serwerze.
W systemach Windows 95/98 wszyscy użytkownicy korzystający z tego samego komputera mają takie same ustawienia dotyczące Pulpitu, programów w menu Programy i aplikacji. Jeżeli chcieliby korzystać z indywidualnych ustawień, musimy otworzyć Panel sterowania i za pomocą narzędzia Hasła zmodyfikować sposób zarządzania profilami. Gdy wybierzemy opcję Użytkownicy mogą dostosować..., po ponownym zalogowaniu się użytkownika do systemu w katalogu c:WindowsProfiles zostanie utworzony odpowiedni profil.Profil użytkownika będzie przechowywany na serwerze linuksowym. Po pomyślnym zalogowaniu się do serwera profil użytkownika zostanie skopiowany na dysk lokalny, a po wylogowaniu będzie zapisywany na serwerze. Gwarantuje to, że użytkownik, logując się na dowolnym komputerze, będzie mógł korzystać ze wszystkich swoich ustawień, włącznie z konfiguracją skrzynki pocztowej. Dużą wadą takiego rozwiązania jest fakt, że wszystkie dane są kopiowane z serwera na komputer użytkownika. W sytuacji gdy poczta zajmuje np. 100 MB, proces logowania mógłby być zdecydowanie za długi. Jednak w większości przypadków przechowywanie profili na serwerze może w znaczący sposób ułatwić pracę użytkownikom.

Drukarki w Linuksie.
Oprócz zarządzania plikami Linux może pełnić również funkcje serwera wydruku. Instalacja drukarek w tym systemie polega na dokonaniu odpowiedniego wpisu w pliku /etc/printcap. Ponadto musi być uruchomiony proces lpd (Line Printer Daemon). W pliku printcap każda drukarka ma swoją sekcję. Zestaw wszystkich możliwych do wykorzystania ustawień poznamy, wykonując polecenie man printcap. Drukarkę można udostępniać w Sambie na dwa sposoby. Pierwszym z nich jest stworzenie zasobów z opisem parametrów drukarek zdefiniowanych w pliku smb.conf. Drugi polega na udostępnieniu wszystkich drukarek, jakie są opisane w pliku printcap. To drugie rozwiązanie wydaje się dużo wygodniejsze, gdyż użytkownik może korzystać z drukarki, będąc zalogowanym zarówno do Samby, jak i bezpośrednio do Linuksa poprzez usługę telnet.
. Jeżeli chcielibyśmy, aby dostęp do określonej drukarki miała wybrana grupa użytkowników, musimy stworzyć w pliku smb.conf zasób o nazwie takiej samej jak nazwa drukarki w pliku printcap, a listę uprawnionych grup i użytkowników określić parametrem valid users. Gdy nie chcemy drukować nagłówka z nazwą właściciela pliku, powinniśmy zastosować parametr print command.. Instalacja drukarki na komputerze użytkownika będzie wymagała od niego posiadania sterowników. Drivery te można zamieścić na serwerze, użytkownik zaś, chcąc instalować drukarkę udostępnianą przez Linuksa, nie będzie musiał mieć żadnych sterowników ani nawet znać ich lokalizacji - zostaną one automatycznie pobrane z serwera. Opis instalacji driverów znajduje się w dokumentacji Samby w pliku PRINTER_DRIVER. TXT.

Drukarki ze sprzętowym serwerem wydruku.
Instalację należy rozpocząć od konfiguracji serwera wydruku. Dokonujemy tego za pomocą dostarczonego oprogramowania bądź też bezpośrednio z poziomu konsoli drukarki. W tym celu niezbędne będzie sięgnięcie do dokumentacji urządzenia. Ponieważ Samba drukuje wykorzystując protokół TCP/IP, trzeba tak skonfigurować serwer wydruku, aby przypisać mu odpowiedni adres IP, który następnie wpisujemy do pliku /etc/hosts wraz z nazwą drukarki, np. 196.168.1.64 hp-biurocku. Należy także utworzyć odpowiedni katalog, gdzie będą zrzucane dokumenty przeznaczone do wydruku, np. /var/spool/samba/hp-biurocku. Pozostaje już tylko dokonać odpowiedniego wpisu w zbiorze /etc/printcap.

Instalacja drukarek podłączonych bezpośrednio do komputera.
W niektórych biurach może się zdarzyć, że drukarka podłączona jest do któregoś komputera w sieci lokalnej, pracującego w środowisku Windows. Instalowanie zewnętrznego, sprzętowego serwera wydruku może być nieopłacalne, ponieważ drukarka nie jest mocno eksploatowana. W takiej sytuacji można utworzyć kolejkę do drukarki na serwerze linuksowym. Gdy komputer, do którego podłączona jest drukarka, będzie przez jakiś czas wyłączony, wszystkie dokumenty przeznaczone do druku będą przechowywane na serwerze. Zostaną one przetworzone bezpośrednio po włączeniu peceta i podłączonej do niego drukarki. Komputer taki musi udostępniać drukarkę w sieci Microsoft Network, a użytkownikom, którzy będą chcieli z niej korzystać, należy dopisać w skrypcie logowania odpowiednie mapowanie na port LPT1 (polecenie net use lpt1:\linux_serwer azwa_drukarki). Do instalacji drukarki wykorzystamy filtr smbprint. Jest to skrypt, który nie zawsze jest zainstalowany w systemie, należy wówczas poszukać go u dystrybutora. Zbiór ten należy skopiować do katalogu /usr/bin serwera linuksowego. Wszystkie wydruki użytkowników kierowane są na standardowe wejście tego filtru i drukowane za pośrednictwem programu smbclient. Można utworzyć dowolny filtr, który np. przekształci plik na wiadomość tekstową i wyśle go pocztą elektroniczną bądź też faksem.
W katalogu zawierającym kolejkę wydruku (spool) takiej drukarki należy umieścić zbiór plik.config, w którym będą podane informacje dotyczące komputera udostępniającego urządzenie oraz nazwa zasobu.

Kontrola działania Samby.
Aby zapewnić danym użytkowników maksymalne bezpieczeństwo, musimy pamiętać o regularnym kontrolowaniu i konserwacji systemu. Możliwie często należy sprawdzać w logach, czy wszystko jest w porządku. Jeżeli wykryjemy w porę, że w systemie dzieje się coś niedobrego, unikniemy wielu poważnych problemów. Oprócz standardowych logów, jakie tworzy Samba, czasami warto wymusić generowanie dodatkowych dzienników. Zwiększenie zakresu kontroli spowoduje, że generowane pliki mogą być bardzo duże. Należy to robić rozważnie, aby nie zabrakło miejsca na dysku po godzinie pracy serwera!

Praca z Sambą, w Windows 98/NT.
Jednym z najczęściej powtarzających się problemów jest szyfrowanie haseł w Windows 98/NT. Samba może używać szyfrowanych haseł, ale możemy ten mechanizm także wyłączyć. Standardowo hasła nie są jednak szyfrowane, stąd użytkownicy łączący się z Sambą za pośrednictwem komputerów pracujących pod kontrolą systemów Windows 98/NT nie mogą się zalogować, a serwer odpowiada, że hasło jest niepoprawne. Jeżeli nie włączyliśmy obsługi szyfrowanych haseł w Sambie, to należy zmodyfikować Rejestr Windows, tak, aby system ten również ich nie szyfrował. Poleceniem regedit uruchamiamy edytor Rejesrtu i wprowadzamy odpowiednie klucze typu DWORD.

Kopie zapasowe.
Bez względu na to, pod kontrolą jakiego systemem pracuje serwer plików, należy pamiętać o archiwizacji przechowywanych na nim danych. Kopie bezpieczeństwa możemy wykonywać bezpośrednio na urządzeniu archiwizującym, podłączonym do komputera z Linuksem.

Klient DOS-owy.
Korzystanie z zasobów Samby wymaga posiadania systemu Windows. Jednak można znaleźć również klienty pracujące pod systemem DOS.

Przydatne oprogramowanie do samby.
Administrowanie prawidłowo skonfigurowaną Sambą sprowadza się do tworzenia odpowiednich zasobów oraz kont użytkowników, a także przyporządkowywania ich do odpowiednich grup. Przydatnym narzędziem może się tu okazać pakiet SWAT, dzięki któremu nie trzeba za każdym razem ręcznie modyfikować pliku smb.conf - wystarczy jedynie wybierać z menu odpowiednie parametry. Nic nie zastąpi jednak bezpośredniej edycji pliku smb.conf, dzięki której możemy w pełni kontrolować parametry pracy Samby. Użytecznym programem jest także Samba Edit. Ułatwia on modyfikację pliku smb.conf oraz nadawanie uprawnień użytkownikom. Wiele przydatnych programów do pracy w sambie można znaleźć w Internecie.

Czy tekst był przydatny? Tak Nie

Czas czytania: 13 minuty