Обмен файлами между Windows и Linux

Обмен файлами

Если у вас дома есть несколько компьютеров, периодически поднимается вопрос об обмене файлами между ними. Если у вас операционные системы одного семейства (только Windows или только Linux), проблем не возникает. А вот если разные…

Задача

Задача одна − обеспечить обмен файлами в домашней сети между компьютерами под управлением Windows и Linux.

Можно, конечно, настроить под Windows защищённый протокол вроде SCP, но есть два «но». Во-первых, для домашней сети в этом особой необходимости нет. Во-вторых, пингвина проще подружить с samba, чем Windows с протоколами конкурента.

Задача следующая – к нескольким папкам дать доступ только для чтения, к одной – для чтения и записи. Авторизация при этом не нужна, управление доступом должно осуществляться на уровне папок.

Установка и настройка

По умолчанию необходимые пакеты в Ubuntu/Mint не установлены, поэтому устанавливаем их самостоятельно:

sudo apt install samba

Для настройки общих папок ищем файл /etc/samba/smb.conf и вносим в него следующие изменения (если нужная строка закомментирована, то необходимо её раскомментировать):

В секции «global» ищем строку «workgroup =» и указываем название своей рабочей группы (нужно для Windows-машин). Желательно указывать такое же название, какое установлено на других компьютерах. Например:

workgroup = myhomegroup

Следующий параметр находится сразу после названия группы и называется «server string». Это описание компьютера, видимое для Windows-машин. Здесь можно писать, что угодно, главное, чтобы это описание было понятно для вас.

Папки для общего доступа

Основные параметры настроены. Осталось указать только папки, которые должны быть открыты для общего доступа и через которые будет вестись обмен файлами. Для этого идём в конец файла и дописываем несколько секций. При этом следует помнить, что имя секции определяет имя общей папки, которое будет видно с других компьютеров. Для организации папки с доступом на чтение и запись пишем следующее:

[Share]
comment = Общий доступ (чтение/запись)
# comment – описание, введите своё
path = /mnt/userdata/share
# path – путь к папке, измените на свой
create mask = 0666
force create mode = 0666
directory mask = 0777
force directory mode = 0777
# принудительно указываем права доступа для папок и файлов
available = yes
browsable = yes
public = yes
writable = yes
# разрешаем запись в папку с других компьютеров

Важный момент. Для того, чтобы обмен файлами был двусторонний (можно было записывать данные), на Linux-компьютере права доступа на папку должны быть 777.

Для того, чтобы открыть папку только для чтения, код будет проще:

[Video]
path = /mnt/userdata/video
comment = Видео
browsable = yes
public = yes
available = yes
writable = no
# запись в папку запрещена, поэтому права доступа нет смысла указывать

И не забудьте, что для того, чтобы настройки вступили в силу после их изменения, службу необходимо перезапустить:

sudo /etc/init.d/smbd restart

Всё, обмен файлами работает, можно пользоваться.

Комментарии:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *