Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden die erforderlichen Dienstkonten und Dateisystemberechtigungen für SQL Server für Linux beschrieben. Weitere Informationen zu SQL Server auf Windows-Berechtigungen finden Sie unter Konfigurieren von Windows-Dienstkonten und -Berechtigungen.
Integrierte Windows Prinzipale
Obwohl SQL Server für Linux unter dem Betriebssystemkonto mssql ausgeführt wird, sind die folgenden Windows Prinzipale auf der SQL Server Ebene zur Kompatibilität vorhanden. Entfernen oder verzichten Sie nur auf sie, wenn Sie die Risiken vollumfänglich verstehen.
| Schulleiter | Standardrolle SQL Server | Einzelheiten |
|---|---|---|
BUILTIN\Administrators |
sysadmin | Ordnet den Administratoren der Stammebene des Hosts zu. Bestimmte Systemobjekte werden im Kontext dieses Kontos ausgeführt. |
NT AUTHORITY\SYSTEM |
Öffentlich | Dienstkennung (SID) für das Windows-Konto SYSTEM reserviert. Es wird weiterhin erstellt, damit plattformübergreifende Skripte, die darauf angewiesen sind, erfolgreich ausgeführt werden können. |
NT AUTHORITY\NETWORK SERVICE |
Keine (nur Kompatibilität) | Historisch gesehen ist das Standardstartkonto für mehrere SQL Server Dienste auf Windows. Nur aus Gründen der Abwärtskompatibilität vorhanden. Wird nicht vom SQL Server für Linux Datenbank-Engine selbst verwendet. |
Datei- und Verzeichnisbesitz
Alle Dateien unter dem Ordner /var/opt/mssql müssen dem mssql Benutzer und mssql der Gruppe (mssql:mssql) gehören, mit Lese- und Schreibzugriff für beide. Wenn Sie den Standard-Umask (0022) ändern oder alternative Bereitstellungspunkte verwenden, müssen Sie diese Berechtigungen erneut manuell anwenden.
Die Standardberechtigungen für den mssql Ordner sind wie folgt:
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/
Die Standardberechtigungen für den Inhalt des mssql Ordners sind wie folgt:
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/
Weitere Informationen zum Ändern des Speicherorts der Benutzerdaten, des Protokolldateispeicherorts oder der Systemdatenbank und Protokollspeicherorte finden Sie unter Configure SQL Server für Linux mit dem Tool mssql-conf.
Typische SQL Server Verzeichnisse
| Zweck | Standardpfad | Einzelheiten |
|---|---|---|
| System- und Benutzerdatenbanken | /var/opt/mssql/data |
Umfasst master, model, tempdb und alle neuen Datenbanken, es sei denn, mssql-conf leitet sie um. Weitere Informationen finden Sie unter Ändern des Standardspeicherorts für Systemdatenbanken. |
| Transaktionsprotokolle (sofern getrennt) |
/var/opt/mssql/data, oder der Pfad über mssql-conf set filelocation.defaultlogdir. |
Behalten Sie das gleiche Eigentum bei, wenn Sie Transaktionsprotokolle verschieben. Weitere Informationen finden Sie unter Ändern des Standarddaten- oder Protokollverzeichnisspeicherorts. |
| Datensicherungen | /var/opt/mssql/data |
Erstellen und festlegen Sie vor chown, vor der ersten Sicherung, oder beim Zuordnen eines Volumes oder Verzeichnisses. Weitere Informationen finden Sie unter Ändern des Standardspeicherorts für das Sicherungsverzeichnis. |
| Fehlerprotokolle und erweiterte Ereignisprotokolle (XE-Protokolle) | /var/opt/mssql/log |
Hostet auch die Standard-XE-Sitzung für die Systemgesundheit. Weitere Informationen finden Sie unter Ändern des Speicherorts der Standardfehlerprotokolldatei. |
| Speicherabbilder | /var/opt/mssql/log |
Wird für Kernabbilder und DBCC CHECK*-Abbilder verwendet. Weitere Informationen finden Sie unter Standard-Dump-Verzeichnis ändern. |
| Geheime Sicherheitsschlüssel | /var/opt/mssql/secrets |
Speichert TLS-Zertifikate, Spaltenmasterschlüssel usw. |
Minimale SQL Server Rollen für jeden Agent
| Vertreter | Läuft als (Linux) | Verbindung mit | Erforderliche Datenbankrollen/-rechte |
|---|---|---|---|
| Momentaufnahme-Agent |
mssql (über den SQL-Agent-Auftrag) |
Verteiler | db_owner in der Verteilungsdatenbank; Lese-/Schreibzugriff auf dem Schnappschussordner |
| Protokolllese-Agent | mssql |
Verleger & Vertrieb | db_owner in der Publikationsdatenbank und -verteilung. Möglicherweise wird sysadmin bei Verwendung der Initialisierung aus einem Backup benötigt. |
| Verteilungsagent (push) | mssql |
Verteiler für Abonnenten | db_owner in der Verteilungsdatenbank; db_owner in der Abonnementdatenbank. Ordner mit Momentaufnahmen lesen. PAL-Mitglied. |
| Verteilungs-Agent (Pull) |
mssql (bei Abonnent) |
Abonnenten von Distributoren Verteiler für Abonnenten |
Identisch mit Verteilungs-Agent (Push), aber Snapshot-Freigabeberechtigungen gelten für den Abonnenten-Host. |
| Zusammenführungs-Agent | mssql |
Publisher, Distributor, Abonnent | db_owner in der Verteilung. PAL-Mitglied. Ordner mit Momentaufnahmen lesen. Lese-/Schreibzugriff in Publikations- und Abonnementdatenbanken. |
| Warteschlangenlese-Agent | mssql |
Verteiler | db_owner in der Verteilung. Stellt eine Verbindung mit Publisher mit db_owner in der Publikationsdatenbank her. |
Bewährte Methoden
Der von SQL Server verwendete mssql Benutzer und Gruppe ist standardmäßig ein Nicht-Anmeldekonto und sollte auf diese Weise beibehalten werden. Für Sicherheitszwecke verwenden Sie Windows-Authentifizierung nach Möglichkeit für SQL Server für Linux. Weitere Informationen zum Konfigurieren von Windows-Authentifizierung für SQL Server für Linux finden Sie unter Tutorial: Verwenden von adutil zum Konfigurieren Active Directory Authentifizierung mit SQL Server für Linux.
Beschränken Sie Dateiberechtigungen weiter (mithilfe des Befehls chmod 700), wenn das Verzeichnis keinen Gruppenzugriff benötigt.
Wenn Sie Hostverzeichnisse oder NFS-Freigaben in Container oder virtuelle Computer einbinden, erstellen Sie diese zuerst, und ordnen Sie dann die UID 10001 zu (Standardeinstellung für mssql).
Vermeiden Sie es, sysadmin für Anwendungs-Login-Daten zu gewähren. Verwenden Sie stattdessen fein abgestufte Rollen und EXECUTE AS Umschläge. Deaktivieren oder umbenennen Sie das sa Konto, nachdem Sie ein anderes sysadmin-Konto erstellt haben. Weitere Informationen finden Sie unter Deaktivieren des SA-Kontos als bewährte Methode.