Samba - это программное обеспечение для организации обмена файлами и работы с общими ресурсами между компьютерами под управлением Linux/Unix и операционной системой Windows. Samba состоит из клиентской и серверной части. Клиентская часть позволяет получить доступ к сетевым папкам и ресурсам Windows, а серверная, в свою очередь, открывает общий доступ к папке Uncom OS для других машин, в том числе и на Windows.
Служба Samba предустановлена в Uncom OS, установка дополнительных пакетов не требуется.
Данный тип настройки имеет ограниченный функционал и не рекомендован к применению. Он подходит только для самых простых задач - быстрой организации сетевой папки с авторизацией по имени и паролю локального пользователя. Опытным пользователям рекомендуется перейти к разделу
Настройка папки общего доступа Samba через терминал
Создадим новую папку в корне домашней папки текущего пользователя:

Правая кнопка мыши, "Настроить общий доступ":

Разберем доступные опции:
Имя ресурса - имя, под которым ресурс будет отображаться в файловом менеджере клиента;
Разрешить создание и удаление файлов по сети - будет ли папка только для чтения (создавать и удалять файлы может только владелец на самом сервере) или любой имеющий доступ к папке по сети может создавать и удалять файлы;
Разрешить доступ без локальной учётной записи - включить или выключить анонимный гостевой доступ без ввода пароля (имеет свои нюансы, связанные с правами доступа на вышестоящие папки, и не будет работать с домашней папкой пользователя и вложенными в неё папками).
Нажимаем "Создать ресурс", подтверждаем установку новых прав доступа к папке:

Проверяем права доступа к папке:

Есть несколько вариантов настройки прав доступа к сетевой папке samba в Uncom OS, мы рассмотрим гостевой и ограниченный для группы безопасности.
Создадим резервную копию файла конфигурации /etc/samba/smb.conf. Это нужно для того, чтобы была возможность вернуться к стандартным настройкам, если что-то пойдёт не так:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Теперь мы можем перейти непосредственно к настройке папок общего доступа.
Сначала создадим общую папку доступную всем, с анонимным доступом, без авторизации samba.
sudo mkdir -p /samba/guest
После того как папка создана, нужно задать для нее корректные права доступа. Следующие команды разрешают доступ к папке для всех и делают владельцем nobody, то есть никого:
sudo chmod -R 0766 /samba/guest
sudo chown -R nobody:nogroup /samba/guest/
Теперь нам необходимо описать данную папку в файле конфигурации /etc/samba/smb.conf
Добавим в конец файла следующие строки:
[guest]
path = /samba/guest
browsable = yes
writable = yes
guest ok = yes
create mode = 0777
directory mode = 0777
Теперь наш файл конфигурации выглядит следующим образом:

Разберем основные опции, которые вы можете использовать при открытии доступа к сетевой папке:
path - путь к папке, которую нужно расшарить;
browsable - будет ли папка отображаться в списке доступных сетевый расположений;
writable - будет ли папка доступна для записи;
read only - папка доступна только для чтения;
guest ok, public - будет ли разрешен гостевой доступ;
only guest - если установлено yes, то папка будет доступна только гостям;
hosts allow - ip адреса, с которых можно получить доступ к этому серверу;
valid users - по умолчанию могут авторизоваться все пользователи, если в этом параметре передать список пользователей, то авторизоваться смогут только они;
create mode- маска прав для создаваемых файлов;
directory mode- маска прав для создаваемых папок.
Сохраните файл конфигурации.
Чтобы применить изменения, перезапустите сервер Samba:
sudo systemctl restart smbd
Настройка общей папки samba в Uncom OS для анонимного доступа завершена.
Чтобы расшарить папку для Windows Ubuntu, к которой будут иметь доступ только пользователи из определенной группы, создадим отдельную папку и опишем ее в файле настройки samba.
Сначала создаем папку:
sudo mkdir -p /samba/secured
Дальше установим такие права, чтобы доступ к папке могли получить только пользователи из группы securegroup.
Создаем группу:
sudo addgroup securedgroup
Настраиваем права:
sudo chown -R uncom:securedgroup /samba/secured
sudo chmod -R 0770 /samba/secured/
Последний шаг, добавляем настройки в конфигурационный файл samba:
sudo nano /etc/samba/smb.conf
[secured]
path = /samba/secured
valid users = @securedgroup
guest ok = no
writable = yes
browsable = yes
create mode = 0770
directory mode = 0770

Перезапустите сервер Samba:
sudo systemctl restart smbd
Теперь доступ к общей папке в Uncom OS могут получить только пользователи группы securegroup.
Чтобы проверить как это работает добавим пользователя uncom в нашу группу:
sudo usermod -a -G securedgroup uncom
Чтобы пользователь мог работать с расшаренными папками в Uncom OS, он должен быть в базе данных Samba. Поэтому создадим для него пароль Samba:
sudo smbpasswd -a uncom
После ввода команды вам будет предложено ввести новый пароль. Для применения изменений не забудьте перезагрузить файловый сервер.
Если вы хотите чтобы общий доступ к папке Uncom OS мог получить доступ только определенный пользователь замените в конфигурационном файле @securegroup на имя пользователя. Также можно указать несколько пользователей через запятую или несколько групп.
Настройка общей папки samba в Uncom OS для защищенного доступа завершена.
В данном режиме вы можете примонтировать любые доступные вам сетевые расположения, однако монтироваться в автоматическом режиме при запуске системы они не будут. Этой теме посвящен следующий раздел инструкции.
Откройте файловый менеджер, во вкладке "Другие расположения" в нижней части окна вы можете увидеть доступные для обнаружения и подключения сетевые ресурсы Windows. Открытые нами ранее папки общего доступа находятся на ПК под названием UNC-NVIDIA-TEST:

На данном ресурсе доступны настроенные нами папки общего доступа, а также преднастроенная по умолчанию папка сетевых принтеров:

Подключимся к папке guest с использованием анонимного доступа:


Попробуем переместить в неё текстовый файл, после удалим его:

Для отключения папки общего доступа от ПК используйте соответствующий инструмент на появившейся в правой части интерфейса строке с папкой:

Подключимся к папке secured с использованием учетных данных пользователя, входящего в группу securegroup


Если при настройке папок общего доступа Samba на сервере для них не был выставлен флаг browsable, эти папки не будут отображаться в интерфейсе доступных сетевых ресурсов, однако, к ним можно подключиться напрямую через строку "Ввести адрес сервера":

Вам необходимо указать протокол подключения, адрес сервера, адрес папки общего доступа на сервере, после чего нажать "Подключиться" и авторизоваться на сервере. Справка по протоколам подключения и синтаксису доступна там же, по значку вопросительного знака.
Любые примонтированные папки общего доступа можно добавить в панель избранного, если нажать на них правой кнопкой мыши и выбрать "Добавить в закладки".

Подробная информация про монтирование дисков с помощью fstab и systemd содержится в данной статье
Для монтирования папок общего доступа Samba с помощью fstab используется следующий синтаксис:
//адрес_сервера/папка_общего_доступа /точка/монтирования cifs опции,монтирования резерв проверка
cifs - тип файловой системы папки, соответствующий Samba.
К стандартным опциям монтирования в нашем случае могут добавляться следующие важные опции:
_netdev - опция, которая сообщает системе о том, что данная запись является сетевым устройством, и монтирование необходимо производить после проверки работы сетевых адаптеров;
username= - имя пользователя на Samba сервере;
password= - пароль пользователя на Samba сервере;
domain= - рабочая группа или домен;
credentials= - если вы не хотите в явном виде указывать имя и пароль в файле /etc/fstab, вы можете сохранить учётные данные для монтирования папки Samba в отдельном файле, с правильно настроенными параметрами безопасности. В данной опции указывается путь до данного файла в системе, например /home/username/credentials.
Содержимое файла credentials может выглядеть так:
username=user
password=secret
domain=mydomain
Рекомендованная маска прав безопасности для данного файла - 600 или 660.