KB4533497 - POPRAWKA: zewnętrzne skrypty procesów satelitarnych, takie jak R, Python, nie są w stanie uzyskać dostępu do żadnych katalogów poza ich katalogiem roboczym w SQL Server 2019 r.

Dotyczy
SQL Server 2019 on Linux

Objawy

W programie SQL Server 2019 w systemie Linux zewnętrzne skrypty procesu satelitarnego, takie jak R, Python, nie mogą uzyskać dostępu do żadnych katalogów poza katalogiem roboczym.

Rozwiązanie

Ten problem został rozwiązany w następującej aktualizacji zbiorczej dla programu SQL Server:

Informacje o aktualizacjach zbiorczych programu SQL Server:

Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:

Więcej informacji

Katalogi, do których procesy zewnętrzne mają dostęp, można dostosować przy użyciu narzędzia mssql-conf w celu ustawienia lub usunięcia ustawienia "katalogów danych" w sekcji rozszerzalności pliku konfiguracyjnego /var/opt/mssql/mssql.conf .

Wartością ustawienia jest rozdzielona dwukropkami lista katalogów, która będzie wystawiona na działanie skryptów satelitarnych. Demon Launchpad programu Microsoft SQL Server musi zostać ponownie uruchomiony po skonfigurowaniu lub usunięciu ustawienia tego ustawienia.

Procesy satelitarne są uruchamiane mssql_satellite użytkownika specjalnego, więc dziedziczą te same uprawnienia odczytu/zapisu/wykonania do katalogów określonych w tym ustawieniu, jakie są nadane temu użytkownikowi specjalnemu.

Przykład:
      

#/bin/bash: /opt/mssql/bin/mssql-conf set extensibility.datadirectories "/opt/mssql/bin:/home/user/rscripts"

Aby można było zastosować to ustawienie, należy ponownie uruchomić demona uruchamiania rozszerzalności programu SQL Server. Uruchom polecenie "systemctl restart mssql-launchpadd.service".

      

Zawartość pliku /var/opt/mssql/mssql.conf

[rozszerzalność]

DataDirectories = /opt/mssql/bin:/var

      

#/bin/bash: /opt/mssql/bin/mssql-conf unset extensibility.datadirectories

Aby można było zastosować to ustawienie, należy ponownie uruchomić demona uruchamiania rozszerzalności programu SQL Server. Uruchom

'systemctl restart mssql-launchpadd.service'.

Zawartość pliku /var/opt/mssql/mssql.conf

[rozszerzalność]

Stan

Jest to domyślnie zaprojektowane w taki sposób, aby procesy zewnętrzne nie mogły losowo uzyskiwać dostępu do żadnych katalogów systemowych.

Źródła informacji

Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.