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 -yPoczekaj 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, weryfikują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: 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.bakJest 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 ~/shared4.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.confPrzewiń 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 = yesZastąp username swoją 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 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:
testparmTo 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 usernameZostaniesz 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 usernameKrok 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 sambaSprawdź, czy reguła została dodana:
sudo ufw statusSamba 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 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 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:
- 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 Samba i hasło skonfigurowane w Kroku 6
- 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:
- 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 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 -yNastępnie połącz się z udziałem:
smbclient //ubuntu_ip_address/SharedFolder -U usernameWprowadź 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=yourpasswordAby 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 = yesDostę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 = 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 = noUstaw maksymalną liczbę połączeń
Aby ograniczyć liczbę jednoczesnych połączeń z udziałem:
max connections = 10Wymuś 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_groupKrok 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 = Never2. 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 = yes6. 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 = 17. Aktualizuj Sambę
Regularnie aktualizuj Sambę, aby załatać znane luki bezpieczeństwa:
sudo apt update && sudo apt upgrade samba -yWybó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 userswsmb.confodpowiada 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
nmbdjest uruchomiony:sudo systemctl status nmbd - Ustaw
browsable = yesw 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.
na wszystkich usługach hostingowych