Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano wymagane konta usług i uprawnienia systemu plików dla programu SQL Server w systemie Linux. Aby uzyskać więcej informacji na temat uprawnień systemu Windows dla SQL Server, zobacz Konfigurowanie kont i uprawnień usługi Windows.
Wbudowane zasady Windows
Mimo że SQL Server on Linux działa w ramach konta systemu operacyjnego mssql, następujące zasady Windows istnieją na poziomie SQL Server dla zgodności. Nie usuwaj ani nie odrzucaj ich, chyba że w pełni rozumiesz zagrożenia.
| Dyrektor | Domyślna rola programu SQL Server | Details |
|---|---|---|
BUILTIN\Administrators |
administrator systemu | Mapuje się na administratorów na poziomie głównym hosta. Niektóre obiekty systemowe są uruchamiane w kontekście tego konta. |
NT AUTHORITY\SYSTEM |
public | Identyfikator bezpieczeństwa (SID) zarezerwowany dla konta WindowsSYSTEM. Nadal jest tworzone tak, aby skrypty międzyplatformowe, które tego oczekują, działały poprawnie. |
NT AUTHORITY\NETWORK SERVICE |
Brak (tylko zgodność) | Historycznie domyślne konto uruchamiania dla kilku usług programu SQL Server w systemie Windows. Obecny tylko w przypadku zgodności z poprzednimi wersjami. Program SQL Server nie jest używany przez aparat bazy danych systemu Linux. |
Własność plików i katalogów
mssql użytkownik i mssql grupa (mssql:mssql) muszą być właścicielami wszystkich plików w folderze /var/opt/mssql, z uprawnieniami do odczytu i zapisu dla obu. Jeśli zmienisz domyślny umask (0022) lub użyjesz alternatywnych punktów montażu, musisz ponownie zastosować te uprawnienia ręcznie.
Domyślne uprawnienia dla mssql folderu są następujące:
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/
Domyślne uprawnienia do zawartości mssql folderu są następujące:
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-rw---- 1 mssql mssql 28 Sep 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/
Aby uzyskać więcej informacji na temat zmiany lokalizacji danych użytkownika, lokalizacji pliku dziennika lub systemowej bazy danych i lokalizacji dziennika, zobacz Konfigurowanie programu SQL Server w systemie Linux przy użyciu narzędzia mssql-conf.
Typowe katalogi programu SQL Server
| Purpose | Ścieżka domyślna | Details |
|---|---|---|
| Bazy danych systemu i użytkowników | /var/opt/mssql/data |
Obejmuje master, model, tempdbi wszelkie nowe bazy danych, chyba że mssql-conf przekierowuje je. Aby uzyskać więcej informacji, zobacz Zmienianie domyślnej lokalizacji dla systemowych baz danych. |
| Dzienniki transakcji (jeśli są oddzielone) |
/var/opt/mssql/data lub ścieżka ustawiona za pomocą mssql-conf set filelocation.defaultlogdir. |
Zachowaj tę samą własność, jeśli przeniesiesz dzienniki transakcji. Aby uzyskać więcej informacji, zobacz Zmienianie domyślnej lokalizacji danych lub katalogu dziennika. |
| Backups | /var/opt/mssql/data |
Utwórz i ustaw z chown przed pierwszą kopią zapasową lub podczas mapowania woluminu lub katalogu. Aby uzyskać więcej informacji, zobacz Zmienianie domyślnej lokalizacji katalogu kopii zapasowej. |
| Dzienniki błędów i dzienniki zdarzeń rozszerzonych (XE) | /var/opt/mssql/log |
Hostuje też domyślną sesję XE dotyczącą zdrowia systemu. Aby uzyskać więcej informacji, zobacz Zmienianie domyślnej lokalizacji katalogu pliku dziennika błędów. |
| Zrzuty pamięci | /var/opt/mssql/log |
Przechowuje zrzuty pamięci i zrzuty DBCC CHECK*. Aby uzyskać więcej informacji, zobacz Zmienianie domyślnej lokalizacji katalogu zrzutu. |
| Tajemnice zabezpieczeń | /var/opt/mssql/secrets |
Przechowuje elementy takie jak certyfikaty TLS i klucze główne kolumn. |
Minimalna liczba ról programu SQL Server dla każdego agenta
| Agent | Działa jako (Linux) | Nawiązuje połączenie z | Wymagane role/prawa bazy danych |
|---|---|---|---|
| Agent Migawki |
mssql (przez zadanie agenta SQL Server) |
Dystrybutor | db_owner w bazie danych dystrybucji; odczyt/zapis w folderze migawki |
| Agent odczytu logów | mssql |
Wydawca i dystrybutor | db_owner w bazie danych publikacji i bazie dystrybucji. Może być potrzebny sysadmin podczas korzystania z inicjalizacji z kopii zapasowej |
| Agent Dystrybucji (push) | mssql |
Dystrybutor do subskrybenta | db_owner w dystrybucji; db_owner w bazie danych subskrypcji. Odczytaj folder migawki. Członek PAL. |
| Agent dystrybucji (pull) |
mssql (na subskrybenta) |
Subskrybent do dystrybutora Dystrybutor do subskrybenta |
Tak samo jak agent dystrybucji (push), ale uprawnienia do udziału w migawkach mają zastosowanie na hoście subskrybenta |
| Agent Synchronizacji | mssql |
Wydawca, Dystrybutor, Subskrybent | db_owner w dystrybucji. Członek PAL. Odczytaj folder migawki. Odczyt/zapis w bazach danych publikacji i subskrypcji. |
| Agent czytnika kolejek | mssql |
Dystrybutor | db_owner w dystrybucji. Nawiązuje połączenie z Publisher za pomocą db_owner w bazie danych publikacji. |
Najlepsze praktyki
Użytkownik mssql i grupa, których używa SQL Server, domyślnie są kontem bez logowania. Zachowaj to ze względów bezpieczeństwa. Używaj Windows authentication for SQL Server on Linux, gdzie to możliwe. Aby uzyskać więcej informacji na temat konfigurowania uwierzytelniania systemu Windows dla programu SQL Server w systemie Linux, zobacz Samouczek: konfigurowanie uwierzytelniania usługi Active Directory za pomocą programu SQL Server w systemie Linux przy użyciu narzędzia adutil.
Ogranicz uprawnienia do plików dalej (za pomocą polecenia chmod 700) zawsze, gdy katalog nie potrzebuje dostępu do grupy.
Podczas podłączania katalogów hosta lub udziałów NFS do kontenerów albo maszyn wirtualnych najpierw je utwórz, a następnie zamapuj identyfikator UID 10001 (domyślny dla mssql).
Unikaj udzielania administratorowi systemu logowania do aplikacji. Zamiast tego należy używać szczegółowych ról i opakowań EXECUTE AS. Wyłącz lub zmienij nazwę sa konta po utworzeniu kolejnego konta sysadmina . Aby uzyskać więcej informacji, zobacz Wyłącz konta SA jako najlepszą praktykę.