Прежде всего: если вы хотите поделиться файлами, есть несколько разных протоколов: Samba (SMB), NFS, FTP, SSH / sFTP / SCP. Samba является самым простым, если используется компьютер с Windows, но вы также можете использовать его на двух компьютерах с Ubuntu (и даже Mac OS). SSH - хорошая вещь для Ubuntu, потому что это очень мощный инструмент - например, запуск rsync
по SSH - это командный метод для синхронизации двух каталогов. Но я бы выбрал SMB, потому что вы упоминаете Windows, и, вероятно, для начала достаточно настроить один протокол / сервер.
Только три важных подсказки для дальнейшего изучения других протоколов:
- Подумайте о шифровании - нужно ли шифровать протокол или вы хотите доверять своей локальной сети? (FTP не зашифрован, SSH / sFTP / SCP есть)
- Нужно ли передавать огромные файлы? (SCP действительно медленный по сравнению с SMB в гигабитных сетях! Тесты Google, если вам интересно.)
- Нужно ли сохранять права доступа к файлам переданных файлов?
Теперь ваши вопросы:
1. Когда я делюсь файлами между двумя машинами Ubuntu через локальную сеть, нужен ли Samba на обеих машинах?
Нет, не сервер Samba. Там всегда будет сервер и клиент. Вы можете получить доступ к общим папкам на сервере с клиента, а не наоборот. Другими словами: индикатор выполнения копирования всегда будет на клиенте, а не на сервере. Но с двумя машинами Ubuntu оба могут быть клиентом и сервером одновременно, если хотите. По умолчанию клиент поставляется с Ubuntu, сервер устанавливается автоматически при первом совместном использовании папки с Nautilus.
2. Без определения разрешения на компьютере 1 я вижу все файлы /
на компьютере 2. Есть ли какой-нибудь способ остановить эту видимость?
Это не так для SMB / Samba. Существуют определенные общие папки, и только они видны клиентам. Проверьте папку /var/lib/samba/usershares/
и файл /etc/samba/smb.conf
, если путь /
является общим. Вероятно, вы соединяетесь с SSH, а не с SMB. Тогда вы правы, обычно все видно, и вы должны правильно установить права доступа к файлам и каталогам. Вы можете найти более подробную информацию об этом здесь: Простой и легкий способ тюрьмы пользователей
3. Какого пользователя и пароль мне нужно использовать при доступе к другому компьютеру с Ubuntu через Samba?
Обычно это просто: просто используйте любого пользователя и пароль другой машины. Только в очень особых случаях обычный пароль пользователя отличается от его пароля Samba. Вы можете изменить пароль Samba отдельно с помощью команды smbpasswd
, но у вас должны быть веские причины использовать два разных пароля.
Вы можете разрешить акции без пароля. Есть много вещей, которые можно сказать по этому поводу, но, вероятно, этот снимок экрана Nautilus поможет для начала:
4. Как обмениваться файлами без графического интерфейса пользователя с помощью терминала?
Вероятно, наиболее распространенным вариантом использования является SSH / SCP. Просто введите в клиентском терминале следующую команду, чтобы скопировать /path/to/file1
ее /path/to/file2
на сервер:
scp /path/to/file1 server:/path/to/file2
server
может быть IP-адрес или доменное имя. Или другой метод, уже упомянутый в других ответах rsync
:
rsync /path/to/file1 server:/path/to/file2
С Samba вы, вероятно, использовали бы smbmount (который не поставляется с Samba по умолчанию) для монтирования общего сетевого ресурса на клиенте. Тогда вы можете использовать его как обычно. Существует много способов смонтировать общий ресурс Samba. Если вы используете Gnome, gvfs-mount
возможно, самый простой способ:
gvfs-mount smb://server/nameOfsharedFolder
cd ~/.gvfs/*
5. Почему сервер не отображается в Nautilus / Network на клиенте?
Насколько я знаю, в первый раз там не видно. После подключения к нему, вы найдете его там. В первый раз вам нужно будет нажать «Сеть Windows», затем «Рабочая группа», и тогда вы увидите свой сервер - надеюсь. По крайней мере, это было результатом моих тестов.
6. Как найти другую систему, не зная имени или IP другой системы в локальной сети?
Вы можете использовать nmap
в терминале, например:
nmap 192.168.0.*
если ваша сеть - 192.168.0.0. Это напечатает вам все сетевые клиенты в вашей локальной сети (которые могут быть обнаружены). Иногда это может помочь, если другие машины не отображаются в сети .