czwartek, 24 maj 2012
NEXT 1/2008 - okładka





Temat numeru:
Przejdź do innych artykułów:

NEXT 1/2008 - Windows i Samba

Windows i Samba - ikonka 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
< Poprzednia 1 2 3 Następna >

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)

< Poprzednia 1 2 3 Następna >

Podobne artykuły:

Komentarze:

Redakcja nie ponosi odpowiedzialności za treść komentarzy.
Nikt jeszcze nie skomentował.
Niezalogowany

Aby mieć dostęp do niektórych części serwisu NEXT (np. forum dyskusyjnego, oceny numeru, newslettera), musisz posiadać konto w naszym serwisie. Zachęcamy do darmowej rejestracji!

Jeżeli posiadasz już konto w serwisie, to zaloguj się.