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 -yCzekaj na zakończenie procesu przed kontynuowaniem.
Krok 2: Instalacja Samby
Zainstaluj pakiet Samba za pomocą menedżera pakietów APT:
sudo apt install samba -yPo zakończeniu instalacji sprawdź, czy była pomyślna, sprawdzając wersję Samby:
smbd --versionPowinieneś zobaczyć dane wyjściowe podobne do:
Version 4.15.13-UbuntuMożesz również sprawdzić, czy usługa Samba jest uruchomiona:
sudo systemctl status smbdDane 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.bakTo 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 ~/shared4.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.confPrzewiń 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 = yesZastąp username rzeczywistą nazwą użytkownika systemu Ubuntu.
Zrozumienie każdej dyrektywy
| Dyrektywa | Opis |
|---|---|
path | Bezwzględna ścieżka do udostępnianego katalogu |
available | Czy udział jest dostępny dla użytkowników |
valid users | Ogranicza dostęp do wymienionych użytkowników |
read only | Ustaw na no aby umożliwić dostęp do zapisu |
browsable | Czy udział pojawia się podczas przeglądania sieci |
public | Umożliwia dostęp bez uwierzytelniania (używaj ostrożnie) |
writable | Umoż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:
testparmTo 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 usernameZostaniesz 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 usernameKrok 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 sambaSprawdź, czy reguła została dodana:
sudo ufw statusSamba 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 nmbdWłącz obie usługi, aby uruchamiały się automatycznie przy starcie systemu:
sudo systemctl enable smbd
sudo systemctl enable nmbdUsł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:
- Otwórz Eksplorator plików
- Na pasku adresu wpisz ścieżkę sieciową do maszyny Ubuntu:
ubuntu_ip_addressSharedFolderZastąp ubuntu_ip_address rzeczywistym adresem IP serwera Ubuntu (np. 192.168.1.100SharedFolder)
- Po wyświetleniu monitu wprowadź nazwę użytkownika Samby i hasło, które skonfigurowałeś w kroku 6
- 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:
- Kliknij prawym przyciskiem myszy Ten komputer w Eksploratorze plików
- Wybierz Mapuj dysk sieciowy
- Wybierz literę dysku i wprowadź ścieżkę sieciową
- 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 -yNastępnie połącz się z udziałem:
smbclient //ubuntu_ip_address/SharedFolder -U usernameWprowadź 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=yourpasswordAby 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 = yesDostę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 = ALLTo 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 = noUstawianie maksymalnych połączeń
Aby ograniczyć liczbę jednoczesnych połączeń z udziałem:
max connections = 10Wymuszenie 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_groupKrok 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 = Never2. 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 = yes6. 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 = 17. Aktualizowanie Samby
Regularnie aktualizuj Sambę, aby załatać znane luki w zabezpieczeniach:
sudo apt update && sudo apt upgrade samba -yWybór odpowiedniego środowiska hostingowego dla serwera Samby
Wydajność i niezawod
