Comanda sudo de pe sistemele Linux este indispensabilă pentru administrarea și executarea programelor cu permisiuni elevate, însă pe Windows singura alternativă era ”Run as administrator”1, din meniul click dreapta:
Noua comandă sudo
este disponibilă începând cu Windows 11 build 26045 sau mai recent, fiind necesară activarea ei din meniul de Settings > Developer Features.
Aceasta nu este un port al comenzii omonime din linux, și nici o versiune emulată, deoarece modul de funcționare a permisiunilor între cele două sisteme este fundamental diferit. Așadar sunt două utilitare cu opțiuni diferite. De asemenea, noul sudo nu este un înlocuitor pentru runas, care permite rularea sub orice user, inclusiv unul cu drepturi de administrare. Utilitatul sudo este limitat la comanda/procesul pe care îl primește ca argument și rulează doar cu drepturi de administrator.
Sintaxa, este asemnănătoare cu cea din linux sudo [comandă]
:
sudo netstat -ab
Putem configurara cum va rula sudo o comandă:
Într-o fereastră nouă (
forceNewWindow
): va rula aplicația într-o fereastră de terminal nouă, imitând comportamentul comenziirunas /user:admin
Input closed (
disableInput
): va rula comanda cu permisiuni elevate în terminal, dar fără input. Altfel spus procesul lansat cu sudo nu are access la input-ul din terminal și nu vei putea interacționa cu el. Acest mod oferă posibilitatea de a mitiga unele riscuri de securitate2.Inline (
normal
): similar cu comportamentul sudo de pe alte platforme, va rula comanda cu permisiuni elevate, oferind totodată access la stdin/stdout din terminal.
Aceste moduri pot fi rotite cu opțiunea configEnable:
sudo config --enable <forceNewWindow|disableInput|normal>
Gsudo
Gsudo este un proiect open-source similar, care emullează sudo pentru Windows. Poate fi instalat cu scoop sau winget și dispune de mai multe opțiuni decât varianta oficială: gerardog/gsudo. Așadar dacă doriți opțiuni de selecție a unui utilizator, Local System accounts sau montarea de network drives folosiți gsudo
.