Jak udostępniać pliki przez sieć lokalną?

65

Mam komputer stacjonarny (Ubuntu 13.04 i Win 7 Home Premium) i laptop (Ubuntu 12.04) , oba z kartami WiFi. Mam także router WiFi podłączony do Internetu, do którego mają dostęp oba moje komputery.

Chcę udostępniać pliki między komputerem stacjonarnym a laptopem za pomocą Wi-Fi (podobnie jak w przypadku Homegroup w systemie Windows 7, ale bez kabli Ethernet) . Jak to skonfigurować?

Chcę udostępniać pliki przy użyciu obu systemów operacyjnych. Jeśli ktoś ma informacje na temat udostępniania plików w dowolnym systemie operacyjnym, odpowiedz!

Gauraw
źródło
1
Nie jest to duplikat, ponieważ pyta o udostępnianie plików między Ubuntu i Windows, a także maszynami Ubuntu i Ubuntu. Uwaga: pulpit ma zarówno Ubuntu, jak i Windows. Po uruchomieniu systemu Ubuntu, a laptop ma system Ubuntu, udostępnianie plików odbywa się w systemie Ubuntu.
user68186,

Odpowiedzi:

77

Ustawienia sieci

Podłącz komputer stacjonarny i laptop do routera WiFi, korzystając ze standardowej konfiguracji. Aby sprawdzić, czy oba komputery są połączone, sprawdź, czy możesz uzyskać dostęp do Internetu z obu komputerów.

Opcjonalnie: w konfiguracji routera sprawdź lokalne adresy IP przypisane do komputera stacjonarnego i laptopa. Mogą wyglądać jak 192.168.0.100 lub 192.168.1.199. Jeśli istnieje opcja przypisania tych określonych adresów IP na stałe do routera, możesz to zrobić.


Windows → Ubuntu

Krok 1 Na laptopie utwórz folder, który chcesz udostępnić. Może być folder o nazwie „Publiczny”, wybierz go, jeśli chcesz. Kliknij prawym przyciskiem myszy ikonę folderu i wybierz „Opcje udostępniania”. Otworzy się nowe okno:

wprowadź opis zdjęcia tutaj

Zaznacz pole „Udostępnij ten folder”.

Możesz także zaznaczyć dwa pozostałe pola „Zezwalaj innym na tworzenie i usuwanie plików w tym folderze”. Umożliwi to użytkownikowi systemu Windows na pulpicie tworzenie i usuwanie plików w tym folderze.

Pole wyboru „Dostęp dla gości” jest oczywiste. Może to być przydatne, jeśli identyfikator użytkownika Windows nie jest dokładnie taki sam jak identyfikator użytkownika Ubuntu.

Może to oznaczać, że usługa udostępniania nie jest zainstalowana:

wprowadź opis zdjęcia tutaj

Kliknij „Zainstaluj usługę” i pozwól mu zainstalować oprogramowanie, podając hasło do konta użytkownika laptopa, gdy pojawi się monit. Może pojawić się monit o zainstalowanie większej liczby programów, takich jak libpam-smbpass. Zainstaluj całe oprogramowanie. Zostaniesz poproszony o ponowne uruchomienie usług i kliknij Tak.

Krok 2. Otwórz okno właściwości folderu „Publicznego”, klikając go prawym przyciskiem myszy. Przejdź do karty uprawnień i upewnij się, że wygląda to tak:

wprowadź opis zdjęcia tutaj

Kliknij przycisk „Zmień uprawnienia do załączonych plików” i upewnij się, że wygląda to tak:

wprowadź opis zdjęcia tutaj

Teraz powinieneś być w stanie edytować pliki utworzone w ubuntu w folderze „Publicznym” laptopa w Eksploratorze Windows.

Jeśli jednak utworzysz plik w systemie Windows i umieścisz go w folderze publicznym laptopa, możesz nie być w stanie otworzyć tego pliku, gdy dojdziesz do laptopa. Wynika to z faktu, że Windows i Ubuntu nie rozumieją własności i uprawnień do plików. Tak więc w laptopie Ubuntu plik utworzony przez system Windows jest własnością „Nikt”. Będziesz musiał otworzyć Nautilus jako Administrator i zmienić prawa własności oraz uprawnienia do odczytu i zapisu w laptopie.

Krok 3. Przejdź do systemu Windows na komputerze stacjonarnym i otwórz Eksploratora Windows , kliknij trójkąt obok Sieć na lewym panelu. Z rozwijanej listy powinieneś być w stanie wybrać nazwę komputera przenośnego z systemem Ubuntu .

Teraz powinieneś być w stanie zobaczyć swój folder współdzielony (powiedz „Publiczny”) z laptopa w Eksploratorze Windows. Kliknij folder „Publiczny” i zobacz pliki w folderze. Powinieneś być w stanie skopiować pliki z folderu publicznego w Ubuntu do lokalnego folderu Windows.

Oto przewodnik krok po kroku z kilkoma szczegółami.


Ubuntu → Windows

Krok 1 Skonfiguruj udostępnianie folderów systemu Windows za pomocą metod dostępnych dla systemu Windows. postępuj zgodnie z instrukcjami w powyższym linku dla części Windows.

Krok 2 Otwórz terminal w laptopie Ubuntu, naciskając Ctrl+ Alt+ Ti wprowadź:

sudo -H gedit /etc/samba/smb.conf

i poszukaj linii:

;   name resolve order = lmhosts host wins bcast

i edytuj go, aby wyglądał tak

   name resolve order = bcast lmhosts host wins 

Uwaga, nie ma; na początku edytowanej linii. Zapisz plik i zamknij gedit. Wprowadź następujące dwa wiersze (po jednym na raz), aby zatrzymać i uruchomić sambę:

sudo stop smbd
sudo start smbd

Krok 3 Na laptopie otwórz Nautilus, przeglądarkę plików i kliknij Sieć na lewym panelu. Kliknij „Przeglądaj sieć”. Kliknij ikony w głównym oknie sieci Nautilus i znajdź pulpit systemu Windows i folder współdzielony. Sprawdź, czy możesz kopiować pliki zi do tego folderu.

Patrz „Nie udało się pobrać listy zakładowego z serwera” błąd podczas przeglądania udział z Nautilusa odsyłające na edycję smb.conf.


Ubuntu → Ubuntu

Uruchom pulpit do Ubuntu.

Zarówno na komputerze stacjonarnym, jak i laptopie wykonaj następujące czynności, aby upewnić się, że ssh-server jest zainstalowany:

Otwórz terminal, naciskając Ctrl+ Alt+ Ti enter

sudo apt-get install openssh-server

Po wyświetleniu monitu wprowadź hasło. Kursor nie porusza się po wprowadzeniu hasła. To normalne.

Spowoduje to zainstalowanie serwera ssh, jeśli nie jest jeszcze zainstalowany. Jeśli jest już zainstalowany, nic nie zrobi.

Najpierw pulpit:

Otwórz Nautilus i znajdź pozycję menu „Inne lokalizacje”. Na dole znajdź Połącz z serwerem:

połączenie sftp [7]

W polu Adres serwera wpisz:

sftp://laptop_user_id@laptop_name.local/home/laptop_user_id

gdzie laptop_user_idjest identyfikator użytkownika utworzony na laptopie. Możesz znaleźć swój identyfikator użytkownika, wpisując whoamiterminal. I laptop_nameto nazwa, którą nadałeś laptopowi podczas instalacji Ubuntu.

Jeśli chcesz udostępnić partycję na drugim dysku twardym pulpitu, w obszarze Adres serwera wprowadź:

sftp://desktop_user_id@desktop_name.local/path/to/the/mount/point/of/the/partition/in/second/hard/drive

Zamień path/to/.../drivena rzeczywistą ścieżkę.

Alternatywnie, jeśli znasz lokalny adres IP laptopa, możesz go zastąpić laptop_name.locallokalnym adresem IP laptopa.

Prasa Connect. Zobaczysz okno dialogowe hasła:

Hasło do SSH

Wpisz hasło powiązane z id_user_użytkownika i wybierz, czy chcesz zapamiętać hasło, czy nie. Ponownie kliknij Connect.

Teraz powinieneś zobaczyć swój domowy folder laptopa.

Zauważ, że w lewym panelu Nautilusa pojawi się nowy wpis w menu Sieć, który zaczyna się od laptop_user_id. Kliknij go prawym przyciskiem myszy i wybierz „Dodaj zakładkę”, aby utworzyć stałą zakładkę do folderu domowego laptopa w Nautilus na pulpicie.

Zobacz tę stronę, aby zobaczyć zdjęcia ze starszej wersji.

Teraz laptop

Wykonaj ten sam proces, co na pulpicie powyżej.

użytkownik68186
źródło
Spróbuję metody Ur i odpowiem U, do tego czasu dziękuję bardzo za odpowiedź! -do użytkownika68186
Gaurav
2
:) Zrobiłem, zainstalowałem SSH na moim laptopie, jak powiedział U, i moja praca się skończyła, teraz widzę Mój laptop na moim Pulpicie i mój Pulpit w moim Laptopie, bardzo dziękuję i dziękuję bardzo za czas spędzony na tym pytaniu.
Gaurav
2
@Gaurav Samba to usługa działająca w tle. Nie ma graficznego interfejsu użytkownika o tej nazwie. Dlatego nie znajdziesz go w Dash. Na jakim etapie utkniesz? Czy widzisz folder współdzielony w systemie Windows z Ubuntu? Czy widzisz folder współdzielony w Ubuntu z Windows?
user68186,
1
Uwaga dla Ubuntu do Ubuntu pole wprowadzania „Połącz z serwerem” pojawia się teraz u dołu strony „Inne lokalizacje” dla nowszych wersji plików (Nautilus) i jest zaskakująco łatwe do pominięcia - askubuntu.com/a/851681
bonger
1
@bonger Thanks! Zaktualizowałem tekst i obraz, aby odzwierciedlić zmiany.
user68186
3

Mam zamiar zaproponować kilka alternatyw, które nie wyglądają dokładnie tak, jak SAMBA, ale mogłyby być lepsze w innych przypadkach użycia.

Serwer HTTP

HTTP to protokół używany do uzyskiwania dostępu do zwykłych stron internetowych, więc każdy system operacyjny został zmuszony do jego wdrożenia!

Znajdź swój adres IP na komputerze źródłowym, np 192.168.0.10. W systemie Ubuntu:

ifconfig

Utwórz serwer w katalogu zawierającym plik, który chcesz przesłać:

python -m SimpleHTTPServer 8080

Na komputerze odbierającym otwórz przeglądarkę i odwiedź:

192.168.0.10:8080

Teraz możesz nawigować po katalogach do żądanego pliku.

Nie jestem pewien, czy ta metoda jest szybka / niezawodna, ale jest to jedna z najprostszych w konfiguracji i przenośnych.

Szybsze alternatywy omówiono na stronie : https://stackoverflow.com/questions/12905426/what-is-a-faster-alternative-to-pythons-simplehttpserver

rsync

Jest to świetna opcja między dwoma komputerami Ubuntu: https://en.wikipedia.org/wiki/Rsync

Najpierw upewnij się, że możesz SSH z jednego komputera na drugi:

ssh [email protected]

Możesz utworzyć nowe konto dla użytkownika, jeśli chcesz zachować hasło jako prywatne.

Może być konieczne uruchomienie na serwerze i kliencie:

sudo apt-get install ssh

Następnie, po zalogowaniu się, aby skopiować pliki z serwera do klienta, po prostu wykonaj:

rsync -av [email protected]:/full/path/to/remote/directory .

Wiele katalogów można skopiować za jednym razem, jak wyjaśniono na https://unix.stackexchange.com/questions/308810/copying-multiple-files-using-rsync-over-ssh :

rsync -av '[email protected]:/full/path/to/remote/directory "/full/path/to/remote/directory with space"' .

Jest to najniższy wspólny mianownik: najbardziej niezawodny, wydajny, powszechnie dostępny Linux, a bezpieczeństwo opiera się na dobrze znanych uprawnieniach do plików + schematach użytkownika.

W systemie Windows może to nie być łatwe:

NFS

Ponownie, głównie dla dwóch maszyn Ubuntu, jest to SAMBA dla systemu Linux, z obsługą wbudowaną w jądro systemu Linux: https://en.wikipedia.org/wiki/Network_File_System

Zasadniczo umożliwia przejście do mountfolderu z serwera gościa.

Konfiguracja i rozwiązywanie problemów jest potencjalnie nieco trudniejsze niż rsync, ale zdecydowanie wykonalne, jest to dobry artykuł: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on- ubuntu-16-04

Być może istnieje także implementacja systemu Windows: https://docs.microsoft.com/en-us/windows-server/storage/nfs/nfs-overview, ale zgaduję, że Microsoft musi zapewnić lepszą obsługę własnego protokołu SMB.

Ciro Santilli
źródło
1
sudo apt-get install servefile

plik serw jest idealny do swobodnego udostępniania, działa na serwerze 8080 na porcie 8080 (chyba że podano -p < port >), dzięki czemu może szybko komunikować się z dowolnym urządzeniem z przeglądarką.

Przykłady:

  • servefile nazwa_pliku # Wystarczy służy plik


    Dostaję 3 adresy URL, ponieważ mam 3 adresy IP z 3 różnych sieci LAN, zwykle dostaniesz tylko 1, ale to niesamowite, że to pokazuje.

  • servfile -u ~ / Pictures # Pozwala ci przesyłać pliki do folderu Pictures

    przesyłać pliki

  • servefile -l ~ / Pictures # Służy do zawartości folderu

    zawartość folderu

  • servefile -tc gzip ~ / Pictures # konstruuje plik tar z dowolnego pliku lub folderu i kompresuje go w locie

    wprowadź opis zdjęcia tutaj

BTW dzięki tej metodzie osiągnąłem prędkość transferu 1 Gb / s (maksymalna prędkość mojej sieci LAN).

Madacol
źródło