
Samba – instalacja i konfiguracja

Samba to bezpłatny serwer plików i drukarek, korzystający z protokołu SMB (Server Message Block). Pozwala na tworzenie mieszanego środowiska, w którym komputery z systemem operacyjnym Windows oraz Linux mogą wzajemnie korzystać ze swoich zasobów. W tym artykule pokażemy, jak zainstalować i korzystać z Samby.
Samba to bezpłatny serwer plików i drukarek, korzystający z protokołu SMB (Server Message Block). Pozwala na tworzenie mieszanego środowiska, w którym komputery z systemem operacyjnym Windows oraz Linux mogą wzajemnie korzystać ze swoich zasobów. W tym artykule pokażemy, jak zainstalować i korzystać z Samby.
Główne zadania Samby to współdzielenie plików i drukarek, synchronizacja haseł pomiędzy systemami Linux i Windows, a także obsługa WINS (internetowego serwera nazw), SSL, serwera logowania dla sieci Windows, OpLock oraz LDAP.
Instalacja Samby
Aby zainstalować Sambę, należy uruchomić polecenie instalacyjne:
sudo dnf install -y samba samba-common samba-client
i aktywować usługę Samby w systemd:
sudo systemctl enable --now smb
Teraz Samba powinna pracować poprawnie i uruchamiać się od razu po starcie maszyny.
Tworzenie udziału
Udział należy stworzyć w katalogu /samba/public
(w głównym katalogu systemu):
sudo mkdir -p /samba/public
Teraz można nadać udziałowi odpowiednie uprawnienia za pomocą następujących poleceń:
sudo chmod -R 755 /samba/public
sudo chown -R nobody:nobody /samba/public
sudo chcon -t samba_share_t /samba/public
Następnie należy utworzyć odpowiedni udział, edytując plik /etc/samba/smb.conf
i na jego spodzie dodając następujące elementy:
[Public]
path = /samba/public
browseable = yes
public = yes
read only = no
writable = yes
guest only = yes
force create mode = 0666
force directory mode = 0777
Kolejny krok to zapisanie i zamknięcie pliku oraz restart Samby za pomocą polecenia:
sudo systemctl restart smb
Obsługa firewalla
Aby Samba była dostępna w otoczeniu sieciowym, należy dodać serwis do firewalla. W pierwszej kolejności trzeba utworzyć nową regułę zapory za pomocą polecenia:
sudo firewall-cmd --add-service=samba --zone=public --permanent
Następie należy ponownie uruchomić firewall za pomocą polecenia:
sudo firewall-cmd --reload
i sprawdzić status usługi:
systemctl status smb
W tym momencie udział Samby powinien być dostępny z innych maszyn w sieci. Dzięki powyższej konfiguracji nawet anonimowi użytkownicy będą posiadali dostęp do udziału – zarówno w trybie odczytu, jak i zapisu.
Zasoby Samby w systemie GNU/Linux:
Dostęp do udziału Samby z poziomu systemu Windows
Aby uzyskać dostęp do udziału Samby z komputera z systemem Windows, należy wcisnąć klawisz logo Windows + R. Następnie należy uruchomić okno dialogowe Uruchom i wprowadzić adres IP serwera Samby, poprzedzając go znakami \\, czyli np.: \\192.168.0.12.
Zasoby w systemie Windows powinny zaprezentować się następująco:
Zabezpieczony katalog współdzielony Samby
Jeżeli nie chcemy oferować tak szerokiego dostępu do udziału, możemy skonfigurować Sambę w taki sposób, by dostęp mieli tylko uprawnieni użytkownicy, posiadający konto w systemie.
Tak jak w przypadku dostępu publicznego, należy utworzyć nowy katalog, tym razem prywatny:
sudo mkdir -p /samba/private
Tworzymy nowego użytkownika systemowego share, wydając polecenie:
sudo useradd share
Następnie należy przypisać mu nowe hasło systemowe:
sudo passwd share
oraz nadać mu dostęp do folderu:
sudo chown -R share:share /samba/private
Nadanie nowemu użytkownikowi oddzielnego hasła do Samby wykonuje się za pomocą polecenia:
sudo smbpasswd -a share
Następnie należy aktywować użytkownika za pomocą polecenia:
sudo smbpasswd -e share
Wymagane jest również nadanie udziałowi odpowiednich uprawnień za pomocą poleceń:
sudo chmod -R 755 /samba/private
sudo chown -R share:share /samba/private
sudo chcon -t samba_share_t /samba/private
Ponownie należy edytować plik smb.conf – wpis Public powinien teraz wyglądać następująco:
[Public]
path = /samba/private
read only = no
create mask = 0644
writable = yes
browsable = yes
guest ok = yes
directory mask = 2777
Na koniec restartujemy Sambę za pomocą polecenia:
sudo systemctl restart smb
Teraz użytkownik share powinien posiadać pełny dostęp do udziału /samba/private
.
Podsumowanie
Oczywistą zaletą Samby jest fakt, że pakiet jest dostępny bezpłatnie i jest on zawarty domyślnie w repozytoriach większości dystrybucji Linux. Dzięki temu niewielkim kosztem możemy zastąpić w środowiskach korporacyjnych kosztowne serwery oparte na systemie Windows, serwerami linuksowymi, realizującymi te same funkcje.