Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются необходимые учетные записи служб и разрешения файловой системы для SQL Server on Linux. Дополнительные сведения о разрешениях в Windows для SQL Server см. в разделе Configure Windows service accounts and permissions.
Встроенные принципы Windows
Хотя SQL Server на Linux выполняется в системной учетной записи mssql, следующие принципы Windows существуют на уровне SQL Server для обеспечения совместимости. Не удаляйте или не отклоняйте их, если вы не полностью понимаете риски.
| Директор | Роль SQL Server по умолчанию | Сведения |
|---|---|---|
BUILTIN\Administrators |
sysadmin | Сопоставляется с администраторами на уровне корня хоста. Некоторые системные объекты выполняются в контексте этой учетной записи. |
NT AUTHORITY\SYSTEM |
public | Идентификатор службы (SID), зарезервированный для учетной записи Windows SYSTEM. Еще создается таким образом, чтобы кроссплатформенные скрипты, ожидающие этого, успешно выполнялись. |
NT AUTHORITY\NETWORK SERVICE |
Нет (только совместимость) | Исторически учетная запись запуска по умолчанию для нескольких служб SQL Server на Windows. Присутствует только для обратной совместимости. Не используется самой SQL Server on Linux Database Engine. |
Владение файлами и каталогами
Все файлы в папке /var/opt/mssql должны принадлежать mssql пользователю и mssql группе (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/
Дополнительные сведения об изменении расположения данных пользователя, расположения файла журнала или системной базы данных и расположений журналов см. в разделе Configure SQL Server on Linux с помощью средства mssql-conf.
Типичные каталоги SQL Server
| Цель | Путь по умолчанию | Сведения |
|---|---|---|
| Системные и пользовательские базы данных | /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) |
Distributor | db_owner в распределённой базе данных; чтение и запись в папке моментальных снимков |
| Агент чтения журналов | mssql |
Издатель и Дистрибьютор | db_owner в базе данных публикации и распространении. Может потребоваться sysadmin при использовании инициализации из резервного копирования |
| Агент распределения (push) | mssql |
Распространитель к абоненту | db_owner в распределении; db_owner в базе данных подписки. Чтение папки моментальных снимков. Член PAL. |
| Агент распространения (подписчик) |
mssql (на подписчике) |
Подписчик к распространителю Распространитель к абоненту |
То же, что и Distribution Agent (push), но разрешения на общую папку моментальных снимков применяются на хосте подписчика. |
| Агенты слияния | mssql |
Издатель, Дистрибьютор, Подписчик | db_owner в распределенной системе. Член PAL. Чтение папки моментальных снимков. Чтение и запись в базах данных публикаций и подписок. |
| Агент чтения очередей | mssql |
Distributor | db_owner в распределенной системе. Подключается к Publisher с помощью db_owner в базе данных публикации. |
Лучшие практики
Пользователь и группа mssql, используемая SQL Server, является учетной записью без входа по умолчанию и должна храниться таким образом. В целях безопасности используйте Windows authentication для SQL Server on Linux по возможности. Дополнительные сведения о настройке Windows authentication для SQL Server on Linux см. в статье Tutorial: использование adutil для настройки проверки подлинности Active Directory с помощью SQL Server on Linux.
Дополнительно ограничьте разрешения файла (с помощью команды chmod 700) всякий раз, когда каталогу не нужен доступ к группе.
При привязке каталогов хоста или общих каталогов NFS к контейнерам или виртуальным машинам, сначала создайте их, а потом сопоставьте их с UID 10001 (по умолчанию для mssql).
Избегайте предоставления sysadmin для учетных записей приложений. Вместо этого используйте детализированные роли и EXECUTE AS оболочки. Отключите или переименуйте учетную запись после создания другой учетной sa записи sysadmin . Дополнительные сведения см. в разделе "Отключить учетную запись SA" в качестве рекомендации.