- In Windows 11 Insider Preview Build 26052 wurde die Einführung von Sudo für Windows angekündigt
- Sudo für Windows ist eine neue Möglichkeit, mit der Nutzer direkt erhöhte Befehle aus einer nicht privilegierten Konsolensitzung ausführen können
- Man muss nun nicht mehr nach "Als Administrator ausführen" suchen
- Als Open Source auf GitHub veröffentlicht
- Falls zusätzliche Funktionen benötigt werden, die Sudo für Windows nicht bietet, wird empfohlen, sich gsudo von Gerardo Grignoli anzusehen
So aktiviert man Sudo für Windows
- Sudo für Windows kann aktiviert werden, indem man auf der Windows-Einstellungsseite „Für Entwickler“ die Option „Sudo aktivieren“ einschaltet
- Alternativ kann es durch Ausführen des folgenden Befehls in einer erhöhten Konsolensitzung aktiviert werden:
sudo config --enable
So konfiguriert man Sudo für Windows
- Sudo für Windows unterstützt derzeit drei Konfigurationsoptionen: In neuem Fenster ausführen (
forceNewWindow), Eingabe deaktivieren (disableInput), Inline ausführen (normal)
- Um die Konfigurationsoption zu ändern, kann man entweder das Dropdown-Menü auf der Windows-Einstellungsseite „Für Entwickler“ verwenden oder einen Befehl in einer erhöhten Konsolensitzung ausführen.
Konfigurationsoption 1: In neuem Fenster
- In dieser Konfiguration öffnet Sudo für Windows ein neues erhöhtes Konsolenfenster und führt den Befehl dort aus.
- Wenn man zum Beispiel
sudo netstat -ab ausführt, wird ein neues Fenster geöffnet und der Befehl dort ausgeführt.
Konfigurationsoption 2: Eingabe deaktivieren
- In dieser Konfiguration führt Sudo für Windows den erhöhten Prozess im aktuellen Fenster aus, aber der neue Prozess wird mit geschlossenem stdin erzeugt.
- Das bedeutet, dass der neue Prozess keine Benutzereingaben akzeptiert und daher nicht für Prozesse funktioniert, die nach der Rechteerhöhung weitere Eingaben benötigen.
Konfigurationsoption 3: Inline
- Diese Konfiguration verhält sich am ähnlichsten zu
sudo auf anderen Betriebssystemen.
- Sudo für Windows führt einen erhöhten Prozess aus, der mit dem aktuellen Fenster verbundenes stdin, stdout und stderr besitzt.
- Das bedeutet, dass der neue erhöhte Prozess Eingaben empfangen und Ausgaben an das aktuelle Fenster senden kann.
Funktionsweise
- Wenn man
sudo in der Befehlszeile verwendet, um die Rechte eines Prozesses zu erhöhen, erscheint ein UAC-Dialog, in dem der Nutzer die Rechteerhöhung bestätigen muss.
- Bestätigt der Nutzer die Rechteerhöhung, wird der Prozess entsprechend der gewählten Konfigurationsoption erhöht ausgeführt.
- Um die optionalen Parameter des Befehls
sudo zu prüfen, führt man in der Konsole sudo -h aus.
In neuem Fenster
- In dieser Konfiguration öffnet
sudo.exe ein neues erhöhtes Konsolenfenster und führt den Befehl dort aus.
- Das neue Fenster startet mit demselben Arbeitsverzeichnis und denselben Umgebungsvariablen wie das aktuelle Fenster.
- Diese Konfiguration hat einen Ablauf ähnlich dem Befehl
runas.
Eingabe deaktivieren und Inline
- In dieser Konfiguration startet
sudo.exe einen neuen erhöhten Prozess und außerdem einen erhöhten sudo.exe-Prozess; das ursprüngliche nicht privilegierte sudo.exe richtet dann eine RPC-Verbindung zum neuen erhöhten Prozess ein.
- Anders gesagt werden Informationen von der nicht privilegierten sudo-Instanz an die erhöhte Instanz weitergegeben.
- Insbesondere werden die Konsolen-Handles des nicht privilegierten Prozesses an den erhöhten Prozess weitergereicht, sodass der erhöhte Prozess Eingaben vom nicht privilegierten Prozess lesen und Ausgaben an ihn schreiben kann.
- In der Konfiguration „Eingabe deaktivieren“ wird jedoch das Eingabe-Handle der Konsole nicht an den erhöhten Prozess weitergegeben, sodass er keine Eingaben vom Nutzer lesen kann.
Nächste Schritte
- Das Team arbeitet derzeit daran, Sudo für Windows als Open Source bereitzustellen, und will in den kommenden Monaten weitere Details zu den Plänen teilen.
- Es wird darum gebeten, Feedback direkt im GitHub-Repository zu teilen.
Meinung von GN⁺:
- Die Einführung von Sudo für Windows ist ein wichtiger Fortschritt, der Windows-Nutzern eine Linux-ähnliche Erfahrung bei der Rechteverwaltung bietet.
- Das Tool hilft Entwicklern, effizienter zu arbeiten, und kann durch die Open-Source-Veröffentlichung Beiträge aus der Community erhalten.
- Aus Sicherheitsgründen ist bei der Nutzung der Konfiguration „Inline“ Vorsicht geboten; interessant ist auch, dass künftig durch weitere Dokumentation mehr Informationen zu diesen Sicherheitsaspekten bereitgestellt werden sollen.
1 Kommentare
Hacker-News-Kommentare
sudowird in Windows eingeführt. Es handelt sich nicht um eine einfache Portierung von Linux-sudo, sondern um eine neue Implementierung, die die Unterschiede in den Berechtigungsstrukturen zwischen Betriebssystemen berücksichtigt. Ziel ist es, Nutzern die Erfahrung zu bieten, Befehle im selben Terminalfenster mit Administratorrechten auszuführen.curlundwgetdurch völlig andere Befehle ersetzt hat. Das könnte problematisch sein, da die Argumente nicht kompatibel sind.elevatevon Nirsoft hat gut funktioniert, aber eine stärker ins System integrierte Funktion wäre besser.sudofast nur von einer einzigen Person gepflegt wird.sudozu schreiben, ohne Linux-/Unix-artige Betriebssysteme zu erwähnen.sudo.ps1auspsutilsüberscoopinstalliert und nutze es. Es gibt zwar einen UAC-Prompt, aber für interaktive Arbeit ist es gut geeignet.sudo-Implementierung zu einem sehr komplexen Befehl wird.sudowurde zwar als neue Funktion in Windows eingeführt, wirkt derzeit aber sicherheitstechnisch anfällig. Vermutlich wird es sich mit der Zeit verbessern.