Temat numeru:
Przejdź do innych artykułów:
|
NEXT 1/2008 - Windows i Samba
możliwości Samby
Data: 14 grudzień 2007
Identyfikator: 080120
Większość osób korzystających z Linuksa z pewnością zna Sambę. Pakiet
ten został stworzony do integrowania komputerów pracujących pod
Windows i Linux w jedną sieć, gdzie dzielone mogą być dyski i drukarki.
Strona 1 z 3
|
Co to jest Samba
|
Samba jest pakietem dla systemów uniksowych i linuksowych, który umożliwia:
- współdzielenie plików i drukarek w sieci, gdzie pracują stacje z Windows i Unix/Linux
- świadczenie usług nazewniczych (rozgłoszeniowych i WINS),
- przeglądanie zasobów sieciowych przez klientów Windows,
- uwierzytelnianie użytkowników
|
Zakładając, że masz linuksowy serwer pracujący w niewielkiej firmie, zrezygnujemy w tym artykule z prezentacji większości możliwości Samby w zakresie współpracy z serwerami i domenami Windows czy katalogami LDAP. Skupimy się na mniej znanych możliwościach pakietu Samba, które da się wykorzystać również w małej grupie roboczej. W dokumentacji Samby znajdziesz przykładowe, proste pliki konfiguracyjne wraz z komentarzami. Współczesne dystrybucje dostarczane są z przekonfigurowanymi wersjami tego pakietu, toteż po drobnych poprawkach w pliku smb.conf. może on pełnić podstawowe funkcje serwera plików i drukarek. W związku z tym nie będziemy opisywać uruchomienia tego pakietu, tylko od razu przejdziemy do omówienia jego rzadziej wykorzystywanych, ale równie ciekawych możliwości.
Samba sprawdza się bardzo dobrze jako serwer plików udostępniający dane klientom pracującym w Windows. Jak wynika z niezależnych badań, szybkość jego pracy jest porównywalna z serwerem Windows czy Netware. Jednak w standardowej konfiguracji pewną niedogodnością jest ograniczony zestaw uprawnień, który może być nadany plikom albo katalogom. W porównaniu z systemem uprawnień znanym z Windows uniksowe prawa RWX, czyli odczyt, zapis, wykonanie w odniesieniu do właściciela, grupy, a zwłaszcza pozostałych, to zdecydowanie za mało. Nawet w małej firmie może zdarzyć się tak, że dany plik musi być dostępny do edycji dla jednej grupy pracowników, do odczytu dla drugiej, natomiast dla pozostałych pracowników – już nie. W takiej sytuacji niezwykle trudno jest ustawić uprawnienia do pliku oraz ograniczenia nakładane w pliku konfiguracyjnym Samby tak, aby zrealizować wyżej wymienione założenia.
Rozwiązaniem tego problemu może być skorzystanie z możliwości, jakie daje pakietACL (Access Control List). Dzięki niemu pliki udostępniane przez Sambę z partycji, takich jak np. ext2, ext3 czy xfs, mogą zawierać dodatkowe atrybuty przechowujące informację o rozszerzonych uprawnieniach do pliku.
|
Samba i polskie znaki
|
Samba w wersji 3. obsługuje Unicode. Nie powinno być więc większych problemów z uzyskaniem polskich znaków w tworzonych plikach czy katalogach. Jeśli po stronie serwera Linux korzystasz z UTF-8, wystarczy w sekcji [global] wpisać:
unix charset = ISO8859–2
display charset = UTF8
dos charset = CP852
|
Uruchomienie ACL
Uruchomienie tego rozszerzenia jest banalne, pod warunkiem że korzystamy z nowoczesnej dystrybucji Linuksa. Praktycznie w każdej z nich obsługa ACL jest wkompilowana w jądro, więc nie ma potrzeby jego patchowania i rekompilacji. Podobnie Samba w trzeciej wersji ma domyślnie włączoną obsługę ACL i jedyną czynnością, którą należy wykonać, żeby z nich korzystać, jest zamontowanie systemu plików parametrem acl. Zakładając, że katalog, który udostępniamy przez SMB, nazywa się np. /shares i znajduje się w głównym systemie plików, wystarczy z poziomu konsoli (jako root) wydać następujące polecenie:
mount –remount, acl
Aby rozszerzenia ACL działały po następnym uruchomieniu systemu, parametr acl trzeba dopisać do pliku konfiguracyjnego /etc/fstab przy odpowiednim systemie plików.
Większość narzędzi systemowych rozpoznaje dodatkowe atrybuty plików. Listy dostępu zachowywane są również podczas kopiowania czy przenoszenia. Należy także pamiętać, aby pliki podczas backupu danych były zgrywane na partycję obsługującą pakiet ACL, w przeciwnym razie rozszerzone atrybuty zostaną utracone.
Moduły VFS
W nowszych wersjach Samby są moduły VFS (Virtual File System), które zwiększają możliwości Samby. Korzystając z nich, możemy skonfigurować m.in. kosz systemowy, interfejs do skanowania antywirusowego, rozszerzone logi i inne.
- Moduł recycle (kosz na skasowane pliki) działa podobnie do tego znanego z systemu operacyjnego Windows. Parametry możemy dobrać indywidualnie. Jak widać, konfiguracja jest bardzo prosta. Można dodatkowo użyć opcji recycle:maxsize na określenie maksymalnej wielkości pliku, powyżej której będą usuwane, oczywiście z pominięciem kosza. Natomiast opcja recycle:noversions zawiera listę plików (można używać znaków wieloznacznych), w stosunku do których nie będzie używana opcja recycle:versions, czyli zachowanie różnych wersji.
[katalog_udostepniany]
#nazwa udostępnianego zasobu
path = /home/wspolny
#ścieżka do udostępnionego katalogu
writeable = yes
#zezwolenie do zapisu
vfs objects = recycle
#włączenie funkcji kosza
recycle:repository = .TRASH
#katalog ze skasowanymi plikami
recycle:keeptree = True
#czy zachować strukturę katalogów
recycle:versions = True
#czy przechowywać różne wersje skasowanych plików
recycle:touch = True
#dostępność usuniętych danych
recycle:exclude = *.tmp
#pliki usuwane z pominięciem kosza
recycle:exclude_dir = /tmp|/temp
#katalogi, usuwane z pominięciem kosza
- Moduł vscan służy do ochrony antywirusowej udostępnionych zasobów. Kiedy użytkownik zapisuje plik na serwer, dzięki temu modułowi jest on skanowany programem antywirusowym. Moduł ten nosi nazwę samba-vscan i nie jest dostępny w standardowym wyposażeniu Samby. Można go dodatkowo zainstalować i zintegrować np. z darmowym ClamAV. Więcej informacji na ten temat znajdziesz pod adresem http://clamav.skc.com.pl/howtos/samba_clamav.html
- Moduł audit służy do monitorowania dostępu do zasobów i logowania tych danych do demona syslog. Moduł loguje następujące operacje: udostępnienie, połączenie/rozłączenie, otwieranie/tworzenie i usuwanie zarówno katalogów, jak i plików.
- Moduł extd_audit jest identyczny z audit, ale może wysłać informacje zarówno do syslog, jak i logów Samby, gdzie w zależności od poziomu logowania dostępne będą bardziej lub mniej szczegółowe informacje.
poziom 0 – tworzenie, kasowanie
poziom 1 – tworzenie, kasowanie, zmiana nazwy, zmiana uprawnień
poziom 2 – tworzenie, kasowanie, zmiana nazwy, zmiana uprawnień, otwieranie, zamykanie
Przykładowa konfiguracja
[share]
path = /home/wspolny
vfs objects = full_audit
full_audit:prefix = proc.u| proc.I
full_audit:success = open opendir
full_audit:failure = all
Spowoduje to zalogowanie do syslog przykładowych wpisów:
smbd_audit: nobody|192 168.1.23|opendir|ok|.
smbd_audit: nobody|192 168.1.23|open|fail (File not found)|r|x.txt
Gdzie:
nobody – użytkownik, na prawach którego odbyło się połączenie.
prefix – prefiks, z którym będą pojawiać się wpisy w syslogu; można korzystać ze zmiennych Samby, np. proc.u (użytkownik), proc.I (adres IP klienta).
success – lista operacji VFS, których pomyślne wykonanie będzie logowane, standardowo jest pusta, możesz ustawić np. all lub tylko poszczególne operacje typu open lub read.
failure – lista operacji VFS, które zakończyły się niepowodzeniem i dlatego będą logowane.
Standardowo logowane są wszystkie błędne operacje. Możesz ograniczyć logowanie tylko do wybranych, np. open lub read.
Ocena:     (aktualna: 4,0; liczba głosów: 1) (aby ocenić, musisz się zalogować w serwisie)
Podobne artykuły:
Komentarze:
Redakcja nie ponosi odpowiedzialności za treść komentarzy.
Nikt jeszcze nie skomentował.
|