Сервис SAMBA: удаленный доступ к файлам по локальной сети
МиниПК: BananaPiPro
Операционная система: ARMBIAN 5.38 stable Debian GNU/Linux 9 (stretch) 4.14.18-sunxi
Установка ОС по ссылке
Материал к статье по ссылке
Перед установкой обновить пакеты:
# apt-get update
# apt-get upgrade
Установить Samba, при этом связанные с сервисом пакеты установятся автоматически:
# apt-get install samba
Нужно создать папку, к которой настроить доступ. Например папку /share в корневой директории системы и установить права на доступ:
mkdir -m 1777 /share
Права позволяют читать и записывать данные всем пользователям.
Параметры настройки можно почитать на русском языке по ссылке
Открыть файл конфигурации /etc/samba/smb.conf для редактирования. Добавить в конец файла следующие настройки:
...
[share]
comment = Pi shared folder
path = /share
browseable = yes
writeable = yes
guest only = no
guest ok = yes
create mask = 0777
directory mask = 0777
где:
[share] - название ресурса (будет отображаться в Windows)
comment - текстовое поле, которое отображается рядом с общим ресурсом
path - параметр указывает локальную директорию, к которой пользователь получит доступ (в нашем случае это папка /share в корневой директории системы)
browseable - Параметр устанавливает, будет ли общий ресурс отображаться в списке доступных общих ресурсов в сетевом окружении и в списке просмотра.
writeable - пераметр инверсия для read only. Если параметр writeable установлен в yes, то пользователь может создавать или изменять файлы в этой директории
guest only - если этот параметр задан в yes на общем ресурсе, то разрешаются только гостевые соединения к общему ресурсу. Этот параметр не имеет никакого эффекта без guest ok (хотя это не точно). В нашем случае доступ получит любой пользователь (guest only = no)
guest ok - если этот параметр задан в yes на общем ресурсе, то для подключения к ресурсу не требуется пароль
create mask - маска прав при создании файла, см. здесь
directory mask - маска прав при создании директории (папки), см. здесь
Кроме этого, нужно обратить внимание на параметр workgroup (параметр указывает на принадлежность сервера к рабочей группе, см здесь) в секции [global], см. описания. По умолчанию этот параметр задан как WORKGROUP:
[global]
workgroup = WORKGROUP
...
Перезагружаем Samba, чтобы изменения вступили в силу:
/etc/init.d/samba restart
Для просмотра состояния работы сервиса выполнить:
/etc/init.d/samba status
Папка станет доступной всем пользователям сети, но только для чтения. Это связано с тем, что все папки и файлы были созданы ранее и для того, чтобы открыть полный доступ к ним, нужно переназначить права на все элементы расшаренной папки. Например:
chmod -R 777 /home
Здесь необходимо иметь ввиду, что файлы, созданные непосредственно в ARMBIAN на BananaPiPro после открытия доступа, не будут иметь разрешения на изменения со стороны внешних компьютеров в сети. Для того, чтобы назначить права на изменение этих файлов, нужно вновь повторить процедуру изменения прав на папку! Кроме этого, настоятельно рекомендуется точечно выбирать папки для изменения прав!