15%

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
31.10.2024

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 większość samouczków pomija.

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 krytyczne 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

Czekaj 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, sprawdzają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: Kopia zapasowa domyślnego pliku konfiguracji Samby

Przed wprowadzeniem jakichkolwiek zmian zawsze utwórz 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

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

Krok 4: Tworzenie i konfiguracja udostępnionego katalogu

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 do katalogu. Dla środowiska udostępnionego, w którym wielu użytkowników potrzebuje dostępu do odczytu i zapisu:

chmod 777 ~/shared

> Uwaga bezpieczeństwa: Ustawienie chmod 777 przyznaje pełne uprawnienia do odczytu, zapisu i wykonania 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 grupie.

Krok 5: Konfiguracja Samby — edycja smb.conf

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

sudo nano /etc/samba/smb.conf

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

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

Zastąp username 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 pisanie plików do udziału

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

Walidacja konfiguracji

Przed ponownym uruchomieniem Samby przetestuj plik konfiguracji 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: Tworzenie konta użytkownika Samby

Samba utrzymuje własną bazę danych haseł oddzieloną od standardowych haseł systemowych 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 udostępnionym folderem ze 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

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

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 przez TCP (główny)
  • TCP 139 — Usługa sesji NetBIOS
  • UDP 137 i 138 — Usługi nazw i datagramów NetBIOS

Krok 8: Ponowne uruchomienie i włączenie usług Samby

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

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 Samby po nazwie w sieci lokalnej.

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

Z dowolnego komputera z systemem Windows w tej samej sieci możesz teraz połączyć się z udostępnianiem Samby na 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 Samby i hasło, które skonfigurowałeś w kroku 6
  2. Udostępniony folder pojawi się teraz w Eksploratorze plików i możesz odczytywać, pisać, kopiować i usuwać pliki tak, jak w przypadku dowolnego folderu lokalnego

Mapowanie udziału jako dysku sieciowego (opcjonalnie)

Aby uzyskać trwały dostęp, możesz mapować udział Samby 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 dla automatycznego montowania

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

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

Najpierw zainstaluj smbclient, jeśli nie jest już obecny:

sudo apt install smbclient -y

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

smbclient //ubuntu_ip_address/SharedFolder -U username

Wprowadź hasło Samby 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.

Montowanie udziału Samby na Linux

Aby uzyskać bardziej bezproblemowe doświadczenie, możesz montować udział Samby 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 montowanie było trwałe między ponownym uruchomieniami, 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 przechowywania poświadczeń w /etc/fstab, użyj pliku poświadczeń z ograniczonymi uprawnieniami.

Krok 11: Zaawansowane opcje konfiguracji Samby

smb.conf Samby obsługuje szeroki zakres dyrektyw, które dają Ci precyzyjną kontrolę nad środowiskiem udostępniania plików. Oto najczęściej używane opcje zaawansowane:

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 umożliwić użytkownikom łączenie się 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ę łą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

Ustawianie maksymalnych połączeń

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

max connections = 10

Wymuszenie określonego użytkownika lub grupy

Aby upewnić się, że wszystkie pliki są tworzone z określoną 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 Samby jest dostępny poza siecią lokalną. Postępuj zgodnie z tymi najlepszymi praktykami hartowania:

1. Wyłączenie dostępu gościa

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

map to guest = Never

2. Używanie 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. Ograniczenie widoczności udziału

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 łączyć.

4. Ograniczenie uprawnień do udostępnionych katalogów

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

5. Powiązanie Samby z określonym 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łączenie rejestrowania

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. Aktualizowanie Samby

Regularnie aktualizuj Sambę, aby załatać znane luki w zabezpieczeniach:

sudo apt update && sudo apt upgrade samba -y

Wybór odpowiedniego środowiska hostingowego dla serwera Samby

Wydajność i niezawod

15%

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