Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Sudo dla systemu Windows to nowy sposób uruchamiania poleceń z podwyższonym poziomem uprawnień (jako administrator) bezpośrednio ze zwykłej sesji konsoli w systemie Windows.
Przeczytaj ogłoszenie, które zawiera pokaz wideo i szczegółowe informacje na temat działania programu Sudo dla systemu Windows.
Wymagania wstępne
Polecenie Sudo dla systemu Windows jest dostępne w systemie Windows 11 w wersji 24H2 lub nowszej. (Sprawdź dostępność aktualizacji systemu Windows).
Uwaga / Notatka
Sudo dla systemu Windows nie jest jeszcze dostępny dla systemu Windows 10, ale może być w przyszłości.
Jak włączyć program Sudo dla systemu Windows
Aby włączyć program Sudo dla systemu Windows, otwórz Settings > System > For Developers i ustaw opcję Włącz sudo na Włączone.
Ostrzeżenie
Program Sudo dla systemu Windows może służyć jako potencjalna eskalacja wektora uprawnień po włączeniu w niektórych konfiguracjach. Podczas włączania polecenia sudo na maszynie należy pamiętać o zagadnieniach dotyczących zabezpieczeń .
Jak skonfigurować program Sudo dla systemu Windows
Program Sudo dla systemu Windows obsługuje obecnie trzy różne opcje konfiguracji. Konfigurację można ustawić z Settings > For Developers menu lub programowo przy użyciu wiersza polecenia. Opcje konfiguracji obejmują:
W nowym oknie (
forceNewWindow):forceNewWindowopcja konfiguracji jest domyślną opcją konfiguracji sudo dla systemu Windows. Użyjsudow tej konfiguracji, aby uruchomić polecenie w nowym oknie. Jest to podobne do działania poleceniarunas /user:admin.Wejście zamknięte (
disableInput): Opcja konfiguracjidisableInputuruchomi proces z uprawnieniami administratora w bieżącym oknie, ale z zamkniętym uchwytem wejściowym. Oznacza to, że proces z podwyższonym poziomem uprawnień nie będzie mógł odbierać danych wejściowych z bieżącego okna konsoli. Jest to przydatne w scenariuszach, w których chcesz uruchomić polecenie jako administrator, ale nie chcesz zezwalać na odbieranie danych wejściowych z bieżącego okna konsoli. Ta opcja konfiguracji zapewnia pewną wygodęinlineopcji konfiguracji przy jednoczesnym ograniczaniu niektórych powiązanych zagrożeń bezpieczeństwa.Wbudowane (
normal):normalopcja konfiguracji jest najbardziej podobna do zachowania programu sudo w innych systemach operacyjnych. Ta konfiguracja spowoduje uruchomienie procesu z podwyższonym poziomem uprawnień w bieżącym oknie, a proces będzie mógł odbierać dane wejściowe z bieżącej sesji konsoli. Jest to przydatne w scenariuszach, w których chcesz uruchomić polecenie jako administrator i chcesz zezwolić na odbieranie danych wejściowych z bieżącego okna konsoli. Ta opcja konfiguracji zapewnia największą wygodę, ale należy wybrać tę opcję tylko wtedy, gdy znasz powiązane zagrożenia bezpieczeństwa.
Możesz wybrać spośród tych konfiguracji z Settings > For Developers menu lub programowo zmienić konfigurację w wierszu polecenia z podwyższonym poziomem uprawnień (konsola administracyjna), używając:
sudo config --enable <configuration_option>
Przeprowadź aktualizację <configuration_option> do forceNewWindow, disableInput lub normal.
Jak używać programu Sudo dla systemu Windows
Aby użyć programu Sudo w systemie Windows, wystarczy dodać sudo przed poleceniem, które chcesz uruchomić jako administrator. Aby na przykład uruchomić netstat -ab jako administrator, uruchom sudo netstat -ab w oknie konsoli.
Typowe scenariusze dla deweloperów
Oto kilka typowych scenariuszy, w których deweloperzy mogą używać programu sudo:
-
Edytowanie plików systemowych:
sudo notepad C:\Windows\System32\drivers\etc\hosts -
Globalne instalowanie pakietów:
sudo npm install -g package-name -
Uruchamianie narzędzi administracyjnych:
sudo diskpart
Uwaga / Notatka
W przypadku prac programistycznych obejmujących katalogi systemowe, takie jak C:\Windows\, rozważ użycie środowisk deweloperskich lub alternatywnych metod, jeśli jest to możliwe. Sudo należy używać rozsądnie i tylko wtedy, gdy podwyższone uprawnienia są naprawdę niezbędne.
Ponieważ sudo podnosi poziom docelowego procesu do uruchomienia z uprawnieniami na poziomie administratora, zostanie otwarty monit z prośbą o sprawdzenie, czy chcesz kontynuować.
Zagadnienia dotyczące zabezpieczeń
Istnieją zagrożenia związane z uruchamianiem programu sudo w konfiguracjach danych wejściowych zamkniętych (disableInput) lub wbudowanych (normal). Istnieje możliwość, aby złośliwe procesy próbowały manipulować procesem z podwyższonym poziomem uprawnień przy użyciu połączenia ustanowionego przez proces o niepodwyższonym poziomie uprawnień sudo.exe oraz proces z podwyższonym poziomem uprawnień sudo.exe.
Opcja disableInput konfiguracji ogranicza ryzyko, zamykając uchwyt wejściowy. Odłączenie uchwytu wejściowego od bieżącego okna konsoli oznacza, że procesy niepodniesione nie mogą wysyłać danych wejściowych do procesu z podwyższonym poziomem uprawnień.
Opcja inline konfiguracji uruchamia proces z podwyższonym poziomem uprawnień w bieżącym oknie, a proces może odbierać dane wejściowe z bieżącej sesji konsoli. Niezauprawniony proces może wysyłać dane wejściowe do procesu z podwyższonym poziomem uprawnień w tym samym oknie konsoli lub uzyskać informacje z danych wyjściowych w bieżącym oknie w tej konfiguracji.
Często zadawane pytania
Czym różni się program Sudo dla systemu Windows od istniejącego runas polecenia?
Polecenie sudo oferuje sposób szybkiego podniesienia poziomu uprawnień polecenia jako administrator z bieżącego nieuprawnionego kontekstu wiersza polecenia i jest znany niektórym użytkownikom pochodzącym z innych systemów operacyjnych. Polecenie runas oferuje sposób uruchamiania programów jako dowolny użytkownik, w tym administratora, jeśli tego sobie życzysz. W tej chwili polecenie sudo w systemie Windows nie obsługuje uruchamiania programów jako inni użytkownicy. Inne kluczowe różnice między elementami sudo i runas obejmują:
runasumożliwia uruchamianie programów jako inni użytkownicy, w tym nie tylko jako administrator. Ta funkcja znajduje się w harmonogramie działania polecenia sudo, ale jeszcze nie istnieje.sudoumożliwia szybkie podniesienie poziomu procesu (jako administrator):- Możesz wybrać, by to zrobić w nowym oknie, które przypomina
runasproces administratora. - Możesz wybrać połączenie procesu o podwyższonych uprawnieniach z bieżącym oknem konsoli, używając opcji konfiguracji
disableInputinormal. Nie jest to obsługiwane w programierunas.
- Możesz wybrać, by to zrobić w nowym oknie, które przypomina
runasmoże monitować użytkowników o podanie hasła w wierszu polecenia.sudoMożna podnieść uprawnienia tylko za pośrednictwem funkcji zabezpieczeń Kontrola konta użytkownika (UAC), która została zaprojektowana w celu ochrony systemu operacyjnego przed nieautoryzowanymi zmianami, używając do tego monitu weryfikacyjnego.
Należy wziąć pod uwagę konkretny przypadek użycia i zaplanować użycie polecenia, które najlepiej spełnia Twoje potrzeby. Należy również wziąć pod uwagę implikacje bezpieczeństwa uruchamiania sudo w trybach disableInput i normal.
forceNewWindow Domyślna opcja konfiguracji jest zalecana, chyba że znasz i jesteś zaznajomiony z ryzykiem związanym z innymi sudo konfiguracjami.
Repozytorium open source Sudo dla Windows
Program Sudo dla systemu Windows jest oprogramowaniem open source i z zadowoleniem przyjmuje twoje wkłady i opinie. Kod źródłowy programu Sudo dla systemu Windows można znaleźć w witrynie GitHub.
Dodatkowe funkcje
Jeśli szukasz dodatkowych funkcji, które sudo dla systemu Windows nie udostępnia, zapoznaj się z gsudo, w Gerardo Grignoli którym znajduje się wiele dodatkowych funkcji i opcji konfiguracji lub zapoznaj się z innymi rozwiązaniami ze społeczności.
Windows developer