Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo descreve as contas de serviço necessárias e as permissões do sistema de arquivos para o SQL Server no Linux. Para mais informações sobre SQL Server nas permissões de Windows, consulte Configurar contas e permissões de serviço Windows.
Princípios incorporados do Windows
Embora SQL Server em Linux corra sob a conta do sistema operativo mssql, existem os seguintes princípios Windows na camada SQL Server para compatibilidade. Não os remova ou negue, a menos que compreenda completamente os riscos.
| Diretor | Função padrão do SQL Server | Detalhes |
|---|---|---|
BUILTIN\Administrators |
administrador de sistemas | Mapeia para os administradores ao nível raiz do hospedeiro. Determinados objetos do sistema são executados no contexto dessa conta. |
NT AUTHORITY\SYSTEM |
public | Identificador de segurança (SID) reservado para a conta do WindowsSYSTEM. Ainda assim, foi criado para que scripts multiplataforma que esperam isso tenham sucesso. |
NT AUTHORITY\NETWORK SERVICE |
Nenhum (apenas compatibilidade) | Historicamente, é a conta de arranque padrão de vários serviços do SQL Server no Windows. Presente apenas para compatibilidade com versões anteriores. Não é usado pelo próprio SQL Server em Linux Database Engine. |
Propriedade de arquivos e diretórios
O mssql utilizador e mssql o grupo (mssql:mssql) devem possuir todos os ficheiros da /var/opt/mssql pasta, com acesso de leitura e escrita para ambos. Se alterar o umask padrão (0022) ou usar pontos de montagem alternativos, deve reaplicar essas permissões manualmente.
As permissões padrão para a pasta são as mssql seguintes:
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/
As permissões padrão para o conteúdo da pasta são as mssql seguintes:
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/
Para mais informações sobre como alterar a localização dos dados do utilizador, a localização dos ficheiros de registo ou a base de dados e registos do sistema, consulte Configure SQL Server em Linux com a ferramenta mssql-conf.
Diretórios típicos do SQL Server
| Purpose | Caminho padrão | Detalhes |
|---|---|---|
| Bases de dados de sistemas e utilizadores | /var/opt/mssql/data |
Inclui master, model, tempdb, e quaisquer novas bases de dados, a menos que mssql-conf as redirecione. Para obter mais informações, consulte Alterar o local padrão dos bancos de dados do sistema. |
| Logs de transações (se separados) |
/var/opt/mssql/data, ou o caminho definido via mssql-conf set filelocation.defaultlogdir. |
Mantenha a mesma propriedade se mover os logs de transações. Para obter mais informações, consulte Alterar os dados padrão ou o local do diretório de log. |
| Backups | /var/opt/mssql/data |
Crie e defina com chown antes do primeiro backup ou ao mapear um volume ou diretório. Para obter mais informações, consulte Alterar o local do diretório de backup padrão. |
| Registos de erros e registos de eventos ampliados (XE) | /var/opt/mssql/log |
Também aloja a sessão padrão de saúde do sistema XE. Para obter mais informações, consulte Alterar o local do diretório do arquivo de log de erros padrão. |
| Despejos de memória | /var/opt/mssql/log |
Armazena despejos e DBCC CHECK* despejos de núcleo. Para obter mais informações, consulte Alterar o local do diretório de despejo padrão. |
| Segredos de segurança | /var/opt/mssql/secrets |
Armazena itens como certificados TLS e chaves mestras de coluna. |
Funções mínimas do SQL Server para cada agente
| Agente | Funciona como (Linux) | Conecta-se a | Funções/direitos de banco de dados necessários |
|---|---|---|---|
| Agente de Snapshot |
mssql (via tarefa do SQL Agent) |
Distributor | db_owner na base de dados de distribuição; leitura/gravação na pasta de instantâneo |
| Agente Leitor de Logs | mssql |
Editora & Distribuidor | db_owner na base de dados e distribuição de publicações. Pode precisar de sysadmin quando usar o inicialize a partir de backup |
| Agente de Distribuição (push) | mssql |
Distribuidor para Assinante | db_owner na distribuição; db_owner no banco de dados de assinaturas. Leia a pasta de capturas. Membro do PAL. |
| Agente de Distribuição (pull) |
mssql (em Assinante) |
Assinante do Distribuidor Distribuidor para Assinante |
O mesmo que o Distribution Agent (push), mas as permissões de partilha de instantâneos aplicam-se no servidor do subscritor |
| Agente de fusão | mssql |
Publisher, Distribuidor, Assinante | db_owner na distribuição. Membro do PAL. Leia a pasta de capturas. Operações de leitura/escrita em bases de dados dedicadas à publicação e subscrição. |
| Agente leitor de filas | mssql |
Distributor | db_owner na distribuição. Conecta-se ao Publisher com db_owner na base de dados de publicação. |
Melhores práticas
O mssql utilizador e o grupo que o SQL Server utiliza são uma conta que não permite iniciar sessão, por defeito. Mantém assim por razões de segurança. Use Windows authentication para SQL Server em Linux sempre que possível. Para mais informações sobre como configurar a autenticação do Windows para o SQL Server no Linux, consulte Tutorial: Use o adutil para configurar a autenticação do Active Directory com o SQL Server no Linux.
Restrinja ainda mais as permissões de arquivo (usando o comando chmod 700) sempre que o diretório não precisar de acesso ao grupo.
Ao associar diretórios de host ou partilhas NFS a contentores ou máquinas virtuais, crie-as primeiro e depois mapeie UID 10001 (padrão para mssql).
Evite conceder sysadmin para logins de aplicativos. Em vez disso, use funções granulares e envoltórios EXECUTE AS. Desative ou renomeie a sa conta assim que criar outra conta de sysadmin . Para obter mais informações, consulte Desabilitar a conta SA como prática recomendada.