Delen via


Sudo voor Windows

Sudo voor Windows is een nieuwe manier voor gebruikers om opdrachten met verhoogde bevoegdheid (als beheerder) rechtstreeks vanuit een niet-geëleveerde consolesessie in Windows uit te voeren.

Lees de aankondiging, waaronder een demovideo en dieper ingaan op de werking van Sudo voor Windows.

Voorwaarden

De opdracht Sudo voor Windows is beschikbaar in Windows 11, versie 24H2 of hoger. (Controleren op Windows-updates).

Notitie

Sudo voor Windows is nog niet beschikbaar voor Windows 10, maar is mogelijk in de toekomst.

Sudo inschakelen voor Windows

Als u Sudo voor Windows wilt inschakelen, opent u Settings > System > For Developers en stelt u Sudo- in op Op.

Sudo- inschakelen

Waarschuwing

Sudo voor Windows kan worden gebruikt als een mogelijke escalatie van privilege vector wanneer deze is ingeschakeld in bepaalde configuraties. Zorg ervoor dat u rekening moet houden met de beveiligingsoverwegingen bij het inschakelen van de sudo-opdracht op uw computer.

Sudo configureren voor Windows

Sudo voor Windows ondersteunt momenteel drie verschillende configuratieopties. De configuratie kan worden ingesteld vanuit het menu Settings > For Developers of programmatisch, met behulp van de opdrachtregel. De configuratieopties zijn onder andere:

  • In een nieuw venster (forceNewWindow): De configuratieoptie forceNewWindow is de standaardconfiguratieoptie voor Sudo voor Windows. Gebruik sudo in deze configuratie om de opdracht in een nieuw venster uit te voeren. Dit is vergelijkbaar met het gedrag van de opdracht runas /user:admin.

  • Invoersluiting (disableInput): De configuratieoptie disableInput voert het verhoogde proces uit in het huidige venster, maar met de invoerhandle gesloten. Dit betekent dat het verhoogde proces geen invoer kan ontvangen van het huidige consolevenster. Dit is handig voor scenario's waarin u een opdracht als beheerder wilt uitvoeren, maar niet wilt toestaan dat de opdracht invoer ontvangt van het huidige consolevenster. Deze configuratieoptie biedt een aantal van het gemak van de inline configuratieoptie, terwijl enkele van de bijbehorende beveiligingsrisico'sworden beperkt.

  • Inline (normal): De configuratieoptie normal lijkt het meest op de werking van sudo op andere besturingssystemen. Met deze configuratie wordt het verhoogde proces in het huidige venster uitgevoerd en kan het proces invoer ontvangen van de huidige consolesessie. Dit is handig voor scenario's waarin u een opdracht als beheerder wilt uitvoeren en wilt toestaan dat de opdracht invoer ontvangt van het huidige consolevenster. Deze configuratieoptie biedt het meeste gemak, maar u moet deze optie alleen kiezen als u bekend bent met de bijbehorende beveiligingsrisico's.

U kunt een van deze configuraties selecteren in het menu Settings > For Developers of de configuratie programmatisch wijzigen in een opdrachtregel met verhoogde bevoegdheid (beheerconsole), met behulp van:

  • sudo config --enable <configuration_option>

Werk <configuration_option> bij naar forceNewWindow, disableInputof normal.

Sudo voor Windows gebruiken

Als u Sudo voor Windows wilt gebruiken, hoeft u alleen sudo toe te passen op de opdracht die u als beheerder wilt uitvoeren. Als u bijvoorbeeld netstat -ab als beheerder wilt uitvoeren, voert u sudo netstat -ab uit in het consolevenster.

Omdat sudo het doelproces naar beheerdersrechten verheft, wordt er een prompt geopend waarin u wordt gevraagd te bevestigen of u wilt doorgaan.

Beveiligingsoverwegingen

Er zijn risico's verbonden aan het uitvoeren van sudo in de Input closed (inputClosed) of Inline (normal) configuraties. Het is mogelijk dat kwaadaardige processen proberen het geëleveerde proces aan te sturen met behulp van de verbinding die is gemaakt door de niet-geëleveerde sudo.exe en het geëleveerde sudo.exe proces.

De inputClosed configuratieoptie beperkt het risico door de invoergreep te sluiten. Als u de invoergreep loskoppelt van het huidige consolevenster, betekent dit dat niet-geëleveerde processen geen invoer naar het verhoogde proces kunnen verzenden.

De inline configuratieoptie voert het verhoogde proces uit in het huidige venster en het proces kan invoer ontvangen van de huidige consolesessie. Een niet-geëleveerd proces kan invoer verzenden naar het verhoogde proces binnen dezelfde consolevensters of informatie ophalen uit de uitvoer in de huidige vensters in deze configuratie.

FAQ

Hoe verschilt Sudo voor Windows van de bestaande runas opdracht?

De opdracht sudo biedt een manier om een opdracht snel uit te breiden als beheerder vanuit uw huidige niet-geëleveerde opdrachtregelcontext en is bekend met sommige gebruikers die afkomstig zijn van andere besturingssystemen. De opdracht runas biedt een manier om programma's uit te voeren als elke gebruiker, inclusief beheerder als u dit kiest. Op dit moment biedt de sudo-opdracht in Windows geen mogelijkheid voor het uitvoeren van programma's als andere gebruikers. Andere belangrijke verschillen tussen sudo en runas zijn:

  • runas stelt u in staat om programma's uit te voeren als andere gebruikers, waaronder, maar niet beperkt tot als beheerder. Deze functionaliteit staat op de roadmap voor de sudo-opdracht, maar bestaat nog niet.

  • sudo stelt u in staat om snel een proces te verhogen als beheerder:

    • U kunt dit doen in een nieuw venster, dat lijkt op de runas beheerdersstroom.
    • U kunt ervoor kiezen om het verhoogde proces aan te sluiten op het huidige consolevenster door middel van de configuratieopties disableInput en normal. Dit wordt niet ondersteund met runas.
  • runas kan gebruikers om een wachtwoord vragen in de opdrachtregel.

  • sudo kan alleen worden verhoogd via de UAC-beveiligingsfunctie (User Account Control) die is ontworpen om het besturingssysteem te beschermen tegen onbevoegde wijzigingen met behulp van verificatieprompt.

U moet rekening houden met uw specifieke use-case en de opdracht gebruiken die het beste aan uw behoeften voldoet. U moet ook rekening houden met de gevolgen voor de beveiliging van het uitvoeren van sudo in de modi inputClosed en normal. De standaardoptie forceNewWindow configuratie wordt aanbevolen, tenzij u bekend bent en vertrouwd bent met de risico's van de andere sudo configuraties.

Sudo voor Open Source-opslagplaats voor Windows

Sudo voor Windows is open source en verwelkomt uw bijdragen en feedback. U vindt de broncode voor Sudo voor Windows op GitHub-.

Aanvullende functionaliteit

Als u op zoek bent naar extra functionaliteit die Sudo voor Windows niet biedt, bekijkt u gsudo door Gerardo Grignoli met een aantal extra functies en configuratieopties of bekijkt u andere oplossingen uit de community.