Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются необходимые учетные записи служб и разрешения файловой системы для SQL Server в Linux. Дополнительные сведения о разрешениях SQL Server в Windows см. в разделе "Настройка учетных записей и разрешений службы Windows".
Встроенные принципы Windows
Несмотря на то что SQL Server в Linux выполняется под mssql учетной записью операционной системы, следующие принципы Windows существуют на уровне SQL Server для обеспечения совместимости. Не удаляйте или не отклоняйте их, если вы не полностью понимаете риски.
| Директор | Роль SQL Server по умолчанию | Сведения |
|---|---|---|
BUILTIN\Administrators |
sysadmin | Сопоставляется с администраторами на уровне корня хоста. Некоторые системные объекты выполняются в контексте этой учетной записи. |
NT AUTHORITY\SYSTEM |
public | Идентификатор службы (SID), зарезервированный для учетной записи Windows SYSTEM . Еще создается таким образом, чтобы кроссплатформенные скрипты, ожидающие этого, успешно выполнялись. |
NT AUTHORITY\NETWORK SERVICE |
sysadmin (без фиксированной роли) | Исторически учетная запись запуска по умолчанию для нескольких служб SQL Server в Windows. Присутствует только для обратной совместимости. Не используется sql Server в самом ядре СУБД Linux. |
Владение файлами и каталогами
Все файлы в папке /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/
Дополнительные сведения о том, как изменить расположение данных пользователя, расположение файла журнала или системную базу данных и расположения журналов, см. в разделе "Настройка SQL Server в 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 (на подписчике) |
Подписчик к распространителю Распространитель к подписчику |
Такой же, как агент распространения (push), но разрешения общей папки моментальных снимков применяются на хосте подписчика |
| Агент слияния | mssql |
Издатель, распространитель, подписчик | db_owner в распределенной системе. Член PAL. Чтение папки снимков. Чтение и запись в базах данных публикаций и подписок. |
| Агент чтения очередей | mssql |
Distributor | db_owner в распределенной системе. Подключается к издателю с db_owner в базе данных публикации. |
Лучшие практики
Пользователь mssql и группа, используемые SQL Server, по умолчанию являются учетной записью без входа и должны храниться таким образом. Для обеспечения безопасности используйте проверку подлинности Windows для SQL Server в Linux, где это возможно. Дополнительные сведения о настройке проверки подлинности Windows для SQL Server на Linux см. в учебном пособии: использование adutil для настройки проверки подлинности Active Directory с SQL Server на Linux.
Дополнительно ограничьте разрешения файла (с помощью команды chmod 700) всякий раз, когда каталогу не нужен доступ к группе.
При привязке каталогов хоста или общих каталогов NFS к контейнерам или виртуальным машинам, сначала создайте их, а потом сопоставьте их с UID 10001 (по умолчанию для mssql).
Избегайте предоставления sysadmin для учетных записей приложений. Вместо этого используйте детализированные роли и EXECUTE AS оболочки. Отключите или переименуйте учетную запись после создания другой учетной sa записи sysadmin . Дополнительные сведения см. в разделе "Отключить учетную запись SA" в качестве рекомендации.