Po pierwsze: jeśli chcesz udostępniać pliki, istnieje kilka różnych interesujących protokołów: Samba (SMB), NFS, FTP, SSH / sFTP / SCP. Samba jest najłatwiejsza, jeśli zaangażowany jest komputer z systemem Windows, ale można jej używać również między dwoma komputerami z systemem Ubuntu (a nawet Mac OS). SSH jest fajną rzeczą dla Ubuntu, ponieważ jest to bardzo potężne narzędzie - np. Uruchamianie rsync
przez SSH jest metodą poleceń pozwalającą na synchronizację dwóch katalogów. Ale wybrałbym SMB, ponieważ wspominasz o systemie Windows i prawdopodobnie skonfigurowanie jednego protokołu / serwera wystarczy na początek.
Tylko trzy ważne wskazówki do dalszych badań na temat innych protokołów:
- Pomyśl o szyfrowaniu - czy konieczne jest szyfrowanie protokołu, czy chcesz zaufać swojej sieci LAN? (FTP nie jest szyfrowany, SSH / sFTP / SCP jest)
- Czy musisz przesyłać ogromne pliki? (SCP działa naprawdę wolno w porównaniu z SMB w sieciach Gigabit! Testy Google, jeśli jesteś zainteresowany.)
- Czy konieczne jest utrzymanie uprawnień do plików przesyłanych plików?
Teraz twoje pytania:
1. Czy podczas udostępniania plików między dwoma komputerami Ubuntu przez sieć LAN potrzebuję Samby na obu komputerach?
Nie, nie serwer Samba. Nie będzie zawsze serwer i klient. Możesz uzyskać dostęp do folderów współdzielonych na serwerze z klienta - nie na odwrót. Innymi słowy: pasek postępu kopiowania będzie zawsze na kliencie, nigdy na serwerze. Ale dzięki dwóm maszynom Ubuntu oba mogą być jednocześnie klientem i serwerem, jeśli chcesz. Klient jest domyślnie dostarczany z Ubuntu, serwer jest instalowany automatycznie, gdy udostępniasz folder po raz pierwszy w Nautilus.
2. Bez zdefiniowania uprawnień na komputerze 1 Widzę wszystkie pliki /
na komputerze 2. Czy w jakiś sposób mogą zatrzymać tę widoczność?
To nie dotyczy SMB / Samby. Istnieją pewne foldery współdzielone i tylko one są widoczne dla klientów. Sprawdź folder /var/lib/samba/usershares/
i plik /etc/samba/smb.conf
, jeśli ścieżka /
jest udostępniona. Prawdopodobnie łączysz się z SSH, a nie z SMB. Masz rację, zwykle wszystko jest widoczne i musisz poprawnie ustawić uprawnienia do plików i katalogów. Więcej informacji na ten temat można znaleźć tutaj: Prosty i łatwy sposób na uwięzienie użytkowników
3. Z którego użytkownika i hasła muszę korzystać podczas uzyskiwania dostępu do innego komputera Ubuntu za pośrednictwem Samby?
Zwykle jest to proste: wystarczy użyć dowolnego użytkownika i hasła do drugiego komputera. Tylko w bardzo szczególnych przypadkach normalne hasło użytkownika różni się od hasła do Samby. Możesz zmienić hasło Samby osobno za pomocą polecenia smbpasswd
, ale naprawdę powinieneś mieć dobre powody, aby używać dwóch różnych haseł.
Możesz zezwolić na udziały bez hasła. Jest wiele do powiedzenia na ten temat, ale prawdopodobnie ten zrzut ekranu Nautilus pomaga na początku:
4. Jak udostępniać pliki bez GUI za pomocą terminala?
Najczęstszym przypadkiem użycia jest wtedy SSH / SCP. Po prostu wpisz następujące polecenie w terminalu klienta, aby skopiować /path/to/file1
na klienta /path/to/file2
na serwerze:
scp /path/to/file1 server:/path/to/file2
server
może być adresem IP lub nazwą domeny. Lub inna metoda już wspomniana w innych odpowiedziach z rsync
:
rsync /path/to/file1 server:/path/to/file2
W Sambie prawdopodobnie użyłbyś smbmount (który domyślnie nie jest dostarczany z Sambą) w celu zamontowania udziału sieciowego na kliencie. Następnie możesz użyć go normalnie. Istnieje wiele sposobów montowania udziału Samba. Jeśli używasz Gnome, gvfs-mount
może to być najłatwiejsza metoda:
gvfs-mount smb://server/nameOfsharedFolder
cd ~/.gvfs/*
5. Dlaczego serwer nie wyświetla się w Nautilus / Network na kliencie?
O ile mi wiadomo, po raz pierwszy się tam nie pojawia. Po jednokrotnym połączeniu się z nim znajdziesz go tam. Za pierwszym razem będziesz musiał kliknąć „Windows Network”, następnie „Workgroup”, a potem zobaczysz swój serwer - mam nadzieję. Przynajmniej taki był wynik moich testów.
6. Jak znaleźć inny system bez znajomości nazwy lub adresu IP innego systemu w sieci LAN?
Możesz użyć nmap
w terminalu, na przykład:
nmap 192.168.0.*
jeśli 192.168.0.0 to Twoja sieć LAN. Spowoduje to wydrukowanie wszystkich klientów sieciowych w Twojej sieci LAN (które można wykryć). Czasami może to pomóc, jeśli inne maszyny nie pojawiają się w sieci .