Контроль доступа и делегирование прав в TrueNAS: безопасная настройка для командной работы | AdminWiki
Timeweb Cloud — сервера, Kubernetes, S3, Terraform. Лучшие цены IaaS.
Попробовать

Контроль доступа и делегирование прав в TrueNAS: безопасная настройка для командной работы

11 мая 2026 10 мин. чтения

Настройка контроля доступа в TrueNAS выходит за рамки простого создания общей папки. Это процесс проектирования системы прав, которая позволяет безопасно распределять управление данными между членами команды, минимизируя риски и сохраняя административный контроль. В отличие от единой учетной записи администратора, грамотное делегирование прав через пользователей, группы и ACL (Access Control Lists) создает основу для эффективной совместной работы в отделах разработки, аналитики или технической поддержки.

Это руководство предоставляет готовую методологию: от построения логичной структуры каталогов и групп до внедрения конкретных схем прав для типовых рабочих сценариев. Вы получите проверенные пошаговые инструкции по настройке ACL для протоколов SMB (Windows) и NFS (Linux), что позволит организовать доступ в смешанных средах. Акцент сделан на практическом применении с минимальным временем на внедрение и гарантией результата.

От простого хранения к командной работе: фундамент системы прав TrueNAS

Переход от персонального NAS к корпоративному хранилищу начинается с изменения подхода. Вместо мышления «мой сервер» нужно проектировать систему «сервер для команды». Основой такой системы в TrueNAS служат три ключевые сущности: локальные пользователи и группы, датасеты ZFS как контейнеры для применения политик, и два типа разрешений - классические UNIX (POSIX) и расширенные ACL. Продуманная структура на этом этапе предотвращает хаос в управлении правами в будущем.

TrueNAS поддерживает как локальные учетные записи, так и интеграцию с внешними источниками вроде Active Directory или LDAP. Для начала работы и построения понятной модели достаточно локальных пользователей и групп. Датасеты (Datasets) - это не просто папки, а фундаментальные единицы ZFS с собственными свойствами. Права доступа, квоты и снапшоты назначаются на уровне датасета, что делает их идеальными границами для изоляции проектов или отделов.

Пользователи и группы: основа любой политики доступа

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

  1. Создайте группы, соответствующие отделам или функциям. Используйте понятные префиксы: group_developers, group_analytics, role_backup_admins.
  2. Создайте пользователей и добавьте их в соответствующие группы. Имя пользователя может быть как персонализированным (user_jdoe), так и ролевым (svc_backup для служебной учетной записи).
  3. Назначайте права всегда группам, а не отдельным пользователям. Это главный принцип управления доступом.

Создать группу и пользователя можно в веб-интерфейсе TrueNAS в разделах «Учетные записи» -> «Группы» и «Учетные записи» -> «Пользователи». При создании пользователя укажите его основную группу и добавьте во вспомогательные при необходимости. Для служебных учетных записей (например, для автоматического бэкапа) установите флаг «Заблокировать пользователя» и используйте только ключи SSH или токены.

Датасеты как контейнеры для прав: планируем структуру каталогов

Хаотичное хранение файлов в одном датасете приводит к сложностям в управлении ACL и применении политик. Рекомендуемая масштабируемая структура основана на логическом разделении:

  • tank/dept_projects/[project_name]: Отдельный датасет для каждого проекта. Это позволяет назначать уникальные ACL, устанавливать квоты на дисковое пространство и управлять снапшотами в разрезе проекта.
  • tank/shared/templates: Датасет для шаблонов и документации только для чтения.
  • tank/shared/temp_drop: Датасет для временной загрузки файлов с особыми правами.
  • tank/home/[username]: Отдельные датасеты для персональных домашних каталогов пользователей.

Такая структура напрямую связывается с группами доступа. Например, группа group_project_alpha получает права на запись в tank/dept_projects/alpha, а group_all_staff - права на чтение в tank/shared/templates. Создание датасета - это операция в несколько кликов в интерфейсе TrueNAS в разделе «Хранилище». Начните с корневого пула (например, tank), затем создавайте вложенные датасеты согласно выбранной структуре.

ACL TrueNAS: тонкая настройка прав для SMB и NFS

Классические права UNIX (владелец, группа, другие) часто недостаточны для сложных командных сценариев. Они позволяют задать только один набор разрешений для владельца, одной группы и всех остальных. Расширенные ACL (Access Control Lists) в TrueNAS решают эту проблему, позволяя назначать разные права для неограниченного числа пользователей и групп на один файл или папку. Это особенно критично в смешанных средах, где доступ требуется одновременно для Windows-клиентов через SMB и Linux-серверов через NFS.

TrueNAS работает с двумя основными типами ACL: POSIX (NFSv4) и Windows-подобные (SMB). Интерфейс настройки ACL унифицирован и позволяет управлять правами для обоих протоколов, но понимание их особенностей предотвращает ошибки. ACL состоят из записей (ACE), где каждая запись определяет, кому (пользователь/группа) и какие разрешения (чтение, запись, выполнение и др.) предоставлены или запрещены, а также как эти права наследуются вложенными объектами.

Выбор между POSIX и расширенными ACL: практические рекомендации

Выбор типа управления правами зависит от сложности требуемого сценария. Используйте простые права POSIX (режим «Унаследовано» в интерфейсе TrueNAS) в случаях:

  • Одна группа пользователей является единственным владельцем данных (например, папка для конкретного отдела).
  • Не требуется сложное наследование прав от родительской папки к вложенным.
  • Основной доступ осуществляется по NFS, и не нужна глубокая интеграция с Windows ACL.

Переходите на расширенные ACL (режим «SMB» или «NFSv4»), когда необходимо:

  • Назначить разные права нескольким группам на одну папку (например, разработчики - чтение/запись, тестировщики - только чтение).
  • Реализовать особые права, такие как «удаление только собственных файлов».
  • Точно контролировать наследование (например, применить права только к файлам, но не к подпапкам).
  • Обеспечить полное соответствие требованиям Windows-среды, включая работу с Active Directory.

В веб-интерфейсе TrueNAS тип ACL выбирается в свойствах датасета на вкладке «Дополнительные ACL». После смены типа с «Унаследовано» на «SMB» или «NFSv4» открывается редактор для тонкой настройки.

Пошаговая настройка ACL для общего ресурса SMB

Этот алгоритм гарантирует корректную работу доступа с Windows-клиентов:

  1. Создайте датасет под общий ресурс (например, tank/dept_projects/alpha). В его свойствах сразу установите «Тип ACL» - «SMB».
  2. Настройте ACL. В редакторе ACL датасета нажмите «ДОБАВИТЬ ЗАПИСЬ».
    • В поле «Кому» выберите «Группа» и укажите, например, group_project_alpha.
    • В «Разрешениях» выберите «Модифицировать» (это даст права на чтение, запись, создание и удаление файлов).
    • В «Флаги наследования» выберите «Этот каталог, подкаталоги и файлы».
    • Добавьте вторую запись для пользователя-администратора проекта с правами «Полный доступ».
  3. Создайте общий ресурс SMB. В разделе «Общий доступ» -> «Общие ресурсы Windows (SMB)» создайте новый ресурс, указав путь к вашему датасету.
  4. Включите важные опции. В расширенных настройках ресурса активируйте «Access Based Share Enumeration (ABSE)». Это скроет ресурс из сетевого окружения Windows для пользователей, у которых нет на него прав.

После этого пользователи Windows смогут подключиться к сетевому диску, используя свои учетные данные TrueNAS, и получат именно те права, которые заданы в ACL. Для более глубокого понимания основ SMB в TrueNAS, рекомендуем ознакомиться с полным руководством по настройке SMB, NFS и FTP.

Настройка прав для общего ресурса NFS

Управление доступом для Linux-клиентов через NFS - это комбинация настроек экспорта на сервере и прав файловой системы на датасете.

  1. Настройте датасет. Для NFS можно использовать как POSIX права, так и ACL типа «NFSv4». Для простых сценариев достаточно задать владельца и группу датасета (например, UID/GID группы group_developers).
  2. Создайте экспорт NFS. В разделе «Общий доступ» -> «Общие ресурсы Unix (NFS)» создайте новый экспорт, указав путь к датасету.
  3. Настройте параметры экспорта. Ключевые параметры:
    • «Сети»: укажите подсеть ваших Linux-серверов (например, 192.168.1.0/24).
    • «Параметры безопасности»: для большинства случаев оставьте «sys».
    • «Карта root» (root squashing): обязательно включите (опция «Карта root в пользователя»). Это предотвратит доступ клиента от имени root, повышая безопасность.
  4. Согласуйте UID/GID. Убедитесь, что UID (User ID) и GID (Group ID) пользователей и групп на Linux-клиентах совпадают с таковыми на TrueNAS. Это основа корректного определения прав.

После экспорта клиенты смогут смонтировать ресурс командой mount -t nfs truenas.local:/mnt/tank/dept_projects/alpha /mnt/alpha. Если используются ACL NFSv4, их можно просмотреть на клиенте командой nfs4_getfacl /mnt/alpha. Детали настройки высокопроизводительного NFS-сервера описаны в отдельном практическом руководстве.

Готовые схемы прав для типовых сценариев совместной работы

Эти конфигурации можно внедрить сразу, сэкономив время на проектирование.

Папка проекта: доступ для команды и администратора проекта

Сценарий: Папка project_alpha для рабочей группы. Участники команды вносят изменения, лидер проекта (администратор) управляет структурой и правами.

Реализация:

  • Создайте группы: group_alpha_team (участники), role_project_admins (лидеры).
  • На датасете проекта настройте ACL типа «SMB» с двумя записями:
    1. Для group_alpha_team: Разрешения = «Модифицировать», Наследование = «Этот каталог, подкаталоги и файлы».
    2. Для role_project_admins или конкретного пользователя user_pm_ivanov: Разрешения = «Полный доступ», Наследование = «Этот каталог, подкаталоги и файлы».

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

Дроп-зона для загрузки: "складывай, но не смотри"

Сценарий: Папка incoming_drop для загрузки файлов от внешних контрагентов. Загружающий не должен видеть содержимое папки или файлы других.

Реализация: Это достигается специальными правами ACL.

  • Создайте группу group_external_upload.
  • В ACL папки настройте запись для этой группы:
    • Разрешения: Отметьте ТОЛЬКО «Добавить файл / Добавить данные» (Create files / Write data) и «Создать папки / Добавить подкаталог».
    • ЯВНЫМ образом снимите галочки со «Список папки / Чтение данных» (List folder / Read data) и «Чтение».
  • Добавьте вторую запись для внутренней группы обработки group_internal_process с правами «Чтение» и «Удаление».

Внешний пользователь сможет скопировать файл в папку, но не увидит ее содержимое и не сможет прочитать или удалить чужие файлы.

Библиотека шаблонов и документации: только для чтения

Сценарий: Централизованное хранилище templates с неизменяемыми шаблонами документов, политиками, руководствами для всех сотрудников.

Реализация: Самая простая схема.

  • Создайте группу group_all_company_users и включите в нее всех пользователей.
  • В ACL датасета templates настройте одну запись для этой группы:
    • Разрешения: ТОЛЬКО «Чтение» и «Выполнение».
    • Наследование: «Этот каталог, подкаталоги и файлы».
  • Убедитесь, что у владельца датасета (например, root или служебной учетной записи) есть права «Полный доступ» для внесения обновлений.

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

Проверка, аудит и поддержка: убеждаемся, что все работает

Настройка прав - только половина дела. Верификация гарантирует, что система работает как задумано, а план изменений позволяет безопасно её модифицировать.

Как проверить права на практике: тестирование доступа

Используйте этот чек-лист перед сдачей системы в эксплуатацию:

  1. Тест с Windows: Подключитесь к SMB-шаре с рабочей станции под учетной записью тестового пользователя. Попробуйте выполнить целевые действия: создать файл или папку, открыть существующий файл, удалить созданный вами файл, попытаться удалить чужой файл или изменить права. Убедитесь, что запреты работают.
  2. Тест с Linux: Смонтируйте NFS-экспорт. Проверьте те же операции от имени пользователя с соответствующим UID/GID.
  3. Просмотр эффективных прав:
    • На стороне TrueNAS: в Shell используйте команду getfacl /mnt/tank/dept_projects/alpha для просмотра ACL.
    • На Windows: используйте команду icacls \\truenas\alphashare в командной строке.
  4. Проверка ABSE: Убедитесь, что пользователь без прав доступа к шаре не видит её в сетевом окружении.

Логи проблем с доступом можно найти в веб-интерфейсе TrueNAS: «Отчеты» -> «Журналы системных сообщений» или в логах конкретной службы (SMB, NFS).

Миграция и изменение прав: как делать это безопасно

Изменение работающей схемы прав требует осторожности, чтобы не нарушить бизнес-процессы.

  1. Создайте тестовую копию. Используйте функцию снапшотов ZFS или репликации, чтобы создать точную копию датасета с данными и правами для тестирования новых настроек.
  2. Действуйте поэтапно. При изменении ACL сначала добавьте новые права для целевых пользователей/групп. Убедитесь, что доступ работает. Только после этого удаляйте старые, ненужные записи.
  3. Информируйте пользователей. Запланируйте изменения на нерабочее время и заранее уведомите команду о возможных кратковременных перерывах в доступе.
  4. Документируйте. Ведите простой документ с описанием текущей схемы прав (какая группа, какие права, на каком датасете) и целевой схемы после изменений. Это упрощает аудит и восстановление.

Для масштабных изменений или автоматизации процесса управления правами рассмотрите возможность использования TrueNAS SCALE REST API, который позволяет программно управлять пользователями, группами, ACL и общими ресурсами. Для усиления безопасности периметра самого хранилища также может быть полезна настройка геофильтрации в TrueNAS.

Грамотно настроенная система делегирования прав превращает TrueNAS из изолированного хранилища в центральный безопасный хаб для данных всей команды. Начните с внедрения рекомендованной структуры каталогов и групп, затем примените готовые схемы ACL для своих сценариев. Такой подход минимизирует риски, экономит время на администрировании и создает прозрачную, масштабируемую основу для совместной работы.

Поделиться:
Сохранить гайд? В закладки браузера