MC, 2018
Ilustracja do artykułu: Linux/Ubuntu & Samba- Konfiguracja współdzielonego katalogu z anonimowym dostępem

Linux/Ubuntu & Samba- Konfiguracja współdzielonego katalogu z anonimowym dostępem

W małych, domowych sieciach często zachodzi potrzeba współdzielenia plików między komputerami. Jeśli nie są to żadne wrażliwe dane, a jedynie zdjęcia, muzyka i im podobne treści, a także jest to sieć zamknięta, można nieco przymknąć oko na kwestie bezpieczeństwa i pozwolić na dostęp anonimowy. Spróbujmy więc wspólnie postawić serwer plików Samba, tak aby użytkownicy sieci lokalnej mieli zdalny i pełnoprawny dostęp do katalogu z naszego linuksa.

Zacznijmy od instalacji serwera Samba

Jeśli w systemie nie ma jeszcze obecnego serwera Samby, należy naturalnie zacząć od jego instalacji. Sprawa jest banalna, bo wszystko co potrzebne znajduje się w repozytoriach systemowych. Natomiast jeżeli trafiłeś na ten artykuł wiedziony trudnościami w konfiguracji współdzielonych katalogów, może warto najpierw odinstalować Sambę i wyczyścić pliki konfiguracyjne, tak byśmy mogli zacząć od zera? Do tego celu wydajmy następujące polecenia:
sudo apt-get purge samba samba-common
sudo rm -rf /etc/samba/
sudo apt-get install samba

Jak widać wykonujemy je na prawach administratora. Najpierw pozbywamy się potencjalnie istniejących pakietów, następnie czyścimy istniejącą konfigurację by na końcu pobrać Sambę ponownie. Osoby nie posiadające wcześniej Samby oczywiście powinny się ograniczyć do ostatniego z poleceń (wytłuszczono).

Przygotujmy katalog do współdzielenia

Teraz kiedy Samba jest gotowa do pracy, możemy przygotować katalog, który będzie współdzielony między komputerami w sieci. Na potrzeby artykułu przyjmijmy, że jest to katalog /data/Public. Stworzyć go, to oczywiście pierwsza rzecz, którą powinniśmy zrobić, ale na tym nie koniec. Wymagane będą jeszcze zmiany zarówno w uprawnieniach dostępu do tego katalogu, jak i jego właściciela. Jak to już zostało powiedziane we wstępnie, interesować nas będzie dostęp anonimowy i pełny, czyli pozwolimy zarówno na odczyt, tworzenie jak i wykonywanie, użytkownikowi, który identyfikowany będzie jako nobody z grupy nogroup. Przejdźmy do dziania.
sudo mkdir -p /data/Public
sudo chmod -R 777 /data/Public
sudo chown -R nobody.nogroup /data/Public

Czyli stworzyliśmy katalog, ustawiliśmy uprawnienia i zmieniliśmy właściciela. Chociaż jeszcze Samba nic o tym katalogu nie wie, warto już w tym miejscu omówić pewien potencjalny problem. Mianowicie, może się zdarzyć, że pomimo nadania odpowiednich uprawnień, jak powyżej, zewnętrzny komputer podczas próby dostępu do katalogu zgłosi problem z dostępem (np. „Windows cannot access XXX You do not have permission to access XXX” z systemu Windows). Rzecz w tym, że aby możliwy był dostęp anonimowy, nie wystarczy nadać uprawnienia na końcowy, docelowy katalog (u nas – Public), a na każdy wiodący do katalogu głównego /. Czyli u nas pozostaje jeszcze katalog /data. To jest właśnie powód, dla którego tak naprawdę tworzymy nowy katalog w root'cie, a nie korzystamy z domyślnie istniejących w systemie. Dopełnijmy więc wymogu uprawnień:

sudo chmod -R 777 /data

Konfigurujemy Sambę

Przechodzimy do ostatniego etapu, czyli właściwej konfiguracji serwera Samba. Sprowadzi się to do edycji pliku: /etc/samba/smb.conf. Otwórzmy go w edytorze tekstu.
sudo gedit /etc/samba/smb.conf

Na końcu pliku konfiguracyjnego dopiszmy poniższe wpisy.

[Publiczny]
   path = /data/Public
   browseable = yes
   guest ok = yes
   read only = no
   create mask = 777

W nawiasach kwadratowych definiujemy etykietę dla współdzielonego katalogu, która będzie widoczna w sieci. Pozostałe parametry mówią same za siebie, dlatego zapiszmy zmiany, zamknijmy plik i wprowadźmy konfigurację do życia, restartując serwisy związane z Sambą:

sudo service smbd restart
sudo service nmbd restart

Uzyskujemy dostęp do plików

Kiedy już Samba jest prawidłowo skonfigurowana pozostaje sprawdzić połączenie z serwerem. W pierwszej kolejności należy ustalić jaki adres w sieci lokalnej jest przypisany komputerowi, na którym uruchomiliśmy Sambę. Można to zrobić np. poleceniem ifconfig:

$ ifconfig
[…]
wlan0     Link encap:Ethernet  HWaddr 10:08:b1:e4:d1:ff  
          inet addr:192.168.0.103  Bcast:192.168.0.255  Mask:255.255.255.0
[…]

W moim wypadku jest to adres 192.168.0.103.

Na Ubuntu możemy otworzyć Nautilusa, użyć skrótu klawiszowego Ctrl + L, który pozwoli podać adres z jakim chcemy się połączyć, a następnie wpisać: smb://192.168.0.103 (w systemie Windows wystarczy w Explorerze wpisać: \\192.168.0.103). Naszym oczom powinien ukazać się katalog o nazwie Publiczny, z którego możemy zarówno odczytywać pliki jak i dodawać własne.

Jeśli masz jakieś uwagi, bądź napotkałeś trudności, zachęcam do dyskusji w komentarzach.

Komentarze (25)

Imię:
Treść:
wiktor 2021-02-15 16:29:07
mam problem z klawiatura i nie dziala
mati 2020-12-05 10:52:39
fajne tylko nie działa mi zeby wejść do pliku konfiguracyjnego pisze mi że "command not found" i teraz jak wchodze po ip to nic nie mogę zrobić żadnego pliku dodać ani nic czy da się to w jakiś inny sposób zrobić?
Administrator 2020-11-03 22:08:49
@gicaking, przykro mi, ale nigdy nie testowałem współpracy Android - Samba. Jeśli uda Ci się coś ustalić w tej kwestii, to zachęcam do podzielenia się tym w komentarzu. :)
gicaking 2020-11-03 16:38:27
WItam, Dziekuje za artykul w Mint 20 poszlo gladko, ale nie moge polaczyc sie Androidem czy sprawdzales taka mozliwosc. Appka AndSMB. Dziekuje
maluczki 2020-09-16 08:54:07
ludzie tego sie nie da prosciej i lepiej wytlumaczyc. jesli wam nie dziala to problem jest w waszym kompie albo w was samych
My stary is firefighter 2020-04-19 20:08:27
siema ale nie działa we to lepiej gosciu wytlumacz
Laser 2019-10-11 13:45:13
Dzięki! Działa !
Okres 2019-10-11 13:44:16
Okazało się, że po zresetowaniu maszyny wszystko działało bez żadnych zarzutów. Dziękuję za pomoc!
Administrator 2019-09-19 10:33:25
@Okres - opis problemu jest podany wprost. Jakiś proces blokuje dostęp do plików dpkg i dlatego nie możesz operować na pakietach. To nie jest problem z komendą jaką podałem, tylko z lokalnym stanem maszyny. Upewnij się, czy w tle nie działa inna aplikacja modyfikująca pakiety.
Kamil 2019-09-18 13:56:15
Dołączam się do pytania !
Okres 2019-09-18 13:49:53
E: Nie udało się uzyskać blokady /var/lib/dpkg/lock - open (11: Zasoby chwilowo niedostepnę) E: Nie udało się zablokować katalogu administracyjnego (/var/lib/dpkg/l), czy inny proces go używa?
PRAWDZIWY OKRES 2019-09-18 13:48:49
Mi nie działa ba nawet nie mam ubuntu na kompie
Administrator 2019-09-17 17:08:02
@Okres, jaki błąd dostajesz? Bez takiej informacji, ciężko cokolwiek doradzić.
Okres 2019-09-17 15:02:05
Tak średnio bym powiedział bo pierwsza komenda nie działa ://
Seba Ubuntu 2019-06-23 21:52:20
szacunek za fachowy artykuł. u mnie zadziałało
Administrator 2019-06-04 06:41:25
@Mateusz, cieszę się i dziękuję za wiadomość!
Mateusz 2019-06-03 22:49:13
WOW to serio działa! dzieki, tyle sie meczyłem nad tym!
30+cm 2019-04-15 08:03:26
Bardzo dobre dane i działają nawet !!!
Administrator 2018-12-10 09:54:06
@SMB CHEATS, konfiguracja jaką opisałem w artykule, działa w moim środowisku. Bez podania szczegółów problemu, nie jestem w stanie wskazać przyczyn i tym samym cokolwiek doradzić.
SMB CHEATS 2018-12-10 07:39:25
TO nie dziła nie da sie nic zorbic nie działa samba nie wykrywa jej
Pomocy 2018-05-15 08:10:58
bo dostaniemy jedynki z pracowni :(
nadal nie działa 2018-05-15 08:07:11
nie można się dostać z Windowsa 7 do katalogu po dodaniu uprawnień na każdy katalog
Administrator 2018-05-14 10:49:17
Najprawdopodobniej następująca wskazówka z artykułu została pominięta podczas konfiguracji: "Rzecz w tym, że aby możliwy był dostęp anonimowy, nie wystarczy nadać uprawnienia na końcowy, docelowy katalog (u nas – Public), a na każdy wiodący do katalogu głównego /.".
fff 2018-05-14 09:07:10
nie ma dostepu pomocyyyyuyyyyyyyyyyyyyyyyyyy????????/11!!!!!!!
IITi 2018-05-14 09:05:07
nie działa, nie mogę wejść do folderu