Dela via


SQL Server på Linux – säkerhets- och behörighetsguide

I den här artikeln beskrivs nödvändiga tjänstkonton och filsystembehörigheter för SQL Server i Linux. Mer information om SQL Server för Windows-behörigheter finns i Konfigurera Windows-tjänstkonton och -behörigheter.

Inbyggda Windows-huvudnamn

Även om SQL Server på Linux körs under mssql operativsystemets konto finns följande Windows-huvudnamn på SQL Server-lagret för kompatibilitet. Ta inte bort eller neka dem om du inte förstår riskerna fullt ut.

Rektor SQL Server-standardrollen Detaljer
BUILTIN\Administrators systemadministratör Kartlägger till rotadministratörerna på värdenivån. Vissa systemobjekt körs i kontexten för det här kontot.
NT AUTHORITY\SYSTEM public Tjänstidentifierare (SID) reserverad för Windows-kontot SYSTEM . Har fortfarande utformats så att plattformsoberoende skript förväntas fungera.
NT AUTHORITY\NETWORK SERVICE sysadmin (ingen fast befattning) Historiskt sett har standardstartkontot för flera SQL Server-tjänster på Windows varit. Finns endast för bakåtkompatibilitet. Används inte av SJÄLVA SQL Server på Linux Database Engine.

Fil- och katalogägarskap

Alla filer under mappen /var/opt/mssql måste ägas av mssql användaren och mssql gruppen (mssql:mssql), med läs- och skrivåtkomst för båda. Om du ändrar standard-umask (0022) eller använder alternativa monteringspunkter måste du använda dessa behörigheter igen manuellt.

Standardbehörigheterna för mssql mappen är följande:

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/

Standardbehörigheterna för innehållet i mssql mappen är följande:

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/

Mer information om hur du ändrar användarens dataplats, loggfilplats eller systemdatabas och loggplatser finns i Konfigurera SQL Server på Linux med verktyget mssql-conf.

Vanliga SQL Server-kataloger

Avsikt Förvald sökväg Detaljer
System- och användardatabaser /var/opt/mssql/data Innehåller master, model, tempdboch alla nya databaser om inte mssql-conf omdirigerar dem. Mer information finns i Ändra standardplatsen för systemdatabaser.
Transaktionsloggar (om de är avgränsade) /var/opt/mssql/data, eller sökvägen som anges via mssql-conf set filelocation.defaultlogdir. Behåll samma ägarskap om du flyttar transaktionsloggar. Mer information finns i Ändra standarddata eller loggkatalogens plats.
Backups /var/opt/mssql/data Skapa och ange med chown före den första säkerhetskopieringen, eller när du mappar en volym eller katalog. Mer information finns i Ändra standardplatsen för säkerhetskopieringskatalogen.
Felloggar och XE-loggar (Extended Event) /var/opt/mssql/log Är också värd för XE-standardsessionen för systemhälsa. Mer information finns i Ändra standardplatsen för felloggfilens katalog.
Minnesdumpar /var/opt/mssql/log Används för kärndumpning och DBCC CHECK* dumpning. Mer information finns i Ändra standardplatsen för dumpkatalogen.
Säkerhetshemligheter /var/opt/mssql/secrets Lagrar TLS-certifikat, kolumnhuvudnycklar osv.

Minsta SQL Server-roller för varje agent

Handläggare Körs som (Linux) Ansluter till Nödvändiga databasroller/rättigheter
Ögonblicksagent mssql (via SQL Agent-jobb) Distributor db_owner i distributionsdatabasen; Läsa/skriva på snapshot-mappen
Agent för loggläsning mssql Utgivare och distributör db_owner i publikationsdatabasen och distributionen. Kan behöva sysadmin vid användning av initiera från en säkerhetskopia
Distributionsagent (push) mssql Distributör till prenumerant db_owner i distribution; db_owner i prenumerationsdatabasen. Läs mappen för ögonblicksbilder. PAL-medlem.
Distributionsagent (pull) mssql (på prenumerant) Prenumerant på distributör
Distributör till prenumerant
Samma som distributionsagent (push), men behörigheter för ögonblicksbildsdela gäller för prenumeratörens värd
Sammanfogningsagent mssql Utgivare, distributör, prenumerant db_owner i distributionen. PAL-medlem. Läs mappen för ögonblicksbilder. Läs/skriv i publikations- och prenumerationsdatabaser.
Agent för köhantering mssql Distributor db_owner i distributionen. Ansluter till Publisher med db_owner i publikationsdatabasen.

Metodtips

Den mssql användaren och gruppen som används av SQL Server är som standard ett konto av typen som inte tillåter inloggning, och bör behållas på det sättet. I säkerhetssyfte använder du Windows-autentisering för SQL Server i Linux där det är möjligt. Mer information om hur du konfigurerar Windows-autentisering för SQL Server i Linux finns i Självstudie: Använda adutil för att konfigurera Active Directory-autentisering med SQL Server i Linux.

Begränsa filbehörigheterna ytterligare (med kommandot chmod 700) när katalogen inte behöver gruppåtkomst.

När du binder värdkataloger eller NFS-resurser till containrar eller virtuella datorer, skapa dem först och mappa sedan UID 10001 (standard för mssql).

Undvik att bevilja sysadmin till programinloggningar. Använd detaljerade roller i stället och EXECUTE AS wrappers. Inaktivera eller byt namn på sa kontot när du har skapat ett annat sysadmin-konto . Mer information finns i Inaktivera SA-kontot som bästa praxis.