Udostępnienie katalogu w sieci najczęściej sprowadza się do trzech rzeczy: wyboru właściwego protokołu, ustawienia uprawnień i dopięcia dostępu z drugiego komputera. W praktyce najwygodniej robi się to przez SMB/Sambę, bo ten sam udział otworzysz z Windows, Linuxa i macOS. Pokażę, jak udostępnić folder w sieci bez robienia z tego projektu na pół dnia i bez otwierania danych na cały świat.
Najkrótsza droga do działającego udziału sieciowego
- SMB/Samba to najbezpieczniejszy wybór dla sieci mieszanej, bo działa z Windows i Linuksem.
- Sam katalog na dysku nie wystarczy. Muszą się zgadzać uprawnienia systemowe, konfiguracja Samby i firewall.
- Do połączenia z Windows zwykle używa się ścieżki
\\nazwa-komputera\udział, a w Linuksiesmb://lubmount.cifs. - Udział gościnny ma sens tylko dla nieistotnych plików i w zaufanej sieci lokalnej.
- Jeśli pracujesz wyłącznie na Linuksie, czasem lepszy będzie NFS, ale do codziennego domu i małego biura SMB jest po prostu wygodniejszy.
Najpierw wybierz protokół, bo od tego zależy cały układ
Gdy konfiguruję udostępnianie plików, nie zaczynam od kliknięć, tylko od pytania: kto ma z tego korzystać. Jeśli w grę wchodzą Windows i Linux jednocześnie, prawie zawsze wybieram SMB/Sambę. To obecnie najpraktyczniejszy standard do współdzielenia folderów w sieci lokalnej, bo obsługuje uwierzytelnianie, prawa dostępu i montowanie udziału po stronie klienta.
| Rozwiązanie | Kiedy ma sens | Największa zaleta | Ograniczenie |
|---|---|---|---|
| SMB / Samba | Sieć mieszana: Windows, Linux, macOS | Najbardziej uniwersalny udział folderu | Wymaga dopięcia uprawnień i firewalla |
| NFS | Środowisko głównie linuksowe lub unixowe | Dobre osiągi i prosty model po stronie Linuksa | Gorsza wygoda poza Linuksem |
| SFTP / SSH | Bezpieczne kopiowanie plików lub dostęp administracyjny | Wysoki poziom bezpieczeństwa | To nie jest klasyczny współdzielony folder |
Moje praktyczne podejście jest proste: SMB wybieram domyślnie, a NFS zostawiam wtedy, gdy całe środowisko jest linuksowe i naprawdę zależy mi na prostocie po stronie serwera. Gdy wybór pada na SMB, następny krok to już konkretna konfiguracja Samby.
Udostępnianie folderu przez Sambę w Linuksie
W Sambie najważniejsze jest to, żeby nie mieszać warstwy sieciowej z prawami plików. Folder może być widoczny w sieci, ale jeśli system plików nie pozwala na odczyt albo zapis, użytkownik i tak zobaczy błąd. Dlatego zaczynam od katalogu, grupy i dopiero potem dopisuję udział w smb.conf.
-
Utwórz katalog i grupę dla udziału
Wydziel osobny katalog, najlepiej pod
/srvalbo inną lokalizacją przeznaczoną na zasoby sieciowe. Daje to porządek i ułatwia późniejszą kontrolę dostępu.sudo groupadd udzial sudo mkdir -p /srv/samba/projekt sudo chown -R root:udzial /srv/samba/projekt sudo chmod 2770 /srv/samba/projekt -
Zainstaluj Sambę i dodaj użytkownika
Na Debianie, Ubuntu i pochodnych zwykle wystarcza pakiet
sambaoraz klient CIFS, jeśli planujesz też montowanie udziałów po stronie Linuksa. Potem dodaj użytkownika do grupy i ustaw hasło Samby.sudo apt update sudo apt install samba cifs-utils sudo usermod -aG udzial ala sudo smbpasswd -a ala -
Dodaj definicję udziału
W dokumentacji Samby właśnie
smb.confjest centralnym miejscem konfiguracji. Ja trzymam tam tylko to, co naprawdę potrzebne: ścieżkę, poziom dostępu i ograniczenie do grupy.[projekt] path = /srv/samba/projekt browseable = yes read only = no valid users = @udzial force group = udzial create mask = 0660 directory mask = 2770 -
Sprawdź składnię i uruchom usługę
Zanim zaczynasz testować dostęp z innego komputera, zawsze sprawdzam konfigurację lokalnie. To oszczędza dużo czasu, bo błędny wpis w pliku konfiguracyjnym potrafi wyglądać jak problem z siecią.
sudo testparm sudo systemctl restart smbd sudo ufw allow Samba
Jeśli używasz dystrybucji z SELinux, sam chmod nie wystarczy. Katalog musi mieć jeszcze właściwy kontekst bezpieczeństwa, inaczej udział będzie wyglądał poprawnie, ale dostęp zakończy się odmową. To jeden z tych szczegółów, które początkujący często ignorują, a później szukają błędu po złej stronie.
Po tej konfiguracji folder jest już udostępniony, ale nadal nie znaczy to, że każdy zobaczy wszystko. O tym, kto ma dostęp i czy może zapisywać pliki, decyduje następna warstwa.
Uprawnienia decydują o tym, kto naprawdę zobaczy dane
Najważniejsza zasada brzmi: Samba nie omija uprawnień systemu plików. Jeśli katalog lokalnie jest zamknięty dla użytkownika lub grupy, to przez sieć nie stanie się cudownie otwarty. W praktyce trzeba pilnować trzech poziomów: uprawnień Linuksa, ustawień Samby i tego, czy udział ma być tylko do odczytu, czy też do zapisu.
| Ustawienie | Co robi | Kiedy używam |
|---|---|---|
read only = yes/no |
Włącza albo blokuje zapis | Gdy udział ma służyć tylko do pobierania plików albo do wspólnej pracy |
valid users = @grupa |
Ogranicza dostęp do konkretnej grupy | Gdy nie chcę otwierać folderu dla wszystkich w sieci |
force group = grupa |
Wymusza wspólną grupę dla nowych plików | Gdy kilka osób zapisuje do jednego katalogu |
create mask i directory mask
|
Kontrolują prawa nowych plików i katalogów | Gdy chcę uniknąć zbyt otwartych uprawnień |
guest ok = yes |
Włącza dostęp bez logowania | Tylko dla naprawdę nieistotnych danych i zaufanej sieci |
Jeżeli kilka osób ma pracować na tym samym folderze, zwykle lepiej dać dostęp grupie niż rozdawać prawa pojedynczym użytkownikom. To prostsze w utrzymaniu i łatwiej później wycofać dostęp jednej osobie bez grzebania w całej konfiguracji. Jeżeli jednak w grę wchodzą dane wrażliwe, ja od razu odrzucam udział gościnny i opieram się na użytkownikach z hasłem.
Gdy warstwa uprawnień jest już uporządkowana, pora sprawdzić, jak wygląda dostęp z klienta. Tu różnice między Windows i Linuksem są niewielkie, ale kilka szczegółów robi dużą różnicę.
Jak wejść do udziału z Windows i z innego Linuksa
Po stronie Windows najwygodniej otworzyć Eksplorator plików i wpisać adres udziału w formie UNC, czyli \\adres-ip\udział albo \\nazwa-komputera\udział. Jeśli nazwa hosta nie działa, adres IP zwykle rozwiązuje problem od razu. W praktyce to najpewniejsza metoda testowa, bo odcina błędy DNS i nazw sieciowych.
W Linuksie masz dwa sensowne warianty. Pierwszy to kliknięcie udziału w menedżerze plików przez smb://. Drugi to montowanie przez mount.cifs, jeśli chcesz traktować udział jak zwykły katalog lokalny.
sudo mkdir -p /mnt/projekt
sudo mount -t cifs //192.168.1.20/projekt /mnt/projekt -o username=ala,uid=$(id -u),gid=$(id -g)
Jeśli udział ma być montowany stale, lepiej nie wpisywać hasła wprost do polecenia, bo zostanie w historii powłoki. Wtedy tworzę plik z danymi logowania i odwołuję się do niego z /etc/fstab. To nie jest efektowne rozwiązanie, ale jest po prostu rozsądne.
//192.168.1.20/projekt /mnt/projekt cifs credentials=/etc/samba/projekt.creds,uid=1000,gid=1000,iocharset=utf8,_netdev 0 0
W sieci mieszanej ten sam udział otworzą też macOS i wiele urządzeń NAS. To kolejny powód, dla którego SMB pozostaje tak praktyczny: zamiast tłumaczyć się każdemu klientowi osobnym protokołem, trzymasz jeden spójny sposób dostępu. Gdy po stronie klienta wszystko działa, najczęściej zostają już tylko typowe błędy konfiguracyjne.
Co zwykle psuje udostępnianie i jak to szybko wyłapać
W większości przypadków problem nie leży w „sieci” jako takiej, tylko w jednym z kilku powtarzalnych punktów. Gdy coś nie działa, sprawdzam je w tej kolejności, bo to najszybciej prowadzi do źródła problemu.
- Folder jest widoczny, ale nie da się wejść - zwykle winne są uprawnienia systemowe albo brak użytkownika Samby.
- Po nazwie hosta nic nie działa - sprawdź DNS, NetBIOS albo po prostu użyj adresu IP.
-
Udział widać, ale nie da się zapisywać - źle ustawione
create mask,directory maskalbo prawa katalogu. - Windows nie widzi komputera z Linuksem - często blokuje go firewall albo wyłączone wykrywanie sieci; samo SMB może działać mimo tego.
- Połączenie wymaga starego SMB1 - nie włączam go w pierwszym odruchu. To rozwiązanie awaryjne dla przestarzałych urządzeń, nie dla normalnej pracy.
-
Linuksowy klient zgłasza odmowę - sprawdź
testparm, logi Samby i ewentualne ograniczenia SELinux lub AppArmor.
Najbardziej praktyczna diagnostyka wygląda tak: najpierw testparm, potem logi usługi, a dopiero na końcu zgadywanie. Dobrze też pamiętać, że wiele problemów z „niewidocznym udziałem” jest tylko problemem z nazwą hosta albo zaporą sieciową, nie z samym folderem. To oszczędza nerwy i skraca czas naprawy bardziej niż jakikolwiek trik.
Najbardziej sensowna konfiguracja na co dzień
Gdybym miał wybrać jeden zestaw ustawień do domu albo małego biura, zrobiłbym to możliwie prosto: jeden katalog, jedna grupa, dostęp po haśle i brak gościa dla plików, które mają jakąkolwiek wartość. To nie jest najbardziej efektowna konfiguracja, ale jest stabilna, łatwa do zrozumienia i prosta do odtworzenia po zmianie komputera.
Jeśli chcesz ograniczyć ryzyko błędów, trzymaj się tej zasady: SMB do współdzielenia, NFS tylko gdy pracujesz wyłącznie na Linuksie, a SFTP do okazjonalnego przesyłania plików. Wtedy nie mylisz narzędzia do pracy zespołowej z narzędziem do transferu, a to rozróżnienie naprawdę robi różnicę. Ja właśnie od tego zaczynam każdą sensowną konfigurację udziału sieciowego, bo później wszystko jest już tylko konsekwencją tego wyboru.