Настройка SMB-шары в TrueNAS сводится к трём последовательным этапам: подготовка ZFS-датасета с правильными параметрами, создание учётных записей и групп, конфигурация общих ресурсов с тонкой настройкой ACL. Если вы уже работали с SMB на Synology NAS, логика покажется знакомой, но реализация в ZFS-окружении имеет особенности, которые напрямую влияют на стабильность доступа из Windows и Linux.
Это руководство проверено на TrueNAS Core 13.3 и TrueNAS SCALE 24.04 (актуальные версии на июль 2026 года). Все шаги воспроизводимы на чистой установке. Вы получите работающую шару с корректными правами, которую смогут смонтировать клиенты Windows 10/11, Ubuntu 24.04 и macOS 15.
Подготовка хранилища: создание Dataset и пользователей
ZFS-датасет - это логический контейнер внутри пула, который ведёт себя как самостоятельная файловая система. Для SMB-шары датасет нужен обязательно: нельзя расшарить пул напрямую. Параметры, заданные при создании датасета, определяют, как ZFS будет обрабатывать имена файлов и какие ACL-модели станут доступны позже.
Создание Dataset с правильными параметрами
Заходим в веб-интерфейс TrueNAS. В боковом меню выбираем Storage, затем ваш пул. Жмём кнопку Add Dataset (Core) или Create Dataset (SCALE). На экране появляется форма с ключевыми опциями:
- Name - имя датасета. Используйте латиницу без пробелов, например,
company_shareилиengineering. Это имя станет частью пути/mnt/пул/имя. - Share Type - выбираем
SMB. Система автоматически выставитACL Mode: RestrictedиCase Sensitivity: Insensitive. Эти значения критичны для совместимости с Windows-клиентами, которые не различают регистр в именах файлов. - ACL Mode - Restricted (рекомендовано для SMB) или Passthrough. Restricted означает, что ZFS будет строго следовать ACL-правилам, заданным через SMB-сервис. Passthrough пропускает POSIX-права, что полезно для NFS, но создаёт конфликты при одновременном доступе через SMB.
- Case Sensitivity - Insensitive для SMB. Если оставить Sensitive, файлы
Report.pdfиreport.pdfбудут считаться разными. Windows-проводник в такой ситуации показывает дубликаты и может отказываться открывать файлы.
Новичкам, которые только осваивают TrueNAS, рекомендую начинать с Share Type: Generic. Вы получите максимально гибкий датасет без предустановленных ограничений. Позже, когда потребуется тонкая настройка ACL, вы сможете изменить параметры через Edit Dataset. Нажмите Save - датасет готов.
Создание пользователей и групп для доступа к шаре
TrueNAS использует собственную базу учётных записей, если не настроена интеграция с Active Directory. Пользователи, созданные в веб-интерфейсе, сопоставляются с SMB-сессиями: когда Windows-клиент вводит логин и пароль, TrueNAS проверяет их по локальной базе.
Переходим в Accounts → Users → Add. Заполняем поля:
- Username - короткое имя латиницей, например
ivanov. - Full Name - полное имя для отображения в ACL-редакторе.
- Password - пароль. Обязательно снимите флажок «Disable Password», иначе учётная запись не сможет аутентифицироваться по SMB.
- Home Directory - оставьте пустым для обычных пользователей шары.
Группы создаются в Accounts → Groups → Add. Укажите название группы, например engineering_rw, и добавьте пользователей через поле Members. Групповые разрешения удобнее индивидуальных: вы назначаете права один раз на группу, а затем просто добавляете или удаляете участников.
Если в вашей сети развёрнут контроллер домена Active Directory, TrueNAS SCALE поддерживает прямое присоединение через System Settings → Services → SMB → Configure. После успешного join'а доменные пользователи и группы становятся доступны в ACL-редакторе наравне с локальными. Для Core-версии процесс аналогичен, но требует ручной правки /etc/smb4.conf в некоторых сценариях. Детальная инструкция по интеграции с AD выходит за рамки этой статьи - она описана в руководстве по контролю доступа и делегированию прав в TrueNAS.
Настройка SMB-шары: пошаговый мастер
Служба SMB в TrueNAS по умолчанию не запущена. Сначала активируем её: Services → SMB → жмём тумблер в положение «Running» и ставим флажок «Start Automatically». Теперь можно создавать общие ресурсы.
Выбор Purpose и дополнительные параметры шары
Переходим в Shares → SMB → Add (Core) или Shares → SMB → Add SMB Share (SCALE). Мастер предлагает заполнить несколько полей. Самые важные:
- Path - указываем созданный ранее датасет. Нажмите на поле, и TrueNAS покажет дерево пулов и датасетов. Выберите нужный, например
/mnt/tank/company_share. - Name - сетевое имя шары, которое увидят клиенты. Может содержать пробелы и кириллицу, но для совместимости со старыми SMB-клиентами лучше использовать латиницу:
CompanyShare. - Purpose - пресет, определяющий набор параметров SMB-протокола. Доступны варианты:
Default,Multi-protocol,No presets. Default включает оптимизации для чисто SMB-среды: включает SMB2/3 Durable Handles, отключает экспорт NFS. Multi-protocol добавляет совместимость с NFS, но требует ручной синхронизации ACL между протоколами - тема для отдельного руководства по настройке SMB, NFS и FTP.
Дополнительные опции, которые стоит проверить сразу:
- Enable SMB2/3 Durable Handles - включено по умолчанию. Позволяет клиентам восстанавливать соединение после кратковременного обрыва сети без потери блокировок файлов.
- Time Machine - включает поддержку резервного копирования macOS. Если в сети нет Mac'ов, оставьте выключенным.
- Shadow Copies - включает снапшоты ZFS как Previous Versions в Windows. Требует предварительной настройки периодических snapshot-задач в разделе Tasks → Periodic Snapshot Tasks.
- Export Read Only - делает шару доступной только для чтения. Полезно для раздачи документации или установочных образов.
После заполнения всех полей жмём Submit. Шара создана, но доступ к ней пока не настроен - этим занимается ACL.
Тонкая настройка прав доступа (ACL)
ACL (Access Control List) в ZFS - это список записей, каждая из которых определяет, какой пользователь или группа имеет доступ к файлам и что именно им разрешено. Неправильно настроенный ACL - причина 80% обращений «всё настроил, но Windows пишет Access Denied». Разберём настройку детально.
Добавление ACL-записей: пользователи и группы
Открываем Storage, находим датасет, жмём Edit ACL (Core) или Edit Permissions → Use ACL Manager (SCALE). Интерфейс показывает текущий список ACL-записей. Для нового датасета там обычно одна запись: owner@ с полными правами.
Добавляем новую запись: кнопка Add ACL Item. Выбираем тип:
- User - права для конкретного пользователя. Укажите имя из выпадающего списка.
- Group - права для группы. Все участники группы получат указанные разрешения.
Теперь задаём уровень прав. В TrueNAS доступны два режима: Basic и Advanced. Basic предлагает готовые наборы: Read (только чтение), Modify (чтение и запись), Full Control (полный доступ, включая изменение ACL). Для большинства сценариев этого достаточно. Advanced открывает детальную матрицу из 14 флагов, включая Delete, Change Permissions, Take Ownership. Используйте Advanced, когда нужно запретить удаление файлов, но разрешить редактирование.
Пример настройки для рабочей группы «Отдел разработки»:
- Добавляем ACL Item: Group →
engineering_rw, права Modify. - Флаги наследования: включаем «Apply permissions recursively» - права применятся ко всем существующим файлам и подкаталогам внутри датасета.
- Добавляем второй ACL Item: User →
guest_ro, права Read, без рекурсивного применения (только для корня шары). - Сохраняем: кнопка Save Access Control List.
Через 2-3 секунды права применены. Проверить их можно из Windows: заходим в свойства любого файла на шаре → вкладка Security. Вы увидите список пользователей и групп с их разрешениями, идентичный тому, что настроили в TrueNAS.
Решение типичных проблем с правами доступа
Ситуация: ACL настроен, но пользователь получает ошибку «Access Denied». Алгоритм диагностики:
- Проверяем текущие права через Shell TrueNAS. Команда
getfacl /mnt/tank/company_shareвыводит ACL в читаемом формате. Сравните вывод с тем, что ожидали увидеть. - Если ACL выглядит правильно, проверяем, не переопределяют ли POSIX-права (chmod) настройки ACL. Команда
ls -la /mnt/tank/company_shareпокажет классические rwx-биты. При конфликте ACL имеет приоритет, но некоторые SMB-клиенты кэшируют старые POSIX-права. - Сброс ACL до дефолтных: в редакторе ACL нажмите кнопку «Strip ACLs». Это удалит все пользовательские записи и оставит только owner@ с полными правами. Затем настройте ACL заново.
- Конфликт прав Windows и Unix возникает при одновременном доступе через SMB и NFS. Windows-клиент устанавливает ACL, NFS-клиент меняет POSIX-права через chmod. Результат: ни один протокол не работает корректно. Решение: используйте Multi-protocol-пресет при создании шары и настраивайте ACL только через веб-интерфейс TrueNAS, запретив клиентам менять права.
Подключение к SMB-шаре с клиентских машин
Шара настроена, ACL применены. Осталось подключить клиентов. Ниже - проверенные команды и последовательности для трёх операционных систем.
Подключение из Windows: сетевой диск и учетные данные
Откройте «Этот компьютер» (Win+E). В верхней панели выберите «Подключить сетевой диск». Выберите букву диска, в поле «Папка» введите UNC-путь к шаре: \\192.168.1.100\CompanyShare. Вместо IP-адреса можно использовать NetBIOS-имя или FQDN сервера TrueNAS, если в сети работает DNS или WINS.
Флажок «Восстанавливать подключение при входе в систему» сохранит диск в профиле пользователя. Флажок «Использовать другие учётные данные» позволит ввести логин и пароль, отличные от текущей Windows-сессии. Это важно: если вы залогинены в Windows под локальной учётной записью, а на TrueNAS создан пользователь ivanov, без этого флажка Windows отправит пустые или неверные credentials.
После нажатия «Готово» система запросит логин и пароль. Вводите в формате имя_пользователя (без домена, если TrueNAS не в AD). Если появляется ошибка «Неверное имя пользователя или пароль», проверьте три вещи: не заблокирована ли учётная запись в TrueNAS, не истёк ли пароль, не включён ли флажок «Disable Password» в свойствах пользователя.
Монтирование SMB-шары в Linux
Для работы с SMB из Linux требуется пакет cifs-utils. Установите его, если ещё не сделали этого:
sudo apt install cifs-utils # Debian/Ubuntu sudo dnf install cifs-utils # RHEL/Fedora
Ручное монтирование выполняется командой:
sudo mount -t cifs //192.168.1.100/CompanyShare /mnt/share -o username=ivanov,password=yourpass,vers=3.0,uid=1000,gid=1000
Разбор опций:
vers=3.0- принудительно использовать SMB 3.0. Если сервер поддерживает 3.1.1, укажитеvers=3.1.1для шифрования.uid=1000,gid=1000- подменяет владельца файлов на локального пользователя с ID 1000. Без этих опций все файлы будут принадлежать root, что создаст проблемы с правами в локальных приложениях.username,password- учётные данные. Для безопасности лучше вынести их в файл: создайте/etc/samba/credentialsс содержимымusername=ivanov\npassword=yourpass, защитите егоchmod 600и используйте опциюcredentials=/etc/samba/credentials.
Автоматическое монтирование при загрузке добавляется в /etc/fstab:
//192.168.1.100/CompanyShare /mnt/share cifs credentials=/etc/samba/credentials,vers=3.0,uid=1000,gid=1000,noauto,x-systemd.automount 0 0
Опция noauto,x-systemd.automount откладывает монтирование до первого обращения к каталогу. Это спасает от зависания загрузки, если сервер TrueNAS недоступен.
Диагностика и решение распространенных проблем
За годы работы с TrueNAS я собрал список типовых ошибок и проверенных способов их устранения. Держите под рукой - пригодится при первом запуске и после обновлений.
- SMB-шара не видна в сетевом окружении Windows. Причина: отключён NetBIOS или служба обозревателя сети. Решение: в настройках SMB-сервиса TrueNAS включите «Enable NetBIOS-NS» и «Local Master Browser». На клиенте Windows проверьте, что служба «Обозреватель компьютеров» запущена (services.msc).
- Медленная скорость передачи (менее 50 МБ/с по гигабитной сети). Причины: несовпадение версий SMB, фрагментация ZFS, включённое сжатие на лету. Решение: принудительно задайте
server min protocol = SMB3в Auxiliary Parameters SMB-сервиса. Проверьте фрагментацию пула командойzpool list -v. Если фрагментация выше 70%, рассмотрите возможность переноса данных и пересоздания пула. - Ошибка 0x80070035 «Не найден сетевой путь». Причина: клиент использует SMB 1.0, который отключён в TrueNAS по умолчанию. Решение: включите поддержку SMB 1.0 в настройках SMB-сервиса (не рекомендуется для production) или обновите клиентскую ОС до версии с поддержкой SMB 2+.
- Проблемы с разрешениями после обновления TrueNAS. Причина: миграция ACL-модели между версиями. Решение: после мажорного обновления выполните «Strip ACLs» на всех SMB-датасетах и настройте ACL заново. Это займёт 10 минут, но предотвратит хаос с правами.
Логи SMB-сервиса доступны через веб-интерфейс: Services → SMB → кнопка Log (иконка документа). В Core-версии логи также лежат в /var/log/samba4/log.smbd. Утилита testparm (запускается из Shell) проверяет синтаксис конфигурации Samba и показывает итоговые параметры, с которыми работает сервис.
Особенности настройки SMB в TrueNAS Core и Scale
Несмотря на общую кодовую базу Samba, реализация SMB в Core (FreeBSD) и SCALE (Linux) имеет различия, которые влияют на повседневную работу.
| Параметр | TrueNAS Core (FreeBSD) | TrueNAS SCALE (Linux) |
|---|---|---|
| Путь к настройкам SMB | Services → SMB | Shares → SMB |
| ACL-модель по умолчанию | ZFS ACL (NFSv4-совместимые) | ZFS ACL (NFSv4-совместимые) |
| Интеграция с AD | Через Services → SMB → Configure | Через System Settings → Services → SMB |
| Расположение конфигов Samba | /usr/local/etc/smb4.conf |
/etc/samba/smb.conf |
| Поддержка SMB over QUIC | Нет | Экспериментальная (с версии 24.04) |
| Производительность на 10GbE | До 900 МБ/с (TCP) | До 950 МБ/с (TCP, оптимизации ядра Linux) |
Для нового SMB-сервера в 2026 году рекомендую SCALE. Причины: активнее развивается, лучше поддерживает современное оборудование (включая RDMA через SMB Direct в экспериментальном режиме), имеет встроенную поддержку контейнеров, что удобно для DevOps-сценариев. Core остаётся стабильным выбором для тех, кто годами работает с FreeBSD и не планирует менять инфраструктуру. Обе версии полностью совместимы с клиентами Windows, Linux и macOS - выбор сводится к предпочтениям администратора и требованиям смежных сервисов.
Если вы планируете использовать TrueNAS не только для SMB, но и для NFS-экспорта тем же клиентам, обратите внимание на руководство по экспорту ZFS-датасета через NFS в TrueNAS SCALE - там разобрана тонкая настройка производительности и безопасности для смешанных сред.