Co Windows ma z tym wspólnego? Nie próbuję udostępniać na komputerze z systemem Windows ...
Masz rację, to może być mylące. Pozwól, że najpierw wyjaśnię warunki:
Sposób udostępniania plików i drukarek przez system Windows nazywa się SMB . Ludzie z projektu SAMBA wdrożyli wszystkie protokoły i specyfikacje Microsoft dla Linuksa. Ubuntu obsługuje zatem ten sam rodzaj udostępniania plików, co Windows, który nazywa się Samba.
Za pomocą SAMBA można udostępniać pliki między komputerami z systemem Linux. W rzeczywistości możesz go preferować, na przykład, jeśli masz na przykład przyjaciela z komputerem z systemem Windows.
Alternatywnie możesz skorzystać z Linuksowego sposobu udostępniania plików, którym jest NFS (Network File System) - ta odpowiedź na poprzednie pytanie wyjaśnia, jak to zrobić. (ale to raczej techniczne)
Tak więc, gdy okno dialogowe Opcje udostępniania prosi o zainstalowanie pakietów, tak naprawdę nie instalujesz żadnego oprogramowania Microsoft ani nic podobnego. Śmiało, zrób to, jest całkowicie bezpieczne.
Uzupełnienie:
Możesz spróbować włączyć udostępnianie, zanim wykonasz instrukcje Salih Emin; jeśli to nie zadziała, otrzymasz proste ostrzeżenie, w razie potrzeby możesz wykonać kroki opisane przez Saliha. Wypróbowałem to na świeżo zainstalowanym i aktualnym systemie i naprawdę musiałem to zrobić.
Obecnie w Lucid jest mały błąd wymieniony w Launchpad: błąd # 536766 . Ten błąd nie monituje użytkownika o zainstalowanie niezbędnych pakietów niezbędnych do ukończenia konfiguracji udostępniania plików. Dopóki nie zostanie to rozwiązane, oto krótkie obejście.
Musisz zainstalować libapache2-mod-dnssd i uruchomić ponownie. Kliknij ten link, aby go zainstalować lub znajdź libapache2-mod-dnssd w Centrum oprogramowania.
Po zainstalowaniu przejdź do System → Preferencje → Udostępnianie plików osobistych i zaznacz pole „Udostępnij pliki publiczne w sieci”.
Po zakończeniu tej czynności powinieneś być w stanie wyświetlić wszystkie inne komputery w sieci, które zezwoliły na publiczne udostępnianie plików w folderze publicznym. Wystarczy kliknąć Miejsca → Sieć , a tam powinieneś zobaczyć wszystkie dostępne komputery i ich udostępnione foldery publiczne.
Dwukrotne kliknięcie ikony serwera spowoduje zamontowanie odpowiedniego folderu publicznego na pulpicie.
Poprzez tekst linku
źródło
Możesz po prostu uruchomić prosty serwer HTTP na komputerze z systemem Linux i uzyskać do niego dostęp na innym komputerze.
Kroki :
python -m SimpleHTTPServer
ifconfig
.Otrzymasz wymagane pliki w folderze do pobrania.
źródło
python3 -m http.server
Uważam, że to właśnie są wymienione pakiety SAMBA lub przynajmniej część ich opisu. Alternatywnie możesz wypróbować Preferencje-> Udostępnianie plików, które moim zdaniem wykorzystują inny mechanizm. Samba jest jednak przydatna do zainstalowania.
źródło
Możesz zainstalować „qweborf”. Udostępni katalog przez HTTP, a inne hosty będą mogły uzyskać dostęp za pomocą przeglądarki.
Może także włączyć webdav i umożliwić podłączenie katalogu jako system odczytu / zapisu (testowany z davfs2, KDE, Gnome2, OsX).
źródło
Jeśli chcesz bezproblemową integrację z Ubuntu i nie interesuje Cię kompatybilność z Windows, SSH to Twój huckleberry.
Zobacz Jak mogę udostępniać pliki między dwoma komputerami z systemem Linux przez sieć LAN?
Może być konieczne zainstalowanie serwera SSH z:
Z aplikacji menedżera plików na kliencie możesz uzyskać dostęp do serwera za pomocą:
Aby uzyskać dostęp do plików z terminala lub programowo, użyj
sshfs
do utworzenia punktu podłączenia w systemie plików klienta.źródło
scp
(i jeszcze lepiej)rsync
.W przypadku sieci opartych tylko na systemie Linux SSHFS jest natywny, stabilny i bardzo szybki. Mam dwie maszyny Xubuntu (18.04) do udostępniania / folderów domowych przez SSH.
Oto jak skonfigurować to sshfs i automatyczne ponowne połączenie po ponownym uruchomieniu za pomocą fstab bez konieczności podawania hasła. Ogromne podziękowania dla użytkownika błędu serwera kubańczyk za ponowne połączenie po zdalnym zawieszeniu / wznowieniu.
Użyję „Komputer lokalny - surfbox” na komputerze, z którego się łączysz, i „Komputer zdalny - devbox” na komputerze, z którym się łączysz.
Zastąp poniżej „remoteuser” nazwą użytkownika, na którym logujesz się na komputerze zdalnym, a „localuser” nazwą użytkownika, na którym logujesz się na komputerze lokalnym. Aby zweryfikować nazwy użytkownika, wpisz
echo $USER
terminal na komputerach zdalnych i lokalnych.Sprawdź także identyfikator użytkownika i identyfikator grupy, oba powinny mieć wartość 1000.
GroupID:
id -g localuser
UserID:id -u localuser
1. Uzyskaj adresy IP komputerów lokalnych i zdalnych.
Użyję 192.168.1.150 dla komputera lokalnego („surfbox”) i 192.168.1.151 dla komputera zdalnego („devbox”)
2. Zainstaluj pakiety na komputerach lokalnych i zdalnych
3. Utwórz bezpiecznik grupowy i dodaj do niego localuser
Stworzyć grupę:
sudo groupadd fuse
Dodaj lokalizator do grupy:
sudo usermod -a -G fuse $user
4. Włącz opcję „allow_other” w konfiguracji bezpiecznika
Będziemy potrzebować tej opcji podczas montażu w fstab
Edytuj za
/etc/fuse.conf
pomocą edytora wiersza poleceń. Usuń hashtag wcześniejuser_allow_other
i zapisz.5. Wygeneruj klucze SSH na maszynie lokalnej
Nie podawaj hasła po wyświetleniu monitu . Wystarczy nacisnąć Enter, aby pozostawić puste.
ssh-keygen -t rsa -C [email protected]
Klucze są przechowywane w katalogu głównym komputera lokalnego / folderze.s.ssh
6. Przenieś publiczny klucz SSH komputera lokalnego na komputer zdalny
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Zostaniesz poproszony o podanie hasła dla użytkownika zdalnego na zdalnym komputerze. Klucz publiczny komputera lokalnego jest teraz dodawany do pliku ~ / .ssh / author_keys na komputerze zdalnym.
7. Utwórz katalog w folderze Komputer lokalny / mnt, w którym zostanie zamontowany folder Komputer zdalny / domowy.
Wybierz dowolną nazwę, która ma sens dla Twojego Zdalnego komputera.
sudo mkdir /mnt/devboxhome
8. Zamontuj katalog zdalnej maszyny / domowej z terminala
Składnia dla sshfs to
sshfs [user@]host:[directory] mountpoint [options]
Używamy
sudo sshfs [remoteuser]@192.168.1.151:/home/[remoteuser] /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/[localuser]/.ssh/id_rsa
przykład: zakładając, że „steve” jest nazwą użytkownika na komputerach lokalnych i zdalnych
sudo sshfs [email protected]:/home/steve /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/steve/.ssh/id_rsa
Ponieważ przesłałeś publiczny klucz RSA na komputer zdalny, nie powinieneś być proszony o podanie hasła użytkownika zdalnego.
Zostanie wyświetlone ostrzeżenie, że komputer nie jest zaufany, i pojawi się monit, czy należy go dodać. Dodaj komputer zdalny jako zaufany.
9. Weryfikacja: Przeglądaj katalog zdalnej maszyny / domowy
W terminalu na komputerze lokalnym możesz teraz wyświetlić katalog zdalnej maszyny / home w katalogu / mnt / devboxhome
cd /mnt/devboxhome ls
lub użyj Nautilus do przeglądania katalogu. Wspaniały.
10. Włącz ponowne połączenie po ponownym uruchomieniu
Dodamy wpis w / etc / fstab, aby tak się stało. Będziesz potrzebował twojego identyfikatora lokalnego komputera i identyfikatora grupy - zobacz wprowadzenie, jeśli to przegapiłeś. Edytuj / etc / fstab za pomocą edytora wiersza poleceń i dodaj te dwa wiersze na końcu / etc / fstab
# Mount devbox at boot [email protected]:/home/[remoteuser]/ /mnt/devboxhome fuse.sshfs default_permissions,user,delay_connect,reconnect,serversliveinterval=15,serveralivecountmax=3,allow_other,identityfile=/home/[localuser]/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
ServerAliveCountMax
kolejne pingi nie powiodą się, połącz ponownie.Użytkownik logujący się jako Steve na komputerach lokalnych i zdalnych miałby:
[email protected]:/home/steve/ /mnt/devboxhome fuse.sshfs default_permissions,user,delay_connect,reconnect,serversliveinterval=15,serveralivecountmax=3,allow_other,identityfile=/home/steve/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
WAŻNE : ukośnik po zdalnym katalogu: [email protected]: / home / steve /
zapisz / etc / fstab i ....
11. Uruchom ponownie
Powinieneś być teraz w stanie uzyskać dostęp do zdalnego komputera / katalogu domowego na komputerze lokalnym / mnt / devboxhome W Nautilus możesz przeciągnąć ten folder na pasek Miejsca
12. Powtórz
Ponownie wykonaj te same kroki na komputerze zdalnym, aby udostępnić katalog / home komputera lokalnego.
źródło
Mój sposób udostępniania plików:
Przejdź do folderu, który chcesz udostępnić, otwórz terminal i uruchom następujące polecenie:
Będziesz mógł uzyskać dostęp do tego folderu na wszystkich komputerach w tej samej sieci pod adresem IP wymienionym w danych wyjściowych tego polecenia.
źródło
zx81roadkill ma rację, użyj „sshfs”. Samba to bzdury, NFS to śmieci. Sshfs jest całkowicie użyteczny z mojego komputera tutaj w Kalifornii na komputer w Argentynie. Jest całkowicie bezpieczny, tak samo szybki jak wszystko inne (mam linię gibabit).
Sshfs jest stosunkowo nowy w porównaniu do Samby i NFS, ale jest o wiele lepszy od obu. Oto przykład jego uruchomienia (zakładając, że masz zainstalowane wszystkie pakiety)
Po wprowadzeniu hasła / tmp / my_mount będzie zawierać wszystkie pliki „nazwy użytkownika” na „maszynie”. Nie zawracaj sobie głowy gadaniem z Sambą lub NFS. To tylko bezsensowny ból w tyłku, który można skonfigurować lub skonfigurować.
Aby odmontować:
a jeśli to się nie powiedzie (z jakiegokolwiek powodu):
Wszystkie dane przesyłane przez punkt montowania są szyfrowane. Dlaczego nie jest to standardowy, całkowicie akceptowany sposób wykonywania montażu na zdalnej maszynie, jest dla mnie tajemnicą. Jest znacznie lepszy od innych metod pod względem prostoty.
Jeśli potrzebujesz surowej prędkości, może zrobi to nadęty śmieć Samba lub NFS. Nie wiem, 100 MB / s + jest dla mnie wystarczająco dobre.
źródło