Uwaga
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.
Najlepsze rozwiązania dotyczące tworzenia oprogramowania prowadzą deweloperów do pisania oprogramowania, które wymaga najmniejszej ilości uprawnień. Jednak niektóre oprogramowanie, takie jak narzędzia do monitorowania wydajności, wymaga uprawnień administratora ze względu na reguły systemu operacyjnego. W poniższych wskazówkach opisano obsługiwane scenariusze pisania takiego oprogramowania za pomocą platformy .NET Core.
Następujące polecenia można uruchomić z podwyższonym poziomem uprawnień:
-
dotnet tool
polecenia, takie jak dotnet tool install. dotnet run --no-build
dotnet-core-uninstall
Nie zalecamy uruchamiania innych poleceń na podwyższonym poziomie uprawnień. W szczególności nie zalecamy podniesienia uprawnień za pomocą poleceń korzystających z programu MSBuild, takich jak dotnet restore, dotnet build i dotnet run. Podstawowym problemem są trudności w zarządzaniu uprawnieniami, gdy użytkownik przechodzi tam i z powrotem między kontem root a ograniczonym kontem po wydaniu poleceń dotnet. Być może użytkownik z ograniczeniami nie ma dostępu do pliku utworzonego przez użytkownika głównego. Istnieją sposoby rozwiązania tej sytuacji, ale omawianie ich jest niepotrzebne na samym początku.
Możesz uruchamiać polecenia jako użytkownik root, pod warunkiem, że nie przechodzisz na przemian między kontem root a ograniczonym kontem. Na przykład kontenery platformy Docker są domyślnie uruchamiane jako główne, więc mają tę charakterystykę.
Globalna instalacja narzędzi
Poniższe instrukcje przedstawiają zalecany sposób instalowania, uruchamiania i odinstalowywania narzędzi platformy .NET, które wymagają podniesionych uprawnień do wykonania.
Instalowanie narzędzia
Jeśli folder %ProgramFiles%\dotnet-tools
już istnieje, wykonaj następujące czynności, aby sprawdzić, czy grupa "Użytkownicy" ma uprawnienia do zapisu lub modyfikowania tego katalogu:
- Kliknij prawym przyciskiem myszy
%ProgramFiles%\dotnet-tools
folder i wybierz polecenie Właściwości. Zostanie otwarte okno dialogowe Wspólne właściwości . - Wybierz kartę Zabezpieczenia . W obszarze Nazwy grup lub użytkowników sprawdź, czy grupa "Użytkownicy" ma uprawnienia do zapisu lub modyfikowania katalogu.
- Jeśli grupa "Użytkownicy" nie może zapisać ani zmodyfikować katalogu, użyj innej nazwy katalogu podczas instalowania narzędzi, a nie dotnet-tools.
Aby zainstalować narzędzia, uruchom następujące polecenie w wierszu polecenia z podwyższonym poziomem uprawnień. Podczas instalacji zostanie utworzony folder dotnet-tools .
dotnet tool install PACKAGEID --tool-path "%ProgramFiles%\dotnet-tools".
Uruchamianie narzędzia globalnego
Opcja 1 Użyj pełnej ścieżki z monitem z podwyższonymi uprawnieniami:
"%ProgramFiles%\dotnet-tools\TOOLCOMMAND"
Opcja 2 Dodaj nowo utworzony folder do %Path%
folderu . Tę operację należy wykonać tylko raz.
setx Path "%Path%;%ProgramFiles%\dotnet-tools\"
Uruchom za pomocą:
TOOLCOMMAND
Odinstalowywanie narzędzia globalnego
W podwyższonym oknie poleceń wpisz następujące polecenie:
dotnet tool uninstall PACKAGEID --tool-path "%ProgramFiles%\dotnet-tools"
Narzędzia lokalne
Narzędzia lokalne są ograniczone do poszczególnych podkatalogów drzewa, na użytkownika. Po uruchomieniu z podwyższonym poziomem uprawnień, narzędzia lokalne dzielą środowisko użytkownika z ograniczeniami ze środowiskiem z podwyższonym poziomem uprawnień. W systemach Linux i macOS spowoduje to ustawienie plików z dostępem tylko do użytkownika głównego. Jeśli użytkownik przełączy się z powrotem na konto z ograniczeniami, użytkownik nie będzie mógł już uzyskać dostępu do plików ani zapisywać ich w plikach. Dlatego nie jest zalecane instalowanie narzędzi wymagających podwyższenia uprawnień jako narzędzi lokalnych. Zamiast tego użyj opcji --tool-path
oraz wcześniejszych wytycznych dotyczących narzędzi globalnych.
Podniesienie funkcji podczas tworzenia oprogramowania
Podczas programowania może być potrzebny podwyższony poziom dostępu do testowania aplikacji. Ten scenariusz jest typowy dla aplikacji IoT, na przykład. Zalecamy skompilowanie aplikacji bez podniesienia uprawnień, a następnie uruchomienie jej z podniesieniem uprawnień. Istnieje kilka wzorców w następujący sposób:
Użycie wygenerowanego pliku wykonywalnego (zapewnia najlepszą wydajność uruchamiania):
dotnet build sudo ./bin/Debug/netcoreapp3.0/APPLICATIONNAME
Użyj polecenia dotnet run z flagą ,
—no-build
aby uniknąć generowania nowych plików binarnych:dotnet build sudo dotnet run --no-build