Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu: Skills Rozpocznij
Sekcja
Linux

Jak zainstalować i skonfigurować Sambę na Ubuntu: Kompletny przewodnik krok po kroku

Samba to potężny pakiet oprogramowania open-source, który umożliwia bezproblemowe udostępnianie plików i drukarek między komputerami z systemami Windows i Unix-like, takimi jak Ubuntu. Instalując i prawidłowo konfigurując Sambę, możesz połączyć środowiska Linux i Windows, umożliwiając użytkownikom obu platform udostępnianie plików, katalogów, a nawet drukarek w sieci lokalnej lub rozległej.

Niezależnie od tego, czy zarządzasz laboratorium domowym, siecią małej firmy czy środowiskiem serwera produkcyjnego, ten kompleksowy przewodnik przeprowadzi Cię przez każdy etap instalacji, konfiguracji i zabezpieczania Samby na Ubuntu — w tym zaawansowane opcje, które pomijają większość samouczków.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz:

  • Serwer lub maszynę z systemem Ubuntu 20.04, 22.04 lub 24.04
  • Dostęp Sudo lub root do systemu
  • Podstawową wiedzę na temat wiersza poleceń Linux
  • Łączność sieciową między maszynami, które chcesz połączyć

Jeśli uruchamiasz Sambę na zdalnym serwerze, niezawodne i wydajne środowisko hostingowe jest niezbędne. Hosting VPS od AlexHost daje ci pełny dostęp root, dedykowane zasoby i elastyczność do konfiguracji serwera dokładnie tak, jak potrzebujesz.

Krok 1: Aktualizacja pakietów systemowych

Przed zainstalowaniem nowego oprogramowania konieczne jest zaktualizowanie indeksu pakietów systemu i uaktualnienie istniejących pakietów do ich najnowszych wersji. Zapewnia to kompatybilność i chroni przed znanymi lukami w zabezpieczeniach.

sudo apt update && sudo apt upgrade -y

Poczekaj na zakończenie procesu przed kontynuowaniem.

Krok 2: Instalacja Samby

Zainstaluj pakiet Samba za pomocą menedżera pakietów APT:

sudo apt install samba -y

Po zakończeniu instalacji sprawdź, czy była pomyślna, weryfikując wersję Samby:

smbd --version

Powinieneś zobaczyć dane wyjściowe podobne do:

Version 4.15.13-Ubuntu

Możesz również sprawdzić, czy usługa Samba jest uruchomiona:

sudo systemctl status smbd

Dane wyjściowe powinny pokazywać usługę jako active (running).

Krok 3: Wykonaj kopię zapasową domyślnego pliku konfiguracji Samba

Przed wprowadzeniem jakichkolwiek zmian zawsze wykonaj kopię zapasową oryginalnego pliku konfiguracji. Pozwala to przywrócić ustawienia domyślne, jeśli coś pójdzie nie tak:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Jest to najlepsza praktyka, którą wiele przewodników pomija, ale którą zawsze stosują doświadczeni administratorzy systemów.

Krok 4: Tworzenie i konfiguracja katalogu udostępnionego

4.1 Tworzenie katalogu

Zdecyduj, który katalog chcesz udostępnić w sieci. W tym przewodniku utworzymy dedykowany folder o nazwie shared wewnątrz katalogu domowego:

mkdir ~/shared

4.2 Ustawianie uprawnień katalogu

Ustaw odpowiednie uprawnienia dla katalogu. W środowisku udostępnionym, gdzie wielu użytkowników potrzebuje dostępu do odczytu i zapisu:

chmod 777 ~/shared

> Uwaga dotycząca bezpieczeństwa: Ustawienie chmod 777 przyznaje pełne uprawnienia do odczytu, zapisu i wykonywania wszystkim użytkownikom. Chociaż wygodne do testowania, nie jest to zalecane w środowiskach produkcyjnych. W konfiguracji produkcyjnej użyj bardziej restrykcyjnych uprawnień, takich jak chmod 770 i zarządzaj dostępem poprzez członkostwo w grupach.

Krok 5: Konfiguracja Samby — Edycja smb.conf

Otwórz główny plik konfiguracyjny Samby za pomocą edytora tekstu:

sudo nano /etc/samba/smb.conf

Przewiń do samego końca pliku i dodaj następujący blok konfiguracyjny:

[SharedFolder]
   path = /home/username/shared
   available = yes
   valid users = username
   read only = no
   browsable = yes
   public = yes
   writable = yes

Zastąp username swoją rzeczywistą nazwą użytkownika systemu Ubuntu.

Zrozumienie każdej dyrektywy

DyrektywaOpis
pathBezwzględna ścieżka do udostępnianego katalogu
availableCzy udział jest dostępny dla użytkowników
valid usersOgranicza dostęp do wymienionych użytkowników
read onlyUstaw na no aby umożliwić dostęp do zapisu
browsableCzy udział pojawia się podczas przeglądania sieci
publicUmożliwia dostęp bez uwierzytelniania (używaj ostrożnie)
writableUmożliwia użytkownikom zapisywanie plików w udziale

Po dokonaniu zmian zapisz plik naciskając CTRL + O, następnie Enter i wyjdź za pomocą CTRL + X.

Weryfikacja konfiguracji

Przed ponownym uruchomieniem Samby przetestuj plik konfiguracyjny pod kątem błędów składni:

testparm

To polecenie analizuje plik smb.conf i zgłasza wszelkie problemy. Napraw wszelkie błędy przed kontynuowaniem.

Krok 6: Utwórz konto użytkownika Samba

Samba utrzymuje własną bazę danych haseł oddzieloną od standardowych haseł systemu Linux. Musisz dodać hasło specyficzne dla Samby dla każdego użytkownika, który potrzebuje dostępu do udziału.

sudo smbpasswd -a username

Zostaniesz poproszony o wprowadzenie i potwierdzenie hasła. To hasło będzie wymagane podczas łączenia się z folderem udostępnionym z zdalnej maszyny Windows lub Linux.

> Wskazówka: Użyj silnego, unikalnego hasła dla każdego użytkownika Samby. Unikaj ponownego używania haseł systemowych.

Aby włączyć konto użytkownika w Sambie (jeśli było wcześniej wyłączone):

sudo smbpasswd -e username

Krok 7: Konfiguracja zapory sieciowej

Jeśli masz włączoną UFW (Uncomplicated Firewall) na serwerze Ubuntu, musisz zezwolić na ruch Samba przez zaporę sieciową:

sudo ufw allow samba

Sprawdź, czy reguła została dodana:

sudo ufw status

Samba używa następujących portów:

  • TCP 445 — SMB over TCP (główny)
  • TCP 139 — Usługa sesji NetBIOS
  • UDP 137 & 138 — Usługi nazw i datagramów NetBIOS

Krok 8: Uruchom ponownie i włącz usługi Samba

Zastosuj zmiany konfiguracji, uruchamiając ponownie usługi Samba:

sudo systemctl restart smbd
sudo systemctl restart nmbd

Włącz obie usługi, aby uruchamiały się automatycznie przy starcie systemu:

sudo systemctl enable smbd
sudo systemctl enable nmbd

Usługa nmbd obsługuje rozpoznawanie nazw NetBIOS, które jest ważne dla klientów Windows, aby odkryć serwer Samba po nazwie w sieci lokalnej.

Krok 9: Dostęp do folderu udostępnionego z systemu Windows

Z dowolnego komputera z systemem Windows w tej samej sieci możesz teraz połączyć się z udziałem Samba Ubuntu:

  1. Otwórz Eksplorator plików
  2. Na pasku adresu wpisz ścieżkę sieciową do maszyny Ubuntu:
   ubuntu_ip_addressSharedFolder

Zastąp ubuntu_ip_address rzeczywistym adresem IP serwera Ubuntu (np. 192.168.1.100SharedFolder)

  1. Po wyświetleniu monitu wprowadź nazwę użytkownika Samba i hasło skonfigurowane w Kroku 6
  2. Folder udostępniony pojawi się teraz w Eksploratorze plików i możesz czytać, pisać, kopiować i usuwać pliki tak jak w przypadku dowolnego folderu lokalnego

Mapuj udział jako dysk sieciowy (opcjonalnie)

Aby uzyskać stały dostęp, możesz mapować udział Samba jako dysk sieciowy w systemie Windows:

  1. Kliknij prawym przyciskiem myszy Ten komputer w Eksploratorze plików
  2. Wybierz Mapuj dysk sieciowy
  3. Wybierz literę dysku i wprowadź ścieżkę sieciową
  4. Zaznacz Ponownie połącz przy logowaniu w celu automatycznego montowania

Krok 10: Dostęp do udziału Samba z innego systemu Linux

Na innym komputerze Linux możesz połączyć się z udziałem Samba za pomocą narzędzia wiersza poleceń smbclient.

Najpierw zainstaluj smbclient, jeśli nie jest jeszcze obecny:

sudo apt install smbclient -y

Następnie połącz się z udziałem:

smbclient //ubuntu_ip_address/SharedFolder -U username

Wprowadź hasło Samba po wyświetleniu monitu. Zostaniesz przeniesiony do interaktywnej powłoki podobnej do FTP, gdzie możesz używać poleceń takich jak ls, get, put i cd do nawigacji i transferu plików.

Zamontuj udział Samba na Linux

Aby uzyskać bardziej bezproblemowe doświadczenie, możesz zamontować udział Samba jako lokalny system plików za pomocą cifs-utils:

sudo apt install cifs-utils -y
sudo mkdir /mnt/samba_share
sudo mount -t cifs //ubuntu_ip_address/SharedFolder /mnt/samba_share -o username=username,password=yourpassword

Aby zamontowanie było trwałe po ponownym uruchomieniu, dodaj wpis do /etc/fstab:

//ubuntu_ip_address/SharedFolder /mnt/samba_share cifs username=username,password=yourpassword,_netdev 0 0

> Wskazówka bezpieczeństwa: Zamiast przechowywać poświadczenia w /etc/fstab, użyj pliku poświadczeń z ograniczonymi uprawnieniami.

Krok 11: Zaawansowane opcje konfiguracji Samby

Samba's smb.conf obsługuje szeroki zakres dyrektyw, które dają Ci precyzyjną kontrolę nad środowiskiem udostępniania plików. Oto najużyteczniejsze zaawansowane opcje:

Dostęp tylko do odczytu

Aby uniemożliwić użytkownikom modyfikowanie plików w udziale, ustaw:

read only = yes

Dostęp gościa (udziały anonimowe)

Aby zezwolić użytkownikom na połączenie bez hasła:

guest ok = yes
public = yes

> Używaj dostępu gościa tylko w zaufanych, izolowanych sieciach. Nigdy nie włączaj go na serwerze dostępnym publicznie.

Ograniczenie dostępu według adresu IP

Aby ograniczyć, które maszyny mogą się połączyć z udziałem:

hosts allow = 192.168.1.0/24
hosts deny = ALL

To ogranicza dostęp tylko do maszyn w podsieci 192.168.1.x.

Wiele udostępnionych folderów

Możesz zdefiniować tyle udziałów, ile potrzebujesz, dodając dodatkowe bloki do smb.conf:

[Documents]
   path = /home/username/documents
   valid users = username
   read only = no
   writable = yes

[Backups]
   path = /srv/backups
   valid users = admin
   read only = yes
   browsable = no

Ustaw maksymalną liczbę połączeń

Aby ograniczyć liczbę jednoczesnych połączeń z udziałem:

max connections = 10

Wymuś konkretnego użytkownika lub grupę

Aby upewnić się, że wszystkie pliki są tworzone z konkretną własnością użytkownika lub grupy:

force user = samba_user
force group = samba_group

Krok 12: Zabezpieczanie instalacji Samby

Bezpieczeństwo jest najważniejsze, szczególnie jeśli serwer Samba jest dostępny poza siecią lokalną. Postępuj zgodnie z tymi najlepszymi praktykami hartowania:

1. Wyłącz dostęp gościa

O ile nie jest to wyraźnie wymagane, zawsze wyłącz dostęp anonimowy:

map to guest = Never

2. Używaj silnych haseł

Wymuś silne, unikalne hasła dla wszystkich użytkowników Samby. Unikaj słów ze słownika i używaj kombinacji wielkich liter, małych liter, cyfr i symboli.

3. Ogranicz widoczność udziałów

Ustaw browsable = no na wrażliwych udziałach, aby nie pojawiały się podczas przeglądania sieci. Użytkownicy, którzy znają dokładną ścieżkę, mogą się nadal połączyć.

4. Ogranicz uprawnienia w katalogach udostępnionych

Zastosuj zasadę najmniejszych uprawnień — przyznaj tylko uprawnienia, które użytkownicy faktycznie potrzebują. Unikaj chmod 777 w produkcji.

5. Powiąż Sambę z konkretnym interfejsem

Jeśli serwer ma wiele interfejsów sieciowych, powiąż Sambę tylko z interfejsem wewnętrznym:

[global]
   interfaces = eth0 lo
   bind interfaces only = yes

6. Włącz rejestrowanie

Włącz rejestrowanie Samby, aby monitorować dostęp i wykrywać podejrzaną aktywność:

[global]
   log file = /var/log/samba/log.%m
   max log size = 1000
   log level = 1

7. Aktualizuj Sambę

Regularnie aktualizuj Sambę, aby załatać znane luki bezpieczeństwa:

sudo apt update && sudo apt upgrade samba -y

Wybór odpowiedniego środowiska hostingowego dla serwera Samba

Wydajność i niezawodność serwera plików Samba zależą w dużej mierze od infrastruktury bazowej. Oto kilka opcji hostingowych do rozważenia na podstawie Twojego przypadku użycia:

  • Małe zespoły i projekty osobiste: Hosting współdzielony zapewnia niedrogą opcję wejścia dla lekkich obciążeń.
  • Rozwijające się firmy i zespoły programistyczne: Hosting VPS oferuje dedykowane zasoby, pełny dostęp root i skalowalność potrzebną do uruchamiania Samby wraz z innymi usługami.
  • Obciążenia o wysokiej wydajności lub dla przedsiębiorstw: Serwery dedykowane zapewniają maksymalną wydajność, pojemność magazynowania i przepustowość sieci — idealne dla dużych środowisk udostępniania plików.
  • Aplikacje AI i intensywnie korzystające z danych: Jeśli uruchamiasz Sambę wraz z obciążeniami uczenia maszynowego lub przetwarzania danych, Hosting GPU zapewnia potrzebną moc obliczeniową.

Dla zespołów, które potrzebują również zarządzanego panelu sterowania, VPS z cPanel upraszcza zarządzanie serwerem, jednocześnie dając Ci elastyczność do instalacji i konfiguracji Samby.

Rozwiązywanie typowych problemów z Sambą

Nie można się połączyć z systemu Windows

  • Sprawdź, czy usługa Samba jest uruchomiona: sudo systemctl status smbd
  • Sprawdź reguły zapory: sudo ufw status
  • Potwierdź, że adres IP jest prawidłowy i osiągalny: ping ubuntu_ip_address
  • Upewnij się, że nazwa użytkownika i hasło odpowiadają temu, co zostało ustawione za pomocą smbpasswd

Odmowa dostępu podczas uzyskiwania dostępu do udziału

  • Sprawdź uprawnienia do katalogu: ls -la ~/shared
  • Sprawdź, czy dyrektywa valid users w smb.conf odpowiada nazwie użytkownika Samby
  • Potwierdź, że użytkownik został dodany za pomocą smbpasswd -a username

Udział Samby nie jest widoczny w sieci

  • Upewnij się, że nmbd jest uruchomiony: sudo systemctl status nmbd
  • Ustaw browsable = yes w konfiguracji udziału
  • Sprawdź, czy maszyna Windows i serwer Ubuntu znajdują się w tej samej podsieci

Błędy konfiguracji po edycji smb.conf

  • Uruchom testparm, aby zidentyfikować błędy składni
  • Przywróć kopię zapasową w razie potrzeby: sudo cp /etc/samba/smb.conf.bak /etc/samba/smb.conf

Podsumowanie

Instalacja i konfiguracja Samby na Ubuntu to jeden z najskuteczniejszych sposobów na umożliwienie udostępniania plików między platformami w systemach Linux i Windows. Postępując zgodnie z tym przewodnikiem, nauczyłeś się:

  • Instalować Sambę i weryfikować instalację
  • Tworzyć i konfigurować katalogi udostępniane z odpowiednimi uprawnieniami
  • Dodawać użytkowników Samby i zarządzać uwierzytelnianiem
  • Konfigurować zaporę sieciową, aby zezwolić na ruch Samby
  • Uzyskiwać dostęp do udziałów z klientów Windows i Linux
  • Stosować zaawansowane opcje konfiguracji do kontroli dostępu i wydajności
  • Wzmacniać instalację Samby przed typowymi zagrożeniami bezpieczeństwa

Dzięki odpowiedniej infrastrukturze serwerowej i prawidłowo skonfigurowanej Sambie możesz zbudować niezawodne, bezpieczne i wydajne środowisko udostępniania plików, które bezproblemowo obsługuje użytkowników Linux i Windows. Niezależnie od tego, czy uruchamiasz Sambę na maszynie lokalnej, czy w środowisku VPS Hosting opartym na chmurze, zasady zawarte w tym przewodniku pomogą Ci maksymalnie wykorzystać wdrożenie.