Uzyskaj dostęp do sieciowego udziału Samba z klienta Pi

13

Korzystam z mojego komputera, aby uzyskać dostęp do plików na RPi, używając Samba Server na RPi.

Ale czy jest jakiś sposób, aby otworzyć Samba Connections na Pi? Podobnie jak przeglądanie plików Samba na komputerze z systemem Windows na RPi?

Snazzy Sanoj
źródło
1
ftp byłby znacznie szybszy
rav_kr
1
Tak, wiem, ale żmudne jest instalowanie serwera FTP na wszystkich komputerach z systemem Windows
Snazzy Sanoj
2
Chcesz klienta samby . Jestem pewien, że znajdziesz wiele wyjaśnień takich w Internecie, jeśli przeszukujesz „ klienta linuksowej samby”, chociaż oczywiście niektóre z nich będą dotyczyły używania klienta do uzyskiwania dostępu do udziału w pudełku linuksowym, a nie na odwrót. Wierzę, że jest to narzędzie CLI smbclient.
goldilocks
@goldilocks Dzięki, ale czy istnieje jakieś obejście dla domyślnego Menedżera plików, aby otworzyć Sambę? :)
Snazzy Sanoj
1
Menedżerem plików w LXDE (domyślne środowisko pulpitu w Raspbian) jest „pacmanfm”, więc jeśli szukasz „pacmanfm samba”, powinieneś znaleźć kilka rzeczy, np. Askubuntu.com/q/249678/239729 Sugeruję dla samby -on-linux rzeczy na ogół zaczynasz na U&L .
Złotowłosa

Odpowiedzi:

21

Najpierw zainstaluj kilka pakietów:

apt-get install  samba-common smbclient samba-common-bin smbclient  cifs-utils

Następnie utwórz katalog lokalny i podłącz zdalny udział:

mkdir /mnt/abc
mount -t cifs //server/share /mnt/abc

gdzie serverjest nazwa twojego komputera z systemem Windows (dns lub netbios) i gdzie sharejest twój wspólny katalog systemu Windows.

W zależności od dostępu, który dajesz swojemu udziałowi w systemie Windows, wymagane są poświadczenia: jeśli udostępnisz swojemu udziałowi „Wszyscy” dostęp do odczytu (i zapisu), nic więcej nie jest wymagane, w przeciwnym razie musisz dodać poświadczenia w czasie montowania:

mount -t cifs //server/share /mnt/abc -o user=user,pass=password,dom=domain

zastąp własnymi danymi uwierzytelniającymi.
Po zakończeniu odinstaluj udział:

umount /mnt/abc
fcm
źródło
+1 Działa to w przypadku udostępnionego napędu USB podłączonego do portu USB modemu / routera. Jeśli potrzebujesz więcej debugowania, dodaj „--verbose” przed „-o”
Denja
Mam ten błąd związany z moimi poświadczeniami: Urządzenie lub zasób zajęte. Zobacz stronę podręcznika mount.cifs (8) (np. Man mount.cifs)
Axel Briche
Za każdym razem muszę sprawdzić, jak to zrobić. Ta odpowiedź jest bardzo jasna i zwięzła. Dzięki :)
Jobbo,
sudo mount -t cifs -o username=guest,password=,vers=1.0 //192.168.0.1/sda1 /home/pi/router Musiałem dodać vers = 1.0, aby działało z moim routerem.
Udostępnij
4

jeśli udział samba nie potrzebuje żadnych danych logowania, a chcesz zamontować udział po uruchomieniu Raspberry Pi, edytuj plik fstab jako root

sudo nano /etc/fstab

i dodaj następujący wiersz

//server/share  /mnt/abc  cifs  guest  0  0

zamknij i zapisz zmiany w pliku fstab

sprawdź, czy wszystko łączy się tak, jak powinno

sudo mount -a

jeśli twój udział w sambie wymaga hasła, możesz połączyć się, używając następującego wpisu w fstab.

//server/share  /mnt/abc cifs username=username,password=password  0  0

nie jest najlepszym pomysłem na użycie tej metody, jeśli inni mają dostęp do twojego RPi lub sieci, ponieważ fstab jest czytelny dla wszystkich i będzie w stanie odczytać twoje hasło.

Lepszym rozwiązaniem jest użycie pliku poświadczeń.

nano ~/.smbcredentials

następnie wprowadź swoją nazwę użytkownika i hasło do pliku

username=username
password=password

zapisz plik i zmień jego uprawnienia, aby inni nie mogli go odczytać.

chmod 600 ~/.smbcredentials

następnie edytuj jako root fstab, aby dodać swój udział samby

//server/share  /mnt/abc cifs credentials=/home/pi/.smbcredentials  0  0

ponownie przetestuj za pomocą

sudo mount -a

a jeśli nie będzie żadnych błędów, to automatycznie zainstaluje udział po ponownym uruchomieniu.

tylko po to, by dodać coś, co zauważam na forach, gdy ktoś zadaje rozsądne pytanie. dlaczego ludzie odpowiadają czymś w rodzaju „dlaczego xxxxxx, rrrr jest lepszy”. To nie to, o co prosili, a to nawet nie jest pomocne.

Martin Jones
źródło
4

Mój problem był podobny. Moim celem był udział w sambie dd-wrt.

Mój problem: nie można go w żaden sposób zamontować (także fstabz RPi3).

Miałem błędy od „niemożności przekazania hasła do odwołania do mount.cifs” na „nieprawidłowy argument błąd 22”.

Natknąłem się na ten post, Cannot mount samba share: Mount error (22) , a ta odpowiedź sugeruje, że rozwiązaniem jest dodanie vers=1.0opcji do mount.

Mam nadzieję, że ci to pomoże.

Cattivello
źródło
vers = 1.0 również rozwiązało problem dla mnie. sudo mount -t cifs // [zdalny adres IP] / pliki do pobrania / mnt / abc -o vers = 1.0, użytkownik = [użytkownik]
tridy
Używanie vers = 1.0 też działa dla mnie, sudo mount -o vers = 1.0 // [NAS_IP] / nas / media / pi / nas
electron1979
0

Jeśli po próbie automatycznego zamontowania udziału w jakiś sposób natkniesz się na scenariusz, w którym Pi nie będzie się już uruchamiał, przejdzie w „Tryb awaryjny” i / lub powie ci, że konto root jest zablokowane, możesz go pokonać, wykonując następujące czynności instrukcje znajdujące się tutaj: Raspberry Pi Boot Issue - Konto root zostało zablokowane! .

Podsumowanie powiązanych kroków na przyszłość:

  1. Pobierz kartę SD z Pi i za pomocą adaptera zamontuj kartę na komputerze PC, Mac lub Linux.
  2. Powinieneś być w stanie zobaczyć /bootpartycję swojej karty SD.
  3. Znajdź plik cmdline.txti dodaj następujące na końcu wiersza init=/bin/sh Uwaga: Nie twórz nowego wiersza, wystarczy dodać powyższe na końcu bieżącego wiersza.
  4. Włóż kartę SD z powrotem do Pi i uruchom komputer.
  5. Powinieneś teraz otrzymać monit o wydanie powłoki root. Stąd możesz cofnąć zmiany /etc/fstablub cokolwiek innego, co początkowo zepsuło twój system.
  6. W niektórych przypadkach nie będzie można zapisać zmian, a system będzie narzekał na system plików tylko do odczytu. Jeśli dostaniesz ten ruch, przejdź do następnego kroku.

Karta SD Raspberry Pi będzie miała dwie główne partycje, ponieważ nie możemy bezpośrednio odczytać tabeli partycji, musisz ręcznie zlokalizować urządzenie dla partycji root i boot. Możesz to zrobić, przechodząc do /devkatalogu i powinieneś zobaczyć coś podobnego do mmcblk0p1& mmcblk0p2. Drugim urządzeniem mmcblk0p2będzie twoja partycja root. Musisz to zamontować ponownie z uprawnieniami do odczytu zapisu:

mount -o remount,rw /dev/mmcblk0p2 /

Najłatwiej będzie to osiągnąć poprzez zamontowanie karty SD na innym komputerze (Mac / Linux / Windows) i edycję cmdline.txttam pliku.

Zanurzyłem swoje środowisko przez zły wpis fstab i postępowanie zgodnie z tymi instrukcjami pozwoliło mi na usunięcie tego błędu.

DaveL17
źródło