Samba, instalacja i konfiguracja
Transkrypt
Samba, instalacja i konfiguracja
Samba, instalacja i konfiguracja Samba – oprogramowanie umożliwiające uruchomienie tak zwanego serwera plików, na systemie Linux. Jest ono kompatybilne z systemem Windows, dlatego jest bardzo powszechnie stosowane w firmach, uczelniach, instytucjach, zakładach produkcyjnych, czy nawet bankach. Charakteryzuje się bardzo dużym bezpieczeństwem i stabilnością pracy. W poniższym artykule opiszę jak zainstalować i poprawnie skonfigurować Sambę na przykładzie dystrybucji Linux Ubuntu. Może tylko pokrótce napiszę do czego w praktyce może nam się przydać samba, otóż załóżmy że np. mamy klasę informatyczną, gdzie jest 20 komputerów z Windowsem XP, wiadomo, że na zajęciach wykładowca będzie chciał udostępnić innym różne pliki. Mając komputer z Linuxem i Sambą, wrzuci owe pliki na serwer i udostępni je studentom. Nie ma też znaczenia, czy student będzie pracował na Windowsie, czy Linuxie, każdy będzie miał dostęp do tych plików. Innym ciekawym zastosowaniem jest np. serwer plików dla programów księgowych, np. dla symfonii, która umożliwia pracę kilku księgowym na jednej bazie. Umożliwia to również tworzenie regularnego backupu istotnych danych, oraz ochrania je np. przed wirusami. Zastosowań jest bardzo wiele, wy sami powinniście wiedzieć do czego wykorzystacie sambę. Instalacja Samby Zacznijmy od instalacji samby na naszym serwerze. Jako że jest to oprogramowanie bardzo popularne, praktycznie każda dystrybucja ma gotowe do instalacji paczki w repozytoriach, dlatego też zainstalujemy ją właśnie z nich. W przypadku Ubuntu będzie to po prostu polecenie: sudo apt-get install samba po chwili mamy zainstalowaną usługę w komputerze. Jej systemowa nazwa to smbd i nmbd, przyda nam się to później. Przejdźmy do najważniejszej części, czyli konfiguracji. Konfiguracja Samby Główny plik konfiguracyjny Samby znajduje się w następującej lokalizacji: /etc/samba/smb.conf plik jest własnością root-a, dlatego do wszelakich zmian będziemy potrzebowali uprawnień admina. Najwygodniej jest po prostu zalogować się na stałe jako admin: sudo su 1 a plik edytować programem: nano smb.conf Plik ten jest dość pokaźnych rozmiarów, więc spędzimy chwilę na ustalaniu optymalnej konfiguracji. Zwrócę tutaj uwagę tylko na pozycje, które nas najbardziej interesują, zaczynamy: Plik jest opatrzony komentarzami po angielsku, które powinny nam dość znacznie pomóc, zwróćcie uwagę, że linijki zaczynające się na # oraz ; są nieaktywne. [global] w tej sekcji mamy ustawienia, globalne, dotyczące wszystkich użytkowników. workgroup = WORKGROUP ustalamy nazwę grupy z Windowsa, najlepiej ustawić taką nazwę grupy, którą mają pozostałe komputery w sieci, w przypadku domyślnej instalacji Windowsa w wersji pl, będzie to: GRUPA_ROBOCZA server string = %h server (Samba, Ubuntu) pod tą nazwą będzie widoczny serwer w otoczeniu sieciowym. security = user bardzo ważne ustawienie, określające kto może korzystać z serwera plików, w przypadku ustawienia user, każdy kto będzie chciał coś ściągnąć z naszego serwer, będzie musiał mieć na nim własne konto użytkownika, natomiast w przypadku ustawienia share, nie ma takiej potrzeby. Należy tą opcję odkomentować (usunąć #). encrypt passwords = true w przypadku ustawienia security = user, powyższy wpis sprawia, że hasło użytkownika będzie szyfrowane, opcja ta może sprawiać pewne problemy, ale o tym napiszę później. passdb backend = tdbsam w przypadku szyfrowania hasła, powyższa opcja określa, gdzie będą zapisywane zaszyfrowane hasła. map to guest = bad user opcja sprawia, że wszystkie osoby, które nie zalogują się w sambie jako użytkownik, będą miały prawa gościa. Dział Share Definitions odpowiada za katalogi, które chcemy innym udostępniać, możemy tutaj określić też ich prawa, czyli np. atrybut tylko do odczytu. 2 Security share Zajmiemy się najpierw sytuacją, gdzie nie chcemy tworzyć żadnych użytkowników, a chcemy po prostu udostępnić wszystkim innym w sieci swoje pliki. W takim właśnie wypadku w konfigu należy ustawić opcję security na share. To nie koniec, niestety domyślny konfig samby z Ubuntu jest dość felerny i należy go poprawić. Brakuje przede wszystkim kilku ważnych linijek, zaraz je dodamy i omówimy. Najpierw zmieńmy te opcje, które już są, tj: workgroup = GRUPA_ROBOCZA server string = Samba security = share Następnie dodajemy dodatkowe opcje na początku konfiga, ja je wsadziłem przed linijką #### Networking #### (muszą być w sekcji [global]), a wyglądają one następująco: # Moje dodatkowe ustawienia netbios name = Samba browseable = yes local master = yes domain master = yes netbios name – to nazwa naszego serwera, która będzie się wyświetlać w otoczeniu sieciowym browseable – bez tej opcji nasz serwer wogóle nie będzie widoczny w otoczeniu sieciowym local i domain master – potrzebne do właściwej komunikacji między serwerem, a klientami Załóżmy, że chcemy wszystkim udostępnić folder „wspolne”, znajdujący się w naszym katalogu domowym, tak więc jego ścieżka wygląda następująco (nazwa mojego użytkownika to qlwik): /home/qlwik/wspolne dodajemy więc następujący wpis na samym końcu pliku konfiguracyjnego samby: [wspolne] comment = wspolne path = /home/qlwik/wspolne browseable = yes writable = no create mode = 0644 directory mode = 0755 guest ok = yes 3 comment – nazwa udostępnianego zasobu path – ścieżka do niego browseable – określa czy zasób ten można przeglądać writable – określa to czy można w nim zapisywać i zmieniać pliki create mode – określa jakie prawa dostępu mają nowo tworzone w nim pliki directory mode – odnosi się do praw tworzonych folderów guest ok – ważna opcja, bez niej będzie się nam ciągle pokazywało okienko logowania w Windowsie, kiedy będziemy chcieli otworzyć zasób, a i tak się nie zalogujemy, bo nie stworzyliśmy jeszcze żadnych użytkowników. Następnie restartujemy Sambę poleceniami: service smbd restart service nmbd restart Po chwili nasz serwer powinien być już widoczny w otoczeniu sieciowym pod nazwą Samba, jeżeli do niego wejdziemy, powinniśmy zobaczyć w nim katalog „wspolne”. W obecnej konfiguracji folder ten jest jednak tylko do odczytu, aby inni mogli tu coś zapisywać należy zrobić kilka zmian. Po pierwsze należy zmienić uprawnienia do katalogu na serwerze na poziomie 777, czyli: chmod 777 /home/qlwik/wspolne następnie w pliku konfiguracyjnym Samby (przy opcjach dotyczących zasobu [wspolne]) trzeba zmienić jedną linijkę, mianowicie: writable = yes po zrestartowaniu Samby, każdy będzie miał prawa do zapisu, modyfikacji i kasowania w nim plików. Jeżeli planujemy udostępnić wszystkim zainstalowane na serwerze drukarki, wystarczy przy udziałach [printers] oraz [print$] zmienić: guest ok = yes Uwaga: W niektórych dystrybucjach Linux-a należy dodatkowo odblokować porty Samby na firewall-u, jeżeli takowy jest zainstalowany. Uwaga2: Jeżeli są jakieś zacinki i zawieszki w połączeniu się z Sambą, czasami warto zrestartować połączenie sieciowe klienta. 4 Security user Teraz zobaczmy jak działa opcja security = user. W tym przypadku do przeglądania jakichkolwiek zasobów, potrzebny jest login i hasło. Zaczynamy od stworzenia nowego użytkownika w systemie Linux, w Ubuntu można to zrobić wybierając menu: System -> Administracja -> Użytkownicy i Grupy dodajemy np. użytkownika marian a jego hasło to 123456, teraz trzeba tego użytkownika dodać do bazy Samby, wpisujemy w konsoli: smbpasswd -a marian podajemy 2 razy hasło, czyli 123456, użytkownik został dodany, teraz idziemy do pliku konfiguracyjnego, zmieniamy oczywiście opcję: security = user po zapisaniu konfiga i zrestartowaniu samby, Windows będzie wyświetlał okienko logowania, gdy zechcemy wejść na serwer. Spróbujmy wejść więc teraz do udostępnionego katalogu, wpisujemy login i hasło, i spróbujmy coś w nim zapisać. Jeżeli katalog „wspolne” ma uprawnienia na poziomie 777 i w pliku konfiguracyjnym mamy opcję writable = yes, to będziemy mogli to uczynić, jest jednak jedno ale. Nowo stworzony plik będzie miał za właściciela mariana, i będzie tylko do odczytu dla innych, żeby to zmienić, należy zmienić następujące opcje w konfigu samby: create mode = 0777 directory mode = 0777 dzięki temu wszystkie tworzone pliki i katalogi będą miały domyślne uprawnienia 777. 5 Mapowanie dysków w Windows Bardzo wygodną metodą korzystania z zasobów udostępnianych przez Sambę jest mapowanie dysków sieciowych. Polega ono na tym, że udostępniony folder będzie dostępny w folderze „Mój komputer”, jako dodatkowy dysk, np. X:. Przedstawię tutaj metodę, która dobrze działa również na kompach z Windowsem Xp Home, na których mapowanie dysków zostało zablokowane. Tworzymy na pulpicie plik tekstowy i go edytujemy. Tu wpisujemy: net use z: \\192.168.0.100\wspolne /user:marian 123456 /persistent:no Oczywiście wpisujemy tutaj adres IP naszego serwera z sambą. Zamiast adresu IP można też podać nazwę serwera wyświetlaną w otoczeniu sieciowym, jednak ja tego nie zalecam, ponieważ zaobserwowałem w takim wypadku pewne problemy z komunikacją między maszynami. Zapisujemy stworzony plik tekstowy, a następnie zmieniamy jego rozszerzenie z txt na bat. Jeżeli nie widzicie jego rozszerzenia to można to zmienić w opcjach folderów. Wrzucamy plik do autostartu i restartujemy Windowsa. Po restarcie powinien się pokazać w „Mój komputer” nowy napęd o oznaczeniu Z:\\, prowadzący do folderu dokumenty, na którym mamy wszelkie prawa, zapisu i odczytu. Można w ten sposób skonfigurować kilka kompów, dzięki czemu uzyskają one dostęp do tego samego folderu. 6