Samba to potężny zestaw oprogramowania open-source, który umożliwia bezproblemowe udostępnianie plików i drukarek między systemami Linux/Unix a klientami Windows. Pozwala on systemom Linux działać jako serwery plików Windows, co czyni go niezbędnym narzędziem w środowiskach mieszanych, takich jak sieci korporacyjne czy domowe.

Ten przewodnik przeprowadzi cię przez instalację i konfigurację Samby na systemie Linux, umożliwiając łatwe udostępnianie katalogów i zarządzanie uprawnieniami dostępu.

Czym jest Samba?

Samba implementuje protokoły SMB (Server Message Block) oraz CIFS (Common Internet File System), które są używane przez Windows do udostępniania plików i drukarek. Umożliwia:

  • systemom Linux udostępnianie plików z maszynami Windows

  • systemom Linux dostęp do udostępnionych folderów Windows

  • Centralizowany dostęp do wspólnych zasobów w heterogenicznych sieciach

Krok 1: Zainstaluj Sambę

Proces instalacji może się nieco różnić w zależności od dystrybucji Linuxa.

Dla Debian/Ubuntu:

sudo apt update
sudo apt install samba

Dla CentOS/RHEL (7/8+):

sudo yum install samba samba-client samba-common

Dla Fedory:

sudo dnf install samba

Aby zweryfikować instalację:

smbd --version

Krok 2: Utwórz udostępniony katalog

Utwórz katalog, który chcesz udostępnić użytkownikom sieci.

sudo mkdir -p /srv/samba/shared
sudo chown -R nobody:nogroup /srv/samba/shared
sudo chmod -R 0775 /srv/samba/shared

Te uprawnienia pozwalają na dostęp do odczytu/zapisu dla użytkowników gościnnych (można je dostosować dla użytkowników uwierzytelnionych).

Krok 3: Skonfiguruj serwer Samba

Otwórz plik konfiguracyjny Samby:

sudo nano /etc/samba/smb.conf

Na końcu pliku dodaj następujący blok:

[Shared]
path = /srv/samba/shared
browsable = yes
read only = no
guest ok = yes

Definiuje to udostępniony folder o nazwie „Shared”, który jest dostępny bez hasła (dostęp gościnny). Dla większego bezpieczeństwa wyłącz guest ok i skonfiguruj dostęp na poziomie użytkownika.

Po edytowaniu zapisz i zamknij plik.

Krok 4: Ustaw użytkownika Samba

Jeśli wolisz uwierzytelnianie użytkowników zamiast dostępu gościnnego, utwórz użytkownika Samba:

sudo useradd sambauser
sudo passwd sambauser
sudo smbpasswd -a sambauser

Następnie dostosuj blok udostępniania w smb.conf:

[Shared]
path = /srv/samba/shared
valid users = sambauser
read only = no

Krok 5: Uruchom ponownie usługi Samba

Zastosuj nową konfigurację, uruchamiając ponownie usługi Samba:

sudo systemctl restart smbd
sudo systemctl enable smbd

Aby sprawdzić status:

sudo systemctl status smbd

Krok 6: Dostosuj zaporę

Jeśli używasz zapory, zezwól na ruch Samby:

Dla UFW (Ubuntu):

sudo ufw allow 'Samba'

Dla firewalld (CentOS, Fedora):

sudo firewall-cmd --permanent --zone=public --add-service=samba
sudo firewall-cmd --reload

Krok 7: Uzyskaj dostęp do udostępnionego folderu

Z systemu Windows:

  • Otwórz Eksplorator plików

  • Wprowadź adres IP swojego systemu Linux w pasku adresu, np.:

    \192.168.1.100Shared
  • Uwierzytelnij się, jeśli to konieczne

Z innego systemu Linux:

Użyj narzędzia smbclient:

smbclient //192.168.1.100/Shared -U sambauser

Lub zamontuj udostępnienie:

sudo mount -t cifs //192.168.1.100/Shared /mnt/samba -o username=sambauser

Podsumowanie

Samba to potężne narzędzie, które łączy różnice między udostępnianiem plików w systemach Linux i Windows. Niezależnie od tego, czy konfigurujesz domowy serwer multimedialny, czy zarządzasz zasobami w sieci biznesowej, Samba oferuje elastyczność i kompatybilność potrzebną do zapewnienia płynnej interoperacyjności. Odpowiednia konfiguracja, kontrola dostępu użytkowników i zasady zapory pomogą zapewnić bezpieczne i efektywne udostępnianie plików.

Jeśli potrzebujesz pomocy w zaawansowanych konfiguracjach, takich jak udostępnianie drukarek, Samba jako kontroler domeny lub integracja z Active Directory, nie wahaj się poprosić o przewodnik uzupełniający.