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

Почему SMB в TrueNAS Scale ломает права доступа и как это исправить

19 марта 2026 7 мин. чтения #acl #linux permissions #nas #nfs #samba #smb #truenas scale #права доступа

Если после обновления, миграции или простой настройки ваши SMB-шары на TrueNAS Scale внезапно стали недоступны, а права доступа словно «сломались» — вы не одиноки. Это классическая проблема на стыке UNIX-прав и протокола SMB. Давай разберемся, почему это происходит и как это исправить раз и навсегда.

Почему SMB в TrueNAS Scale «ломает» права доступа?

Представь, что у тебя есть файловая система ZFS с классическими UNIX-правами (владелец, группа, другие). Когда ты создаешь SMB-шар (общую папку), TrueNAS Scale выступает в роли моста между миром Windows (SMB/CIFS) и миром Linux (POSIX права). Проблемы начинаются, когда эти миры перестают понимать друг друга.

Ключевая причина: Несоответствие между UID/GID (числовыми идентификаторами пользователя/группы в Linux) и тем, как они маппятся на пользователей SMB. После сброса, обновления или миграции системы эти сопоставления могут «поехать». Особенно часто это происходит при переходе с TrueNAS Core (FreeBSD) на TrueNAS Scale (Linux).

Типичные симптомы проблемы

  • Пользователи не могут получить доступ к папкам, хотя вчера всё работало.
  • Появляются ошибки «Отказано в доступе» (Access Denied) из Windows.
  • Файлы создаются с неправильным владельцем (например, от root).
  • Настройки ACL (Access Control Lists) в веб-интерфейсе не применяются или сбрасываются.
  • После перезагрузки сервиса SMB права «слетают».

Пошаговое руководство по диагностике и исправлению

Работать будем через веб-интерфейс и Shell TrueNAS Scale. Открой его (Системные настройки → Shell).

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

Сначала убедимся, что пользователи SMB существуют в системе и имеют корректные UID/GID.

bash
# Посмотреть всех пользователей системы и их UID
cat /etc/passwd | grep -E '(ваш_пользователь|smbuser)'

# Посмотреть все группы и их GID
cat /etc/group | grep -E '(ваша_группа|smbgroup)'

# Пример вывода для пользователя 'ivanov':
# ivanov:x:1001:1001:Ivanov:/home/ivanov:/usr/sbin/nologin
# UID=1001, GID=1001
Важно! Пользователи, созданные через веб-интерфейс TrueNAS для доступа к SMB, обычно имеют UID/GID выше 1000 и оболочку /usr/sbin/nologin. Если UID равен 0 (root) или отсутствует — это источник проблемы.

Шаг 2: Проверка владельца и прав на корневой директории датасета

Перейди в Shell и проверь права на самом датасете, который используется для SMB-шара.

bash
# Замени /mnt/pool_name/dataset_name на путь к своему датасету
ls -la /mnt/pool_name/dataset_name/

# Проверь права на саму точку монтирования
ls -lad /mnt/pool_name/dataset_name

# Пример корректных прав для SMB-шара:
# drwxrwx---+ 5 ivanov smbgroup 5 May 15 10:00 .
# Владелец: ivanov (UID 1001), группа: smbgroup (GID 1001)

Шаг 3: Анализ и настройка ACL (Access Control Lists)

TrueNAS Scale по умолчанию использует NFSv4 ACL для тонкого управления правами. Именно здесь чаще всего «ломаются» настройки.

bash
# Просмотреть текущие ACL на директории
getfacl /mnt/pool_name/dataset_name

# Пример вывода с проблемой:
# user::rwx
# group::r-x
# other::r-x
# Здесь нет записей для конкретных пользователей SMB!

Чтобы исправить ACL через веб-интерфейс:

  1. Зайди в Данные → Датасеты.
  2. Найди нужный датасет, открой меню (три точки) и выбери «Изменить разрешения».
  3. Выбери «Использовать ACL» и нажми «Изменить ACL».
  4. В открывшемся редакторе добавь нужных пользователей и группы с необходимыми правами (чтение, запись, выполнение).
  5. Важно: Поставь галочку «Рекурсивно» и выбери «Применить права ко всем файлам и подпапкам», если нужно исправить уже существующие данные.

Шаг 4: Проверка и настройка службы SMB в TrueNAS

Зайди в Службы → SMB и открой настройки (шестеренка). Обрати внимание на два критических параметра:

Параметр Рекомендуемое значение Зачем нужно
«Включить аутентификацию на основе SMB» ВКЛЮЧЕНО Использует встроенную базу пользователей TrueNAS вместо локальной системы
«Преобразовать символы в нижний регистр» ДА Избегает проблем с регистром имен файлов между Linux и Windows

Шаг 5: Настройка самого SMB-шара (общей папки)

Перейди в Данные → Общие ресурсы Windows (SMB). Для проблемного шара:

  • Нажми «Изменить».
  • В поле «Путь» убедись, что указан корректный датасет.
  • В блоке «Разрешения» выбери «Изменить разрешения» и установи права заново.
  • Важный параметр: «Включить расширенную обработку ACL» — должен быть ВКЛЮЧЕН для работы с NFSv4 ACL.
  • Параметр «Наследовать права ACL» — ВКЛЮЧИТЬ, чтобы новые файлы получали права от родительской папки.
config
# Пример корректной секции шара из /etc/smb4.conf (для понимания)
[MyShare]
  path = /mnt/pool/dataset
  valid users = @smbgroup, ivanov
  read only = no
  inherit acls = yes
  nt acl support = yes
  create mask = 0664
  directory mask = 0775
  force group = smbgroup

Шаг 6: Принудительное обновление кэша SMB и перезапуск

После всех изменений необходимо сбросить кэш SMB и перезапустить службу.

bash
# Перезапуск службы SMB через веб-интерфейс или команду
systemctl restart smbd.service

# Очистка кэша сессий SMB (если пользователи залипли)
net cache flush

# Проверка статуса службы
systemctl status smbd.service

Профилактика проблем с правами SMB в будущем

  • Используй отдельные датасеты под SMB-шары. Не смешивай данные с разным назначением в одном датасете.
  • Сначала настрой пользователей и группы, потом создавай шар. Правильная последовательность действий критична.
  • Избегай ручного изменения прав через chmod/chown в Shell после настройки ACL через веб-интерфейс. Это может сломать ACL.
  • Перед обновлением TrueNAS Scale сделай бэкап конфигурации SMB (Службы → SMB → Экспорт конфигурации).
  • Для сложных сценариев используй «Вспомогательные параметры» в настройках шара, чтобы добавить директивы в smb4.conf вручную.
Быстрое решение для экстренного случая: Если нужно срочно открыть доступ, можно временно в настройках шара добавить параметр guest ok = yes во «Вспомогательные параметры». Но помни — это отключает аутентификацию! Используй только для диагностики, затем удали.

FAQ: Частые вопросы и ответы

Почему после перезагрузки TrueNAS Scale права на SMB-шарах сбрасываются?

Скорее всего, датасет смонтировался с неправильными параметрами или служба SMB запускается раньше, чем готовы файловые системы. Проверь порядок загрузки служб и наличие параметра zfs mount -a в скриптах инициализации. Также убедись, что настройки датасета (ACL Mode) сохранены правильно.

Как перенести SMB-шары с TrueNAS Core (FreeBSD) на TrueNAS Scale без потери прав?

Это сложная операция, так как системы используют разные реализации ACL. Лучший способ: 1) Экспортировать данные на нейтральный носитель (NFS). 2) Настроить на Scale чистые датасеты с NFSv4 ACL. 3) Скопировать данные заново, сохраняя только содержимое, но не метаданные прав. Прямой импорт ZFS пула часто ведет к проблемам.

В чем разница между «Правами» и «ACL» в веб-интерфейсе TrueNAS Scale?

«Права» — это базовые POSIX-права (владелец, группа, другие: rwx). «ACL» (Access Control List) — расширенный список управления доступом, который позволяет задавать права для множества пользователей и групп индивидуально. Для SMB всегда используй ACL.

Можно ли использовать одну учётную запись для доступа к SMB и, например, SSH?

Технически — да, но крайне не рекомендуется. Пользователи SMB должны иметь оболочку /usr/sbin/nologin для безопасности. Создавай отдельные учётные записи для административных задач (SSH) и для доступа к данным (SMB).

Заключение

Проблема «SMB ломает права» в TrueNAS Scale почти всегда сводится к неправильному сопоставлению пользователей между системой и SMB-службой или к конфликту между простыми UNIX-правами и ACL. Алгоритм решения: проверь UID/GID → настрой ACL на датасете → проверь параметры шара → перезапусти службу.

Работа с правами — это фундамент. Потрать время на первоначальную правильную настройку, используй группы для управления доступом, и твои SMB-шары будут стабильно работать после любых обновлений.

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