Управление доступом

Для управления доступом к папкам в пространстве имен с помощью утилиты samba-tool используется группа подкоманд dfsn access.

См. описание последовательности настройки пространства имен в разделе «Настройка DFSN».

Общие сведения

Управление доступом в пространстве имен основано на двухуровневой модели безопасности, которая разделяет управление видимостью элементов пространства имен и фактический контроль доступа к файловым ресурсам.

Разрешения на уровне папок используются для контроля их видимости в рамках пространства имен и не влияют на фактический доступ к содержащимся в папках целевым папкам и файлам в них. Они определяют, будут ли папка и целевые папки в ней видны пользователю, если в пространстве имен включен механизм отображения на основе разрешений (Access-based enumeration): если механизм включен, пользователи видят только те папки и целевые папки в пространстве имен, на доступ к которым у них есть явные разрешения.

Фактический контроль доступа к файловым ресурсам осуществляется на уровне файловых серверов, на которых размещаются целевые папки. При доступе учитывается комбинация разрешений на уровне файловой системы и разрешений общих папок, установленных на конкретном целевом объекте, к которому клиент пытается получить доступ. Это означает, что даже если пользователь может видеть папку и целевую папку в пространстве имен, его реальные возможности по работе с файлами (чтение, изменение, удаление) определяются разрешениями, настроенными на сервере, где физически расположены данные.

Выдача разрешений, определяющих видимость папки

Формат вызова:

samba-tool dfsn access grant <dfs_path> <account_names> [options]

В качестве обязательных аргументов ожидаются:

  • путь к папке в пространстве имен в формате UNC-имени (например, \\elles.inno.tech\namespace1\documents);

  • одно или несколько (через запятую без пробелов) имен учетных записей пользователей и групп в формате sAMAccountName с доменом (например, ELLES\User1,ELLES\Group1) или без домена (например, User1,Group1).

Подкоманда делает папку видимой для пользователя или группы в пространстве имен (тип доступа — enumerate).

Если для пространства имен установлен флаг --enable-access-based-enumeration=Yes, пользователю или участникам группы видны только папки, для которых у них явно настроены разрешения.

Параметры

Параметры вызова:

  • --server=DFSSERVERHOST — имя хоста или полное доменное имя (FQDN) сервера пространства имен, используя соединение с которым будет осуществлено изменение; применяется только при необходимости явно указать сервер в нештатных ситуациях.

Примеры

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

samba-tool dfsn access grant "\\\\elles.inno.tech\\namespace1\\documents" "ELLES\\User1","ELLES\\Group1"
...
Account name         Access type
============         ===========
ELLES\User1          enumerate
ELLES\Group1         enumerate

Получение информации о разрешениях, определяющих видимость папки

Формат вызова:

samba-tool dfsn access get <dfs_path> [options]

В качестве обязательного аргумента ожидается путь к папке в пространстве имен в формате UNC-имени (например, \\elles.inno.tech\namespace1\documents).

Подкоманда возвращает список учетных записей пользователей и групп с указанием наличия (тип доступа — enumerate) или отсутствия (тип доступа — none) у них разрешений, определяющих видимость папки в пространстве имен.

Параметры

Параметры вызова:

  • --server=DFSSERVERHOST — имя хоста или полное доменное имя (FQDN) сервера пространства имен, используя соединение с которым будет осуществлено изменение; применяется только при необходимости явно указать сервер в нештатных ситуациях.

Примеры

Пример получения информации о видимости папки:

samba-tool dfsn access get "\\\\elles.inno.tech\\namespace1\\documents"
...
Account name         Access type
============         ===========
ELLES\User1          enumerate
ELLES\Group1         enumerate
ELLES\User2          none

Отзыв разрешений, определяющих видимость папки

Формат вызова:

samba-tool dfsn access revoke <dfs_path> <account_names> [options]

В качестве обязательных аргументов ожидаются:

  • путь к папке в пространстве имен в формате UNC-имени (например, \\elles.inno.tech\namespace1\documents);

  • одно или несколько (через запятую без пробелов) имен учетных записей пользователей и групп в формате sAMAccountName с доменом (например, ELLES\User1,ELLES\Group1) или без домена (например, User1,Group1).

Подкоманда отзывает у пользователя или группы разрешения, позволяющие видеть папку в пространстве имен (тип доступа — none).

Параметры

Параметры вызова:

  • --server=DFSSERVERHOST — имя хоста или полное доменное имя (FQDN) сервера пространства имен, используя соединение с которым будет осуществлено изменение; применяется только при необходимости явно указать сервер в нештатных ситуациях.

Примеры

Пример отзыва разрешений, определяющих видимости папки в пространстве имен, у пользователя:

samba-tool dfsn access revoke "\\\\elles.inno.tech\\namespace1\\documents" "ELLES\\User1","ELLES\\Group1"
...
Account name         Access type
============         ===========
ELLES\User1          none
ELLEs\Group1         none

Удаление пользователей и групп из списка управления доступом (ACL) для папки

Формат вызова:

samba-tool dfsn access remove <dfs_path> <account_names> [options]

В качестве обязательных аргументов ожидаются:

  • путь к папке в пространстве имен в формате UNC-имени (например, \\elles.inno.tech\namespace1\documents);

  • одно или несколько (через запятую без пробелов) имен учетных записей пользователей и групп в формате sAMAccountName с доменом (например, ELLES\User1,ELLES\Group1) или без домена (например, User1,Group1).

Подкоманда удаляет пользователя или группу из списка управления доступом (Access Control List, ACL) папки. При этом оставшиеся разрешения в ACL могут обеспечивать пользователю или группе доступ к папке даже после выполнения данной операции.

Параметры

Параметры вызова:

  • --server=DFSSERVERHOST — имя хоста или полное доменное имя (FQDN) сервера пространства имен, используя соединение с которым будет осуществлено изменение; применяется только при необходимости явно указать сервер в нештатных ситуациях.

Примеры

Пример удаления пользователя из ACL папки:

samba-tool dfsn access remove "\\\\elles.inno.tech\\namespace1\\documents" "ELLES\\User2"
...
Account name         Access type
============         ===========
ELLES\User2          none