Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются необходимые учетные записи служб и разрешения файловой системы для SQL Server в Linux. Дополнительные сведения о разрешениях SQL Server в Windows см. в разделе "Настройка учетных записей и разрешений службы Windows".
Встроенные принципы Windows
Хотя SQL Server на Linux выполняется в системной учетной записи mssql, следующие принципы Windows существуют на уровне SQL Server для обеспечения совместимости. Не удаляйте или не отклоняйте их, если вы не полностью понимаете риски.
| Директор | Роль SQL Server по умолчанию | Details |
|---|---|---|
BUILTIN\Administrators |
sysadmin | Отображается с корневыми администраторами хоста. Некоторые системные объекты выполняются в контексте этой учетной записи. |
NT AUTHORITY\SYSTEM |
public | Идентификатор безопасности (SID), зарезервированный для учётной записи WindowsSYSTEM. Всё равно создано так, чтобы кроссплатформенные скрипты, ожидающие успеха. |
NT AUTHORITY\NETWORK SERVICE |
Нет (только совместимость) | Исторически учетная запись запуска по умолчанию для нескольких служб SQL Server в Windows. Присутствует только для обратной совместимости. Не используется sql Server в самом ядре СУБД Linux. |
Владение файлами и каталогами
Пользователь и mssql группа (mssql:mssql) должны владеть всеми файлами в папке/var/opt/mssql, с доступом к mssql чтению и записи для обоих. Если вы измените стандартный umask (0022) или используете альтернативные точки крепления, вам придётся повторно применить эти права вручную.
Разрешения по умолчанию для mssql папки приведены следующим образом:
drwxr-xr-x 3 root root 4096 May 14 17:17 ./
drwxr-xr-x 13 root root 4096 Jan 7 2025 ../
drwxrwx--- 7 mssql mssql 4096 May 14 17:17 mssql/
Разрешения по умолчанию для содержимого mssql папки приведены следующим образом:
drwxrwx--- 7 mssql mssql 4096 May 14 17:17 ./
drwxr-xr-x 3 root root 4096 May 14 17:17 ../
drwxr-xr-x 5 mssql mssql 4096 May 14 17:17 .system/
drwxr-xr-x 2 mssql mssql 4096 May 14 17:17 data/
drwxr-xr-x 3 mssql mssql 4096 Sep 16 22:57 log/
-rw-r--r-- 1 root root 85 May 14 17:17 mssql.conf
drwxrwxr-x 2 mssql mssql 4096 May 14 17:17 secrets/
drwxr-xr-x 2 mssql mssql 4096 May 14 17:17 security/
Дополнительные сведения о том, как изменить расположение данных пользователя, расположение файла журнала или системную базу данных и расположения журналов, см. в разделе "Настройка SQL Server в Linux" с помощью средства mssql-conf.
Типичные каталоги SQL Server
| Purpose | Путь по умолчанию | Details |
|---|---|---|
| Системные и пользовательские базы данных | /var/opt/mssql/data |
Включает master, model, tempdb и любые новые базы данных, если они не перенаправляются mssql-conf. Дополнительные сведения см. в разделе "Изменение расположения по умолчанию для системных баз данных". |
| Журналы транзакций (если разделены) |
/var/opt/mssql/data или путь, заданный через mssql-conf set filelocation.defaultlogdir. |
При перемещении журналов транзакций сохраните то же право владения. Дополнительные сведения см. в разделе «Изменение расположения каталога данных или журнала по умолчанию». |
| Backups | /var/opt/mssql/data |
Создайте и выполните установку с chown перед первым резервным копированием или при отображении тома или каталога. Дополнительные сведения см. в разделе "Изменение расположения каталога резервного копирования по умолчанию". |
| Журналы ошибок и журналы расширенных событий (XE) | /var/opt/mssql/log |
Также размещена стандартная сессия XE по состоянию здоровья системы. Дополнительные сведения см. в разделе "Изменение расположения файла журнала ошибок по умолчанию". |
| Дампы памяти | /var/opt/mssql/log |
Хранит основные дампы и DBCC CHECK* дампы. Дополнительные сведения см. в разделе "Изменение расположения каталога дампа по умолчанию". |
| Секреты безопасности | /var/opt/mssql/secrets |
Хранит такие элементы, как сертификаты TLS и главные ключи столбцов. |
Минимальные роли SQL Server для каждого агента
| Агент | Выполняется в среде (Linux) | подключается к | Обязательные роли и права базы данных |
|---|---|---|---|
| Агент снимков |
mssql (с помощью задания агента SQL) |
Распространитель | db_owner в распределённой базе данных; чтение и запись в папке моментальных снимков |
| Агент чтения журналов | mssql |
Издатель и Дистрибьютор | db_owner в базе данных публикации и распространении. Возможно, понадобится системное админирование при использовании initialize из резервного копирования |
| Агент распределения (push) | mssql |
Распространитель к абоненту | db_owner в распределении; db_owner в базе данных подписки. Чтение папки моментальных снимков. Член PAL. |
| Агент распространителя (вытягивание) |
mssql (на подписчике) |
Подписчик к распространителю Распространитель к абоненту |
То же, что и агент распространения (push), но разрешения на общую папку моментальных снимков применяются на хосте подписчика. |
| Агент слияния | mssql |
Издатель, Дистрибьютор, Подписчик | db_owner в распределенной системе. Член PAL. Чтение папки моментальных снимков. Чтение и запись в базах данных публикаций и подписок. |
| Агент обработки очереди. | mssql |
Распространитель | db_owner в распределенной системе. Подключается к Publisher с помощью db_owner в базе данных публикации. |
Лучшие практики
mssql Пользователь и группа, используемые SQL Server, по умолчанию являются аккаунтами без входа. Оставите так ради безопасности. Используйте проверка подлинности Windows for SQL Server на Linux, где это возможно. Дополнительные сведения о настройке проверки подлинности Windows для SQL Server на Linux см. в учебном пособии: использование adutil для настройки проверки подлинности Active Directory с SQL Server на Linux.
Дополнительно ограничьте разрешения файла (с помощью команды chmod 700) всякий раз, когда каталогу не нужен доступ к группе.
При привязке каталогов хостов или NFS-ресурсов в контейнеры или виртуальные машины сначала создайте их, а затем отображайте UID 10001 (по умолчанию для mssql).
Избегайте предоставления sysadmin для учетных записей приложений. Вместо этого используйте детализированные роли и EXECUTE AS оболочки. Отключите или переименуйте sa аккаунт после создания нового аккаунта системного администратора . Дополнительные сведения см. в разделе "Отключить учетную запись SA" в качестве рекомендации.