Ubuntu Server – Samba, udostępnianie pamięci masowej

article-thumbnail

Przygotowaliśmy już nasz serwer do hostingu stron, zaczynając od skonfigurowania apache i ftp, kończąc na hostach wirtualnych i DNS’ie. Teraz zajmiemy się nieco innym zagadnieniem. Mianowicie skonfigurujemy serwer tak, aby udostępniał zasoby pamięci masowej. Posłuży nam do tego serwer SMB o nazwie samba.

Celem, jaki będę chciał osiągnąć, jest skonfigurowanie trzech udziałów. Pierwszy ogólnodostępny, drugi dostępny dla administratora do edycji i jako read-only dla pozostałych użytkowników i trzeci dostępny wyłącznie dla administratora.

Instalacja

Na początek tradycyjnie zaktualizujmy repozytorium APT

sudo apt update && apt upgrade -y

Następnie musimy zainstalować odpowiednie pakiety.

sudo apt install samba

Sprawdźmy poprawność instalacji oraz lokalizację plików samby

whereis samba

Konfiguracja

Zanim przjedziemy do edycji plików konfiguracyjnych, utwórzmy katalog /udzial/, a w nim trzy podkatalogi: dla_wszystkich, od_administratora i dla_administratora.

Teraz pora na zabawę plikami konfiguracyjnymi. Nas najbardziej będzie interesował katalog /etc/samba/. To w nim znajdziemy najważniejszy plik konfiguracyjny smb.conf. Przejdźmy do jego edycji

sudo nano /etc/samb/smb.conf.

Udział „dla wszystkich”

Na końcu tak otwartego pliku umieszczamy następujące linie.

[Nazwa_udziału]
comment = tutaj wpisz swój komentarz
path = ścieżka np. /udzia/dla_wszystkich
read only = no
browsable = yes

Pora wyjaśnić powyższe linie. Comment to dosłownie komentarz czy też opis naszego udziału. Path, z angielskiego ścieżka, wskazuje który katalog ma zostać udostępniony. Parametr read only określa, czy dany katalog jest tylko do odczytu, a zapis browsable = yes sprawia, że menadżery plików będą „widzieć” ten udział sieciowy.

Teraz zrestartujmy usługę smbd, poleceniem

sudo systemctl restart smbd
sudo systemctl status smdd

Na końcu przejdźmy do komputera klienckiego np. z Windowsem 10 i korzystając z menadżera plików połączmy się serwerem.

Udział „od administratora”

W tym udziale będę chciał, aby użytkownicy nawet nie musieli się logować, aby odbierać pliki. Dlatego do wcześniejszego szablonu dodam nową linię – guest ok = yes. Ponadto zmienimy parametr read only na yes, i dodamy wyjątek od tego w postaci zapsu write_list = <nazwa użytkownika>. Finalnie będzie to wyglądać tak:

[Nazwa_udziału]
comment = tutaj wpisz swój komentarz
path = ścieżka np. /udzia/od_administratora
read only = yes
browsable = yes
guest_ok = yes
write_list = administrator

I ponownie restartujemy usługę smbd.

Jak widać usługa działa jak chcemy.


Udział „dla administratora”

Ostatni udział, skonfigurujemy tak, aby tylko użytkownik o nazwie administrator mógł odczytywać i zapisywać do niego pliki. W tym celu dodam do podstawowego szablonu zapis valid users = administrator.

Poniższe zdjęcie prezentuje moje ustawienia tego katalogu.

Sprawdźmy, czy serwer działa, jak należy.