W jednym z poprzednich wpisów zostały omówione sposoby na montowanie dysków (USB i sieciowych) do Raspberry Pi. Dziś częściowo wykorzystamy te wiadomości, ale pójdziemy w druga stronę – czyli udostępnimy dyski podpięte do Raspberry Pi innym komputerom w naszej sieci LAN.

SAMBA

Z racji tego, że z dysków będą (też) korzystały komputery z systemem Windows skorzystamy z serwera plików (i drukarek) Samba.

Zaczynamy od instalacji potrzebnych pakietów:

sudo apt-get install samba samba-common-bin -y

Można jeszcze zainstalować – zwłaszcza w przypadku problemów z dostępem do zasobów:

sudo apt-get install cifs-utils

raspberry-pi_samba_01

Dyski

Teraz warto wybrać dysk który chcemy udostępnić – listę dysków możemy sprawdzić za pomocą polecenia:

df -h

raspberry-pi_samba_02

Na potrzeby tego wpisu będzie to:

/dev/sda1 ... /media/usb1

Konfiguracja podstawowa

Wprawdzie możliwości konfiguracji i ustawień jest całkiem sporo, ale przedstawię tylko kilka elementów od których moim zdaniem warto zacząć.

Otwieramy plik konfiguracyjny:

sudo nano /etc/samba/smb.conf

i szukamy:

[global]
workgroup = nazwa_grupy_roboczej

Można aktywować (odkomentować) jeśli korzystamy, można też zostawić jak jest.

Sporo niżej szukamy fragmentu:

####### Authentication #######
#security = user

i zmieniamy na:

####### Authentication #######
security = user

Ta mała zmiana spowoduje to, że konto które może korzystać z Samby (zasobów, poza tymi dostępnymi dla wszystkich) musi istnieć też na Raspberry Pi jako konto użytkownika.

Kolejna zmiana spowoduje, że będziemy mogli również zapisywać w swoim domowym katalogu, do którego (domyślne ustawienie) będziemy mieli zdalny dostęp po uwierzytelnieniu:

[home]
read only = no

 

raspberry-pi_samba_05a

Polskie znaki

Zapewne przydadzą się Wam również „polskie znaki”  w nazwach plików – w tym celu należy w pliku konfiguracyjnym Smaby:

sudo nano /etc/samba/smb.conf

w sekcji:

[global]

dodać:

# PL znaki w SMB
display charset = ISO08859-2
unix charset = ISO8859-2
dos charset = 852

Teoretycznie zamiast „ISO08859-2” można dać „utf-8” – ale akurat u mnie (Windows 7 + Raspbian) nie zadziałało takie ustawienie.

Zasoby do udostępnienia

Na końcu pliku konfigurujemy zasoby które chcemy móc udostępnić, w tym celu przygotowałem kilka przykładów.

Katalog dostępny dla użytkownika „patryk” (wynika to z uprawnień w samym systemie, więc nie trzeba nic dodatkowo ograniczać), znajdujący się w jego katalogu domowym na Pi, możliwość odczytu i zapisu:

[patryk_share]
comment = Prywatny
path = /home/patryk/share
read only = no

Dysk USB1 (/media/usb1) udostępniony jako publiczny, widoczny (usb1_public, tylko do odczytu) dla wszystkich:

[usb1_public]
comment = Dysk USB1, dla wszystkich do odczytu
path = /media/usb1
guest ok = yes
read only = yes

Dysk udostępniony dla z autoryzowanych użytkowników (o tym niżej), z możliwością zapisu i odczytu:

[usb1]
comment = Dysk USB01
path = /media/usb1
read only = no
create mask = 0777
directory mask = 0777
browseable = yes

raspberry-pi_samba_05b

I na koniec mała kompilacja wszystkiego w jednym wpisie, czyli odczytać może każdy, ale zapisywać może tylko użytkownik „patryk” oraz członkowie grupy „rpl”:

[usb1]
comment = Dysk USB01
path = /media/usb1
read only = yes
guest ok = yes
# read list = uzytkownik, @grupa
write list = patryk, @rpl
create mask = 0777
directory mask = 0777
browseable = yes

Uprawnienia

Należy pamiętać, że oprócz konfiguracji dostępu w samej Sambie istotne są też uprawnienia danego użytkownika (lub grupy) do odczytu/zapisu plików na udostępnionych zasobach – na takich samych zasadach jak ma to miejsce lokalnie.

O montowaniu dysków już pisałem, tam również podałem ten przykład, ale domyślam się, że może się przydać – więc będzie mała powtórka, dopasowana do kontekstu.

Domyślnie „zwykli użytkownicy” nie mogą zapisywać na dyskach zamontowanych np. do katalogu /media (tu: /media/usb1), mogą tylko „konsumować treści”.

I o ile udostępnianiu dysków „do odczytu” nie ma raczej problemów, to z zapisem już mogą się pojawić problemy…

Jednym ze sposobów obejścia tego problemu jest lekka modyfikacja komendy która służy do montowania dysków, poprzez dodanie:

-o umask=0

Czyli np.:

sudo mount -t auto -o umask=0 /dev/sda1 /media/usb1

raspberry-pi_samba_04

A dla pliku „fstab” będzie to np. taki wpis:

/dev/sda1 /media/usb1 auto defaults,umask=0 00

W tym momencie każdy użytkownik Raspberry Pi będzie mógł modyfikować znajdujące się tam plik, dotyczy to również dostępu poprzez sieć – będą decydowały ustawienia uprawnień w Sambie (patrz wyżej).

Polecenie/komenda/parametr „umask” w tej formie zadziała „tylko” dla dysków z systemem plików FAT/FAT32/NTFS.

Nie zadziała dla ext2/3/4. W tym wypadku należy skorzystać (również) np. z polecenia „chmod”, np.:

sudo chmod 777 -R /media/usb1
sudo chmod 775 -R /media/usb1

Użytkownicy

Pora dodać użytkowników, a że podczas konfiguracji wybraliśmy by pokrywali się z tymi istniejącymi również w systemie – musimy o tym pamiętać podając nazwy użytkowników podczas tworzenia:

sudo smbpasswd -a patryk
sudo smbpasswd -a pi
sudo smbpasswd -a kolejny_użytkownik

Dla każdego użytkownika będziemy musieli podać hasło, może być takie jak w systemie, może być inne.

Inne przydatne komendy związane z użytkownikami, to:

Kasowanie:

sudo smbpasswd -x użytkownik

Włączenie konta:

sudo smbpasswd -e użytkownik

Wyłączenie konta:

sudo smbpasswd -d użytkownik

Zmiana hasła:

sudo smbpasswd użytkownik

Obsługa serwera

Na koniec jeszcze tylko kilka komend związanych z obsługą serwera:

Restart:

sudo /etc/init.d/samba restart

Uruchomienie:

sudo /etc/init.d/samba start

Zatrzymanie:

sudo /etc/init.d/samba stop

raspberry-pi_samba_03

Konfiguracja:

sudo nano /etc/samba/smb.conf

Podgląd ustawień:

sudo testparm -s

Łączymy się…

By uzyskać dostęp do udostępnionych zasobów wystarczy połączyć się z serwerem podając jego IP (i np. nazwę konkretnego zasobu – znajduje się w nawiasach kwadratowych w pliku smb.conf) i jeśli jest taka potrzeba – nazwę użytkownika i hasło.

Załóżmy, że chcemy w systemie Windows 7 zamontować udostępniony zasób „usb1” jako użytkownik „patryk” (zgodnie z przykładami powyżej), w tym celu np. w oknie „Komputer” wybieramy „Mapuj dysk sieciowy”:

raspberry-pi_samba_06a

Wybieramy literę pod jaką ma być widoczny (np. Z:), oraz podajemy adres serwera (Raspberry Pi) lub jak na tym przykładzie – nazwę hosta i nazwę zasobu do którego chcemy uzyskać dostęp:

\\raspberrypi\usb1

Należy jeszcze zaznaczyć (może nie zawsze trzeba, ale…):

Połącz przy użyciu innych poświadczeń

I jeśli chcemy z dysku korzystać częściej można zaznaczyć również:

Połącz ponownie przy logowaniu

raspberry-pi_samba_06b

W następnym kroku należy podać nazwę użytkownika i hasło, i jeśli wszystko skonfigurowaliśmy (i wpisaliśmy) poprawnie na liście dysków powinien pojawić się nowy dysk, prosto z Raspberry Pi:

.raspberry-pi_samba_06c

Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.
Roztańczona Karolina dzięki motywowi Divi od Elegant Themes właśnie skończyła pierwszą stronę
WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.
Monika ćwiczy przed kongresem ko..., ale jej też należy się zniżka 80% na skięgowość wFirma dla oglądających WebInsider.pl