Как добавить пользователя в TrueNAS: Пошаговое руководство и настройки | AdminWiki

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

10 января 2026 7 мин. чтения #nfs #smb #truenas #администрирование #добавить пользователя #настройка прав #пользователи TrueNAS

Представь, что ты только что развернул свой сервер TrueNAS. Диски отформатированы, пулы созданы, и ты готов начать работу с данными. Но как организовать доступ для себя и коллег? Как разделить права между отделами? Всё начинается с правильного управления пользователями TrueNAS. Давай разберем эту тему от А до Я, как настоящий DevOps инженер.

Что такое пользователи в TrueNAS и зачем они нужны?

В TrueNAS, как и в любой UNIX-подобной системе, пользователи — это фундаментальная концепция контроля доступа. Каждый файл и папка принадлежат конкретному пользователю и группе. Это позволяет:

  • Изолировать данные разных людей или проектов.
  • Настраивать тонкие права доступа для SMB (Windows общие папки), NFS, SFTP.
  • Аудитировать действия: кто, что и когда изменил.
  • Интегрироваться с Active Directory или LDAP для корпоративных сред.
Важно: Пользователи в TrueNAS — это не просто аккаунты для входа в веб-интерфейс. Это системные аккаунты (UID/GID), которые используются файловыми протоколами и службами.

Как добавить пользователя в TrueNAS: Пошаговое руководство

Добавить нового пользователя можно через веб-интерфейс или CLI. Рассмотрим оба способа, начиная с графического.

Способ 1: Через веб-интерфейс (GUI)

  1. Зайди в Credentials → Local Users и нажми ADD.
  2. Заполни основные поля:
    • Full Name: Иван Петров (для удобства).
    • Username: ivan_petrov — это и есть системное имя пользователя.
    • Password и подтверждение.
    • Primary Group: Можно оставить созданную по умолчанию (с таким же именем) или выбрать существующую, например, developers.
  3. В блоке Directories and Permissions можно сразу указать домашнюю директорию пользователя (например, /mnt/pool01/homes/ivan_petrov). TrueNAS создаст её автоматически.
  4. Нажми SAVE. Новый пользователь TrueNAS создан!

Способ 2: Через командную строку (CLI/Shell)

Для автоматизации или если ты привык работать в терминале. Подключись к серверу по SSH.

bash
# Добавляем пользователя 'dev_user' с UID 2001, основной группой 'developers' (GID 2000) и домашней директорией
sudo midclt call user.create '{
  "username": "dev_user",
  "full_name": "Developer User",
  "password": "YourStrongP@ssw0rd!",
  "group": 2000,
  "home": "/mnt/pool01/homes/dev_user",
  "shell": "/usr/bin/bash",
  "uid": 2001
}'

Или классическим способом через pw (FreeBSD):

bash
# Создаем группу (если её нет)
sudo pw groupadd developers -g 2000
# Создаем пользователя
sudo pw useradd dev_user -u 2001 -g developers -c "Developer User" -d /mnt/pool01/homes/dev_user -s /usr/bin/bash -m
# Устанавливаем пароль
sudo passwd dev_user
Внимание: Изменения через прямой вызов pw или редактирование /etc/passwd могут не полностью синхронизироваться с базой данных TrueNAS. Для долгосрочной поддержки используй midclt call или веб-интерфейс.

Настройка прав доступа для пользователей

Создать пользователя TrueNAS — это только половина дела. Теперь нужно дать ему доступ к данным через протоколы.

1. Настройка доступа к общим папкам (SMB/CIFS)

Допустим, у нас есть общая папка Projects, и мы хотим дать доступ пользователю dev_user.

  1. Перейди в Sharing → Windows Shares (SMB) и создай или отредактируй общий ресурс.
  2. В поле Path укажи путь к dataset'у (например, /mnt/pool01/projects).
  3. Нажми ADVANCED OPTIONS и найди поле Auxiliary Parameters. Здесь можно тонко настроить права с помощью smb.conf директив.
config
# Пример: Даем полный доступ dev_user и только чтение группе developers
valid users = @developers, dev_user
write list = dev_user
create mask = 0664
directory mask = 0775

2. Настройка прав файловой системы (ACLs)

Самый правильный способ — настроить POSIX или NFSv4 ACLs на самом dataset'е.

  • Перейди в Storage → Datasets, выбери нужный dataset и нажми EDIT PERMISSIONS.
  • В ACL Type выбери NFSv4 (более гибкий).
  • Добавь ACE (Access Control Entry):
    • Who: Пользователь — dev_user
    • Permissions: Full Control (или Modify, Read, etc.)
    • Type: Allow

Группы пользователей: Организация доступа

Управлять правами для каждого пользователя TrueNAS индивидуально неэффективно. Используй группы.

Группа (GID) Назначение Типичные права на Dataset
developers (2000) Разработчики приложений Read/Write на /mnt/pool01/code
media (2001) Команда контент-мейкеров Read/Write на /mnt/pool01/media
backup_ro (2002) Сервисные аккаунты для бэкапов Read-Only на /mnt/pool01/backups

Создать группу и добавить в неё пользователя через CLI:

bash
# Создаем группу через midclt
sudo midclt call group.create '{"name": "developers", "gid": 2000}'
# Добавляем существующего пользователя dev_user в группу developers (в дополнение к основной)
sudo midclt call user.update 2001 '{"groups": [2000, 2005]}'  # где 2001 - UID пользователя, а 2005 - GID другой группы

Интеграция с внешними системами (Active Directory/LDAP)

Если у тебя корпоративная среда, то добавлять каждого пользователя TrueNAS вручную — не вариант. TrueNAS поддерживает интеграцию.

  1. Иди в Credentials → Directory Services.
  2. Выбери Active Directory или LDAP.
  3. Укажи данные домена/сервера, учётные данные для привязки.
  4. После успешного присоединения, пользователи и группы из AD/LDAP появятся в выпадающих списках при настройке ACL или SMB-шаров.
Совет: Используй опцию ID Mapping (в настройках AD) для корректного сопоставления SID (Security Identifier из Windows) с UID/GID в UNIX. Это избавит от проблем с правами.

Частые проблемы и их решение (FAQ)

Пользователь не может зайти в общую SMB папку с Windows.

Решение: Проверь:

  • Пароль пользователя не истёк и не требует смены при первом входе (сними флаг в настройках пользователя).
  • В настройках SMB-шара указан valid users = @groupname, username.
  • Нет конфликта разрешений между ACL файловой системы и настройками SMB.

Как изменить UID существующего пользователя?

Решение: Через веб-интерфейс нельзя. Используй команду в CLI. Но будь осторожен — это изменит владельца всех файлов, принадлежавших старому UID.

bash
# Сначала измени UID в системе
sudo pw usermod dev_user -u 2100
# Затем обнови запись в базе данных TrueNAS (где 2001 - старый UID)
sudo midclt call user.update 2001 '{"uid": 2100}'

Пользователь из AD виден, но не может получить доступ к данным.

Решение: Скорее всего, проблема в кэшировании или маппинге ID. Попробуй:

  • В Credentials → Directory Services → Active Directory нажми REBUILD DIRECTORY SERVICE CACHE.
  • Проверь, что в настройках dataset'а в ACL ты выбираешь пользователя/группу из домена (они имеют префикс, например, DOMAIN\\username).

Заключение и лучшие практики

Управление пользователями TrueNAS — это краеугольный камень безопасной и организованной системы хранения. Давай закрепим главное:

  • Планируй структуру заранее: Продумай UID/GID ranges для локальных пользователей, чтобы не было конфликтов с AD.
  • Работай через группы: Давай права группам, а не отдельным пользователям. Добавлять пользователя в группу проще, чем менять ACL 10 dataset'ов.
  • Используй правильный тип ACL: NFSv4 для сложных сценариев, POSIX для простых.
  • Документируй: Веди таблицу (как выше) с назначением групп и стандартными путями.
  • Тестируй доступ: После настройки всегда проверяй доступ из-под учётной записи целевого пользователя.

Теперь ты знаешь не только как добавить пользователя в TrueNAS, но и как выстроить целую систему управления доступом. Как Senior DevOps, ты понимаешь, что это основа для автоматизации развёртывания, CI/CD пайплайнов и отказоустойчивых бэкапов. Иди и настрой свой NAS как профессионал!

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