Dela via


SQL Server on Linux – Säkerhets- och behörighetsguide

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

Inbyggda Windows-principaler

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

Rektor Standardroll för SQL Server 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 kontot Windows SYSTEM. Har fortfarande utformats så att plattformsoberoende skript förväntas fungera.
NT AUTHORITY\NETWORK SERVICE Ingen (endast kompatibilitet) Tidigare har varit standardstartkontot för flera SQL-Server-tjänster på Windows. Finns endast för bakåtkompatibilitet. Används inte av själva SQL Server on 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 on Linux med verktyget mssql-conf.

Typiska 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
Ögonblicksbildagent mssql (via SQL Agent-jobb) Distributor db_owner i distributionsdatabasen; Läsa/skriva på snapshot-mappen
Agent för loggläsning mssql Förläggare & 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 Distribution Agent (push), men behörigheter för ögonblicksbildandel gäller för prenumerationsvärd
Sammanfogningsagent mssql Publisher, 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ändare och den grupp som används av SQL Server är som standard ett icke-inloggningskonto och bör hållas så. I säkerhetssyfte använder du Windows authentication för SQL Server on Linux där det är möjligt. Mer information om hur du konfigurerar Windows authentication för SQL Server on Linux finns i Tutorial: Använd adutil för att konfigurera služba Active Directory autentisering med SQL Server on 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.