Raspberry Pi 3. Организация сетевого доступа к файлам через Samba

Для расшаривания файлов и папок по сети в Linux Mint существует пакет программ «Samba» который позволяет обращаться к сетевым дискам, папкам и принтерам. Имеется серверная и клиентская часть. В Linux Mint 19.1 данный пакет установлен по умолчанию, расшарить файлы для других пользователей достаточно легко. Отмечу в Linux Mint более ранних версий пакет программ необходимо устанавливать самостоятельно.

Установка и настройка Samba на Linux Mint 19

Чтобы установить Samba на Linux Mint, войдите в командную строку и введите следующую команду:

Введите свой пароль для аутентификации, и apt загрузит и установит Samba и его вспомогательные утилиты для вас. Главное, что нужно знать о Samba, заключается в том, что он хранит собственный набор учетных записей пользователей, отдельно от основных учетных записей, в файле / etc / samba / smbpasswd. Это означает, что вам нужно создать отдельный пароль Samba для каждого пользователя, которому вы хотите получить доступ к общим папкам. Вы создаете этот пароль, используя команду smbpasswd. Вот как должна выглядеть команда для создания учетной записи Samba для учетной записи пользователя, называемой camalas:

sudo smbpasswd -a camalas

Обязательно дайте учетной записи Samba Camalas надлежащим образом надежный пароль (включая прописные, строчные, пунктуационные и цифры). Как только будет создан пароль camalas, следующим шагом будет создание каталога для ее совместного использования. Начните с создания папки с именем «test» в папке camalas, которую мы будем использовать для нашей первой общей папки:

mkdir / home / camalas / test

(ПРИМЕЧАНИЕ. НЕ используйте sudo для создания папки, потому что тогда владелец и группа будут установлены как «root», что означает, что вы не сможете получить доступ к папке, используя ваше имя пользователя и пароль Samba.)

Следующим шагом будет отредактировать файл /etc/samba/, основной файл конфигурации для Samba. Как всегда, сделайте безопасную резервную копию исходного файла в домашней папке, если вы сделаете ошибку:

sudo cp /etc/samba/

Теперь используйте vi для редактирования файла /etc/samba/:

sudo vi /etc/samba/

Файл длинный и довольно сложный, но для целей этой демонстрации вы можете игнорировать большинство из них. Нажмите до самого конца файла и вставьте этот текст:

path = /home/camalas/test

available = yes

read only = no

browseable = yes

public = yes

writable = yes

(Между строками не должно быть пробелов, и также обратите внимание, что должно быть одно пространство как до, так и после каждого из равных знаков.)

Вот что означают некоторые из наиболее важных параметров конфигурации.

Читайте также:  Основные команды Linux: (почти) полное руководство с примерами

test — дает имя файла.

path — указывает местоположение папки для совместного использования.

available — указывает, что общий доступ к файлам доступен для клиентов в сети.

valid users — указывает пользователям, которым разрешен доступ к файловому ресурсу. В этом случае мы установили его так, чтобы доступ к нему мог получить только учетная запись camalas. Вы можете добавить дополнительные учетные записи здесь, если хотите.

read only — указывает, не разрешается ли клиентам писать в общий ресурс файла.

writable — указывает, что данные могут быть записаны в общий ресурс файла.

Настройки, указанные выше, будут совместно использоваться тестовой папкой, которую мы создали ранее, и даем имя пользователя camalas и только имя пользователя camalas для чтения и записи в папку. После ввода изменений сохраните , выйдите из vi и перезапустите Samba с помощью этой команды:

sudo samba restart

(Это заставит Samba перезагрузиться, перечитав файлы конфигурации и активировав только что созданную вами.) После перезапуска Samba используйте эту команду, чтобы проверить для любых синтаксических ошибок:

sudo testparm

Если вы передадите команду testparm, Samba должна работать.

Как настроить рабочую группу Ubuntu

В большинстве случаев вам не нужно менять имя рабочей группы, потому что по умолчанию Ubuntu, Windows и Mac OS имеют одно и то же имя рабочей группы, которое на самом деле WORKGROUP. Однако, если вам нужно изменить его, выполните следующие действия.

Как настроить рабочую группу Ubuntu

Откройте окно терминала (CTRL + ALT + T) и выполните следующую команду: sudo gedit /etc/samba/ Затем нажмите Enter. Если вы ранее не использовали Терминал в этом сеансе, Ubuntu попросит вас ввести пароль вашей учетной записи.

Затем файл конфигурации Samba открывается в окне gedit. При необходимости прокрутите вниз, пока не найдете строку рабочей группы в разделе «Глобальные настройки».

Как настроить рабочую группу Ubuntu

Измените значение рабочей группы Ubuntu, чтобы оно соответствовало имени рабочей группы, в которую вы хотите добавить свой компьютер Ubuntu. Затем нажмите «Сохранить» и перезапустите Ubuntu, чтобы убедиться, что новые настройки применены.

ПРИМЕЧАНИЕ. Если у вас есть сеть, в которую входят компьютеры с Windows, вам необходимо убедиться, что рабочая группа настроена так же, как на ваших компьютерах с Ubuntu. Сделайте это, если хотите, чтобы ваши ПК с Ubuntu присоединились к вашей рабочей группе Windows. Чтобы узнать, как это сделать, ознакомьтесь с этим руководством: Рабочая группа Windows 10 и как ее изменить.

Как настроить рабочую группу Ubuntu

Настройка Samba

Для настройки сервера Samba необходимо сделать две вещи: задать пользовательский пароль и отредактировать файл конфигурации.

Начнем с пароля:

sudo smbpasswd -a pi

Этой командой мы задаем пароль для пользователя pi, с которым можно будет получить доступ к расшаренным на Raspberry Pi ресурсам по SMB-протоколу.

Читайте также:  Как выбрать VPS, панель управления и Web-сервер

Можно обойтись и без пароля, расшарив ресурсы для гостевого доступа. Но я рекомендую гостевой доступ не открывать, а пароль все-таки установить. Пароль установлен, теперь надо отредактировать файл конфигурации:

sudo nano /etc/samba/

Настройка Samba

В этом файле нас в первую очередь интересует группа параметров [global]. В нее нужно добавить следующие строки:

[global] security = user encrypt passwords = true map to guest = bad user guest account = nobody

Заголовок [global] повторно писать не нужно, нужно просто добавить 4 строки под имеющийся заголовок.

Также нужно уделить внимание уже прописанному в [global] параметру:

workgroup = WORKGROUP

В нем указывается название рабочей группы, в которую входят объединенные в локальную сеть компьютеры. По умолчанию имя рабочей группы так и указывается WORKGROUP и трогать этот параметр не нужно. Но если у вас рабочая группа названа как-то нестандартно, то нужно изменить этот параметр, вписав вместо WORKGROUP ее правильное название.

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

[usbstorage] path = /mnt/usbstorage/ writeable = yes read only = no browseable = yes

Эти строки создают ресурс, который будет виден (browseable = yes) в сетевом размещении под названием usbstorage ([usbstorage]) и доступен для записи (writeable = yes, read only = no), и находящийся на Raspberry Pi по пути  /mnt/usbstorage.

То есть я расшариваю весь примонтированный к Raspberry Pi жесткий диск целиком.

Настройка Samba

Можно сделать несколько отдельных шар, прописав в конфиге несколько ресурсов с отдельными [названиями] и указав в каждом свой /путь/до/нужной/директории.

При этом нужно убедиться, что у пользователя, под которым мы будем логиниться по SMB-протоколу, есть права доступа к этим файлам. Если нет – их нужно задать:

sudo chmod -R 755 /путь/до/нужной/директории

Можно открыть гостевой доступ, прописав его следующим образом:

[пример ресурса с гостевым доступом] comment = Public Share path = /путь/до/нужной/директории read only = no guest only = yes guest ok = yes

Все это вопрос удобства и личных предпочтений.

Мне было удобнее расшарить весь диск целиком, сделав доступ к нему доступным по паролю.

Закончив редактировать конфигурацию Samba, перезагрузим Raspberry Pi для применения изменений:

sudo reboot

И проверим работоспособность введенных параметров.

Настройка Samba

Открываем “Сетевое окружение”, находим в нем свою Raspberry Pi:

Вводим заданный пароль для пользователя pi:

Если пароль введен верно, то видим расшаренные ресурсы.

Первый из них – корневая директория пользователя, она расшарена по умолчанию и только для чтения. Второй – жесткий диск:

Открываем его:

Все работает, файлы доступны для просмотра и изменения, значит все сделано правильно.

Читайте также:  Команды в linux: Всё о работе в командной строке Linux

Nautilus

Есть еще один способ настройки Samba в Ubuntu. Он отлично подойдет тем пользователям, которые не хотят устанавливать дополнительное ПО себе на компьютер и которые не любят прибегать к использованию «Терминала». Все настройки будут выполняться в стандартном файловом менеджере Nautilus.

Шаг 1: Установка

Используя Nautilus для настройки Samba, способ установки программы немного отличается. Эту задачу можно выполнить и с помощью «Терминала», как было описано выше, но ниже будет рассмотрен другой метод.

  1. Откройте Nautilus, нажав по одноименному значку на панели задач или проведя поиск по системе.
  2. Перейдите в директорию, где находится нужный каталог для расшаривания.
  3. Нажмите по нему ПКМ и выберите из меню строку «Свойства».
  4. В открывшемся окне перейдите на вкладку «Общедоступная папка локальной сети».
  5. Поставьте галочку рядом с «Опубликовать эту папку».
  6. Появится окно, в котором нужно нажать по кнопке «Установить службу», чтобы началась установка Samba в систему.
  7. Появится окно, в котором вы можете ознакомиться с перечнем устанавливаемых пакетов. После ознакомления нажмите кнопку «Установить».
  8. Введите пароль пользователя, чтобы разрешить системе выполнить загрузку и установку.

После этого вам остается дождаться окончания инсталляции программы. Как только это будет выполнено, можно переходить непосредственно к настройке Samba.

Шаг 2: Настройка

Настраивать Samba в Nautilus’е намного проще, чем с помощью «Терминала» или System Config Samba. Все параметры задаются в свойствах каталога. Если вы забыли как их открыть, то выполните три первых пункта предыдущей инструкции.

Чтобы сделать папку общедоступной, следуйте инструкции:

  1. В окне перейдите во вкладку «Права».
  2. Определите права для владельца, группы и остальных пользователей.

    Примечание: если вам нужно ограничить доступ к общедоступной папке, то из списка выберите строку «Нет».

  3. Нажмите «Изменить права на вложенные файлы».
  4. В открывшемся окне по аналогии со вторым пунктом этого списка определите права пользователей для взаимодействия со всеми вложенными в папку файлами.
  5. Нажмите «Изменить», а далее перейдите на вкладку «Общедоступная папка локальной сети».
  6. Отметьте пункт «Опубликовать эту папку».
  7. Введите наименование этой папки.

    Примечание: поле «Комментарий» при желании вы можете оставить не заполненным.

  8. Поставьте или, наоборот, уберите галочки с «Разрешить другим пользователям изменять содержимое папки» и «Гостевой доступ». Первый пункт позволит пользователям, которые не наделены правами, редактировать вложенные файлы. Второй — откроет доступ всем пользователям, которые не имеют локальную учетную запись.
  9. Нажмите «Применить».

После этого можно будет закрывать окно — папка стала общедоступной. Но стоит отметить, что если вы не настраивали сервер Samba, то есть вероятность, что папка не будет отображаться в локальной сети.

Примечание: как настроить сервер Samba рассказано в начале статьи.