Envato Elements - pobierasz co chcesz, ile chcesz

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

(!) Zgłoś błąd na stronie
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.
Monika ćwiczy przed kongresem ko..., ale dzięki motywowa Divi od Elegant Themes chyba nawet ona da radę...
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.
Młody Szymon powiedział tacie o promocji dla czytelników WebInsider.pl i zaoszczędzili 80% na księgowości internetowej wFirma