Обновлено 28 февраля 2018
Кравченко Виктор

Raspberry Pi 3 и SAMBA: удаленный доступ к файлам Малинки по локальной сети

Радиотехника и электроника Цифровые устройства Умный дом Raspberry
01

Иногда возникает необходимость взаимодействия с файловой системой Малинки через рабочий компьютер на Windows. Для того, чтобы превратить Raspberry Pi 3 в файловый сервер с удаленным доступом к файлам по локальной сети, понадобится установить файловый сервер Samba. Он позволяет осуществлять кроссплатформенное файловое взаимодействие в сети. Работает по протоколу SMB/CIFS.

02

В первую очередь необходимо обновить систему:

03
1
2
sudo apt-get update sudo apt-get dist-upgrade
04

Процедура установки и настройки очень простая и быстрая, и вряд ли отнимет более 5 минут.

05

Устанавливаем Samba:

06
1
sudo apt-get install samba samba-common-bin
07
08

Настройка доступа к новой папке

После установки Samba необходимо создать папку на жестком диске Raspberry Pi (MicroSD с ОС), доступ к которой хотелось бы получить. В нашем случае это будет папка share в корневой директории:

09
1
sudo mkdir -m 1777 /share
10

Теперь Samba нужно настроить. Для этого открываем файл конфигурации:

11
1
sudo leafpad /etc/samba/smb.conf
12

И добавляем в конец файла следующие настройки:

13
1
2
3
4
5
6
7
8
9
10
[share] Comment = Pi shared folder
Path = /share
Browseable = yes Writeable = yes only guest = no create mask = 0777 directory mask = 0777 Public = yes Guest ok = yes
14
15

Перезагружаем Samba, чтобы изменения вступили в силу:

16
1
sudo /etc/init.d/samba restart
17

Raspberry Pi 3 появится в локальной сети:

18
19

Данные настройки позволят всем пользователям, в т. ч. и гостям вашей локальной сети, иметь полный доступ к папке /shared файловой системы Raspberry Pi 3.

20

Настройка доступа к существующей папке

Далее будет показано, как настроить общий сетевой доступ к существующей папке, на примере папки /home/pi.

21

Открываем файл конфигурации:

22
1
sudo leafpad /etc/samba/smb.conf
23

И добавляем в конец файла следующие настройки, при чем параметру Path присваиваем путь к папке, которую хотим сделать доступной — /home/pi:

24
1
2
3
4
5
6
7
8
9
10
[share] Comment = Pi shared folder
Path = /home/pi
Browseable = yes Writeable = yes only guest = no create mask = 0777 directory mask = 0777 Public = yes Guest ok = yes
25

После перезагрузки Samba:

26
1
sudo /etc/init.d/samba restart
27

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

28
1
sudo chmod -R 777 /home/pi
29 На заметку:
Здесь необходимо иметь ввиду, что файлы, созданные непосредственно в Raspbian OS (например, скетчи Python) после открытия доступа, не будут иметь разрешения на изменения со стороны внешних компьютеров в сети. Для того, чтобы назначить права на изменение этих файлов, нужно вновь повторить процедуру изменения прав:

1
sudo chmod -R 777 /home/pi
30

Доступ к корневой папке

Если необходимо предоставить доступ к корневой папке (ко всем папкам), необходимо в файле настроек изменить строку Path = /any_path на Path = /. При этом придется повторить процедуру изменения прав на папку (атрибут -R указывает, что команду следует применить и ко всем вложенным элементам):

31 Внимание:
В случае изменения прав на все папки:
1
sudo chmod -R 777 /

автоматически будут переписаны права и вашего root-пользователя (папка usr/bin/sudo). После этой процедуры, исполнение любой команды под суперюзером sudo будет невозможно! Любая попытка использования команды sudo будет завершена ошибкой:
1
sudo: /usr/bin/sudo должен принадлежать пользователю с uid 0 и иметь бит setuid

Поэтому, настоятельно рекомендуется точечно выбирать папки для изменения прав:
1
sudo chmod -R 777 /one_folder
32

Создание пароля Samba

В случаях, когда нужно ограничить доступ к ресурсам Raspberry Pi 3, необходимо во-первых, запретить доступ гостям — для этого из файла конфигурации нужно удалить строку Guest ok = yes. Во-вторых, нужно задать пароль Samba:

33
1
sudo smbpasswd -a pi
34

После перезагрузки:

35
1
sudo /etc/init.d/samba restart
36

Изменения вступят в силу.

38

Похожие запросы:

  • Raspberry Pi 3. Организация сетевого доступа к файлам через Samba
  • Share your Raspberry Pi's files and folders across a network
  • How to install Samba on Raspberry Pi 3 with Raspbian OS
  • Raspberry Pi 3 организация общего доступа к файлам и принтерам из систем Linux и Windows
  • Raspberry Pi Настройка удаленного доступа к файлам по локальной сети
comments powered by HyperComments