Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация
titleДанная статья применима к:

Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
Astra Linux Special Edition РУСБ.10015-17
Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)


Введение

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

  • аутентификация пользователей выполняется не доменной службой Kerberos, а внутренней системой аутентификации Samba;
  • аутентификация выполняется для локальных пользователей (локальных групп) компьютера, на котором расположен ресурс;
  • контроль доступа выполняется на двух уровнях:
    • авторизация для доступа к разделяемому ресурсу Samba выполняется службой samba;
    • авторизация для доступа к файловым объектам, находящимся на разделяемом ресурсе, выполняется операционной системой на основании дискреционных прав доступа (владелец объекта, группа владельца объекта, маска доступа, ACL).

Установка пакетов

Для выполнения инструкций данной статьи достаточно установить пакет samba:

Command
sudo apt install samba

Настройка сетевых подключений

Для эксплуатации сервера samba желательно назначить ему постоянный IP-адрес. См. Настройка сетевых подключений в Astra Linux.

Создание каталогов для общего доступа

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

  1. Создать группу каталогов для размещения данных с различными классификационными метками:

    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


  2. Установить желаемые дискреционные атрибуты, например:

    Command

    sudo chmod 777 /srv/macshare -R


  3. Установить классификационные метки на подкаталоги:

    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

Создание разделяемого ресурса

Для создания разделяемого ресурса службы samba добавить в конфигурационный файл /etc/samba/smb.conf секцию с информацией об этом ресурсе, например, секция для файлового ресурса с именем macshare:

Блок кода
iconfalse
languagebash
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 и права доступа), доступ к файловым объектам, принадлежащим другим пользователям, будет регулироваться дискреционными правами доступа (а также мандатными общесистемными правами доступа, если они используются).

Для разделяемых ресурсов, файловые объекты в которых предназначены для совместного использования разными пользователями, можно использовать следующие варианты предоставления общего доступа:

  1. Назначить файловым объектам ACL, предоставив нужные права доступа нужным пользователям (группам). При этом удобно использовать для корневого каталога разделяемого ресурса ACL по умолчанию, которые будут автоматически применяться к создаваемым объектам.

  2. Использовать параметры разделяемого ресурса force user и force group (или параметр guest only = yes). При этом действия с файловыми объектами будут выполняться не от имени аутентифицированного пользователя (группы), а от имени пользователя (группы), заданного параметром (в случае параметра guest only = yes — от имени пользователя nobody и группы nogroup). Все создаваемые файловые объекты будут принадлежать указанному пользователю (пользователь должен существовать), соответственно, доступ к объектам будет обеспечен как к собственным. При этом мандатные права доступа будут определяться меткой пользователя, от имени которого выполняются операции. Например, подключение к ресурсу из пользовательской сессии с ненулевой классификационной меткой будет невозможно, если работа с ресурсом должна выполняться от имени пользователя nobody, не имеющего метки безопасности.
    Например, работа от имени пользователя shareuser:

    Блок кода
    force user = shareuser


    Предупреждение

    Для параметров force user/force group не следует использовать имена nobody/nogroup.


  3. Использовать параметры разделяемого ресурса force create mode (для файлов) и force directory mode (для каталогов). Значения этих параметров переопределяют дискреционные маски прав доступа для создаваемых объектов. Создаваемые объекты могут принадлежать разным пользователям, а разрешения доступа к ним будут устанавливаться на основание значения umask (про работу umask см. Umask и права доступа) и дополнительно установленных бит разрешений из маски доступа, заданной параметрами. Например, полный доступ к каталогам и доступ на чтение и запись к файлам:

    Блок кода
    force directory mode = 0777
    force create mode = 0666
    


Проверка корректности настроек

Проверить корректность конфигурации samba можно командой:

Command
testparm

Перезапустить службу Samba:

Command
sudo systemctl restart smbd


Убедиться, что к созданному разделяемому ресурсу запрещен анонимный доступ (доступ без аутентификации):

Command
Titlesmbclient -N //localhost/macshare
tree connect failed: NT_STATUS_ACCESS_DENIED


Зарегистрировать в службе samba локальных пользователей, которым должен предоставляться доступ с аутентификацией. Команда:

Command
sudo smbpasswd -a <имя_пользователя>

При регистрации потребуется указать и подтвердить пароль;

Убедиться, что доступ работает корректно, выполнив подключение от имени пользователя (понадобится ввести пароль пользователя):

Command
smbclient -U <имя_пользователя> //localhost/macshare