Sdílet prostřednictvím


Sudo pro Windows

Sudo pro Windows je nový způsob, jak uživatelé spouštět příkazy se zvýšenými oprávněními (jako správce) přímo z neelevatované konzolové relace ve Windows.

Přečtěte si oznámení, které obsahuje ukázkové video a podrobné informace o tom, jak sudo pro Windows funguje.

Požadavky

Příkaz Sudo pro Windows je k dispozici ve Windows 11 verze 24H2 nebo vyšší. (Zkontrolujte aktualizace Windows.

Poznámka:

Sudo pro Windows ještě není k dispozici pro Windows 10, ale může být v budoucnu.

Jak povolit sudo pro Windows

Pokud chcete povolit sudo pro Windows, otevřete Settings > System > For Developers a nastavte Povolit sudo na Zapnuto.

Povolit sudo

Výstraha

Sudo pro Windows lze použít jako potenciální eskalaci vektoru oprávnění, pokud je povolená v určitých konfiguracích. Při povolování příkazu sudo na vašem počítači byste měli vědět o aspektech zabezpečení .

Jak nakonfigurovat Sudo pro Windows

Sudo pro Windows aktuálně podporuje tři různé možnosti konfigurace. Konfiguraci můžete nastavit z Settings > For Developers nabídky nebo programaticky pomocí příkazového řádku. Mezi možnosti konfigurace patří:

  • V novém okně (forceNewWindow): Možnost forceNewWindow konfigurace je výchozí možností konfigurace pro Sudo pro Windows. V této konfiguraci slouží sudo ke spuštění příkazu v novém okně. Podobá se chování runas /user:admin příkazu.

  • Vstup uzavřen (disableInput): Konfigurační možnost disableInput spustí proces se zvýšenými oprávněními v aktuálním okně, avšak se zavřeným popisovačem vstupu. To znamená, že proces se zvýšenými oprávněními nebude moct přijímat vstup z aktuálního okna konzoly. To je užitečné ve scénářích, ve kterých chcete spustit příkaz jako správce, ale nechcete, aby příkaz přijímal vstup z aktuálního okna konzoly. Tato možnost konfigurace poskytuje určitou výhodu inline možnosti konfigurace a zároveň zmírní některé související bezpečnostní rizika.

  • Vložená (normal): Konfigurační možnost normal se nejvíce podobá tomu, jak se sudo chová na jiných operačních systémech. Tato konfigurace spustí proces se zvýšenými oprávněními v aktuálním okně a proces bude moct přijímat vstupy z aktuální relace konzoly. To je užitečné ve scénářích, kdy chcete spustit příkaz jako správce a chcete povolit, aby příkaz přijímal vstup z aktuálního okna konzoly. Tato možnost konfigurace poskytuje největší pohodlí, ale tuto možnost byste měli zvolit pouze v případě, že znáte související bezpečnostní rizika.

Tyto konfigurace můžete vybrat z Settings > For Developers nabídky nebo změnit konfiguraci programaticky, v příkazovém řádku se zvýšenými oprávněními (admin konzole), pomocí:

  • sudo config --enable <configuration_option>

Aktualizujte <configuration_option> buď na forceNewWindow, disableInputnebo normal.

Jak používat Sudo pro Windows

Chcete-li použít sudo pro Windows, jednoduše sudo před příkaz, který chcete spustit jako správce. Pokud chcete například spustit netstat -ab jako správce, spusťte sudo netstat -ab ho v okně konzoly.

Běžné scénáře pro vývojáře

Tady je několik běžných scénářů, ve kterých můžou vývojáři používat sudo:

  • Úpravy systémových souborů: sudo notepad C:\Windows\System32\drivers\etc\hosts
  • Globální instalace balíčků: sudo npm install -g package-name
  • Spouštění nástrojů pro správu: sudo diskpart

Poznámka:

Pro vývoj práce zahrnující systémové adresáře, jako je C:\Windows\, zvažte použití vývojových prostředí nebo alternativních přístupů, pokud je to možné. Sudo by se měl používat uvážlivě a pouze tehdy, když jsou zvýšená oprávnění skutečně nezbytná.

Vzhledem k tomu sudo , že zvýší úroveň cílového procesu tak, aby běžel s oprávněním na úrovni správce, otevře se výzva s žádostí o ověření, že chcete pokračovat.

Aspekty zabezpečení

Ke spuštění sudo v konfiguracích vstup uzavřených (disableInput) nebo vložených (normal) jsou spojená rizika. Je možné, že se škodlivé procesy pokusí ovládat proces se zvýšenými oprávněními pomocí připojení vytvořeného neelevovaným procesem sudo.exe a procesem se zvýšenými oprávněními sudo.exe.

Možnost disableInput konfigurace snižuje riziko zavřením vstupního popisovače. Odpojení vstupního popisovače z aktuálního okna konzoly znamená, že neelevatované procesy nemohou odesílat vstup do procesu se zvýšenými oprávněními.

Možnost inline konfigurace spustí proces se zvýšenými oprávněními v aktuálním okně a proces může přijímat vstupy z aktuální relace konzoly. Neelevatovaný proces může odeslat vstup do procesu se zvýšenými oprávněními v rámci stejného okna konzoly nebo získat informace z výstupu v aktuálním okně v této konfiguraci.

časté otázky

Jak se sudo pro Windows liší od existujícího runas příkazu?

Příkaz sudo nabízí způsob, jak rychle zvýšit úroveň příkazu jako správce z aktuálního neelevatovaného kontextu příkazového řádku a je známý některým uživatelům pocházejícím z jiných operačních systémů. Příkaz runas nabízí způsob, jak spouštět programy jako jakýkoli uživatel, včetně správce, pokud tak zvolíte. V tuto chvíli sudo příkaz ve Windows nepodporuje spouštění programů jako ostatní uživatelé. Mezi další klíčové rozdíly mezi sudo a runas patří:

  • runas umožňuje spouštět programy jako ostatní uživatele, mimo jiné jako správce. Tato funkce je v plánu pro příkaz sudo, ale ještě neexistuje.

  • sudo umožňuje rychle zvýšit úroveň procesu (jako správce):

    • Můžete to udělat v novém okně, které se podobá procesu runas správce.
    • Můžete se rozhodnout připojit zvýšený proces k aktuálnímu oknu konzoly pomocí možností konfigurace disableInput a normal. To není podporováno u runas.
  • runas může uživatele vyzvat k zadání hesla v příkazovém řádku.

  • sudo lze zvýšit oprávnění pouze pomocí bezpečnostní funkce Řízení uživatelských účtů (UAC), která je navržena k ochraně operačního systému před neoprávněnými změnami pomocí ověřovací výzvy.

Měli byste zvážit konkrétní případ použití a naplánovat použití příkazu, který nejlépe vyhovuje vašim potřebám. Měli byste také zvážit bezpečnostní důsledky spuštění sudo v režimech disableInput a normal režimech. Výchozí forceNewWindow možnost konfigurace se doporučuje, pokud nejste obeznámeni s riziky souvisejícími s jinými sudo konfiguracemi.

Repozitář Sudo pro Windows s otevřeným zdrojovým kódem

Sudo pro Windows je open source a vítá vaše příspěvky a zpětnou vazbu. Zdrojový kód pro Sudo pro Windows najdete na GitHubu.

Další funkce

Pokud hledáte další funkce, které Sudo pro Windows neposkytuje, podívejte se na gsudo, ve Gerardo Grignoli kterém najdete řadu dalších funkcí a možností konfigurace nebo se podívejte na další řešení z komunity.