Оглавление |
---|
Информация | ||
---|---|---|
| ||
Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10 |
Введение
В настоящей статье рассматривается порядок настройки Samba для предоставления доступа к разделяемым сетевым ресурсам, файловые объекты в которых могут иметь ненулевые классификационное метки. При этом настройка выполняется без использования механизмов домена, т.е.:
- аутентификация пользователей выполняется не доменной службой Kerberos, а внутренней системой аутентификации Samba;
- аутентификация выполняется для локальных пользователей (локальных групп) компьютера, на котором расположен ресурс;
- контроль доступа выполняется на двух уровнях:
- авторизация для доступа к разделяемому ресурсу Samba выполняется службой samba;
- авторизация для доступа к файловым объектам, находящимся на разделяемом ресурсе, выполняется операционной системой на основании дискреционных прав доступа (владелец объекта, группа владельца объекта, маска доступа, ACL).
Установка пакетов
Для выполнения инструкций данной статьи достаточно установить пакет samba:
Command |
---|
sudo apt install samba |
Настройка сетевых подключений
Для эксплуатации сервера samba желательно назначить ему постоянный IP-адрес. См. Настройка сетевых подключений в Astra Linux.
Создание каталогов для общего доступа
Для размещения данных с ненулевыми классификационными метками создать на сервере каталоги, которые будут содержать разделяемые файловые ресурсы, и установить желаемые права мандатного и дискреционного доступа, например:
Создать группу каталогов для размещения данных с различными классификационными метками:
Command sudo mkdir /srv/macshare
sudo mkdir /srv/macshare/zero
sudo mkdir /srv/macshare/dsp
sudo mkdir /srv/macshare/secret
sudo mkdir /srv/macshare/topsecretУстановить желаемые дискреционные атрибуты, например:
Command sudo chmod 777 /srv/macshare -R
Установить классификационные метки на подкаталоги:
Command sudo pdpl-file 3:0:-1:ccnr /srv /srv/macshare/
sudo pdpl-file 1:0:0 /srv/macshare/dsp
sudo pdpl-file 2:0:0 /srv/macshare/secret
sudo pdpl-file 3:0:0 /srv/macshare/topsecret
Настройка службы samba
Разрешить работу службы samba с ненулевыми классификационным метками, для чего добавить в конфигурационный файл /etc/samba/smb.conf в секцию [global] параметр:
Блок кода use socket MAC label = YES
Добавить в конфигурационный файл /etc/samba/smb.conf секцию с информацией о разделяемом файловом ресурсе, например, секция для ресурса с именем macshare:
Блок кода icon false language bash title /etc/samba/smb.conf [macshare] comment = For all doc's path = /srv/macshare read only = no
Права доступа к разделяемому ресурсу по умолчанию предоставляются всем пользователям, прошедшим аутентификацию. Дополнительно можно настроить индивидуальные права доступа к ресурсу с помощью параметров valid users (разрешение доступа) и invalid users (запрещение доступа), подробнее см. man smb.conf. Например, добавить группу smbusers:
Command sudo groupadd smbusers И разрешить доступ к ресурсу только участникам этой группы, добавив в описание ресурса строку:
Блок кода valid users = @smbusers
При этом для того, чтобы пользователь смог получить доступ к ресурсу надо будет включить этого пользователя в группу smbuser:
Command sudo usermod -aG smbusers <имя_пользователя> - Получив доступ к разделяемому ресурсу пользователь далее по умолчанию работает от своего имени. Соответственно, корневой каталог разделяемого ресурса должен иметь дискреционные атрибуты доступа, обеспечивающие необходимый доступ пользователям. Создаваемые пользователем файловые объекты будут принадлежать этому пользователю, маски доступа будут определяться операционной системой (см. Umask и права доступа), доступ к файловым объектам, принадлежащим другим пользователям, будет регулироваться дискреционными правами доступа (а также мандатными правами доступа, если они используются). Для разделяемых ресурсов, файловые объекты в которых предназначены для совместного использования разными пользователями, можно использовать следующие варианты предоставления общего доступа:
- Назначить файловым объектам ACL, предоставляя нужные права доступа нужным пользователям (группам), в том числе использовать ACL по умолчанию для корневого каталога разделяемого ресурса.
Использовать параметры разделяемого ресурса force user и force group. При использовании этих параметров действия с файловыми объектами будут выполняться не от имени аутентифицированного пользователя (группы), а от имени пользователя (группы), заданного параметром. При этом все создаваемые файловые объекты будут принадлежать указанному пользователю (пользователь должен быть существовать), соответственно, доступ к ним будет обеспечен как к собственным объектам:
Блок кода force user = shareuser
Предупреждение Для параметров force user/force group не следует использовать имена nobody/nogroup. Использовать параметры разделяемого ресурса force create mode (для файлов) и force directory mode (для каталогов), переопределив с помощью этих параметров дискреционные маски прав доступа для создаваемых объектов. При этом объекты будут принадлежать разным пользователям, а доступ к "чужим" объектам будет предоставляться на основании этих масок. Например, полный доступ к каталогам и доступ на чтение и запись к файлам:
Блок кода force directory mode = 0777 force create mode = 0666
Проверить корректность конфигурации samba:
Command testparm
Перезапустить службу Samba:
Command sudo systemctl restart smbd
Убедиться, что к созданному разделяемому ресурсу запрещен анонимный доступ (доступ без аутентификации):
Command Title smbclient -N //localhost/macshare tree connect failed: NT_STATUS_ACCESS_DENIED
Зарегистрировать в службе samba локальных пользователей, которым должен предоставляться доступ с аутентификацией. Команда:
Command sudo smbpasswd -a <имя_пользователя> При регистрации потребуется указать и подтвердить пароль;
Убедиться, что доступ работает корректно, выполнив подключение от имени пользователя (понадобится ввести пароль пользователя):
Command smbclient -U <имя_пользователя> //localhost/macshare