Freigeben über


Sudo für Windows

Sudo für Windows ist eine neue Möglichkeit für Benutzer, Befehle mit erhöhten Rechten (als Administrator) direkt aus einer nicht relevanten Konsolensitzung unter Windows auszuführen.

Lesen Sie die Ankündigung, die ein Demovideo enthält, und erfahren Sie mehr über die Funktionsweise von Sudo für Windows.

Voraussetzungen

Der Befehl Sudo für Windows ist in Windows 11, Version 24H2 oder höher, verfügbar. (Nach Windows-Updates prüfen).

Hinweis

Sudo für Windows ist noch nicht für Windows 10 verfügbar, wird aber möglicherweise in Zukunft verfügbar sein.

So aktivieren Sie Sudo für Windows

Um Sudo für Windows zu aktivieren, öffnen Sie Settings > For Developers und setzen Sie Sudo aktivieren auf An.

Aktivieren von Sudo

Warnung

Sudo für Windows kann als potenzielle Eskalation des Berechtigungsvektors verwendet werden, wenn er in bestimmten Konfigurationen aktiviert ist. Sie sollten sich die Sicherheitsüberlegungen beim Aktivieren des Sudo-Befehls auf Ihrem Computer bewusst sein.

So konfigurieren Sie Sudo für Windows

Sudo für Windows unterstützt derzeit drei verschiedene Konfigurationsoptionen. Die Konfiguration kann über das Settings > For Developers Menü oder programmgesteuert mithilfe der Befehlszeile festgelegt werden. Die Konfigurationsoptionen umfassen:

  • In einem neuen Fenster (forceNewWindow): Die forceNewWindow Konfigurationsoption ist die Standardkonfigurationsoption für Sudo für Windows. Verwenden Sie diese sudoOption, um den Befehl in einem neuen Fenster auszuführen. Dies ähnelt dem Verhalten des runas /user:admin Befehls.

  • Eingabe geschlossen (disableInput): Die disableInput Konfigurationsoption führt den Prozess mit erhöhten Rechten im aktuellen Fenster aus, jedoch mit geschlossener Eingabehandle. Dies bedeutet, dass der erhöhte Prozess keine Eingaben vom aktuellen Konsolenfenster empfangen kann. Dies ist nützlich für Szenarien, in denen Sie einen Befehl als Administrator ausführen möchten, aber nicht zulassen möchten, dass der Befehl Eingaben aus dem aktuellen Konsolenfenster empfängt. Diese Konfigurationsoption bietet einige der Vorteile der Konfigurationsoptioninline und mindert gleichzeitig einige der damit verbundenen Sicherheitsrisiken.

  • Inline (normal): Die normal Konfigurationsoption ähnelt am ehesten dem Verhalten von sudo auf anderen Betriebssystemen. Diese Konfiguration führt den erhöhten Prozess im aktuellen Fenster aus und der Prozess kann Eingaben von der aktuellen Konsolensitzung empfangen. Dies ist nützlich für Szenarien, in denen Sie einen Befehl als Administrator ausführen möchten und dem Befehl erlauben möchten, Eingaben vom aktuellen Konsolenfenster zu empfangen. Diese Konfigurationsoption bietet den größten Komfort, Sie sollten diese Option jedoch nur auswählen, wenn Sie mit den damit verbundenen Sicherheitsrisiken vertraut sind.

Sie können zwischen diesen Konfigurationen aus dem Settings > For Developers Menü auswählen oder die Konfiguration programmgesteuert in einer Befehlszeile mit erhöhten Rechten (Administratorkonsole) ändern, indem Sie Folgendes verwenden:

  • sudo config --enable <configuration_option>

Aktualisieren Sie <configuration_option>entweder auf forceNewWindow, disableInputoder normal.

So verwenden Sie Sudo für Windows

Um Sudo für Windows zu verwenden, stellen Sie einfach sudo dem Befehl voran, den Sie als Administrator ausführen möchten. Um beispielsweise netstat -ab als Administrator auszuführen, würden Sie sudo netstat -ab in Ihrem Konsolenfenster ausführen.

Da sudo der gezielte Prozess zur Ausführung mit Administratorberechtigungen erhöht wird, wird eine Eingabeaufforderung geöffnet, in der Sie aufgefordert werden, zu überprüfen, ob Sie den Vorgang fortsetzen möchten.

Sicherheitshinweise

Mit der Ausführung von sudo in den Konfigurationen Eingabe geschlossen (inputClosed) oder Inline (normal) sind Risiken verbunden. Es ist möglich, dass böswillige Prozesse versuchen, den Prozess mit erhöhten Rechten anzusteuern, indem sie die Verbindung nutzen, die durch den nicht erhöhten Prozess sudo.exe und den Prozess sudo.exe mit erhöhten Rechten hergestellt wird.

Die inputClosed Konfigurationsoption verringert das Risiko, indem das Eingabehandle geschlossen wird. Das Trennen des Eingabehandles vom aktuellen Konsolenfenster bedeutet, dass nicht erhöhte Prozesse keine Eingaben an den erhöhten Prozess senden können.

Die inline Konfigurationsoption führt den Prozess mit erhöhten Rechten im aktuellen Fenster aus, und der Prozess kann Eingaben aus der aktuellen Konsolensitzung empfangen. Ein nicht relevanter Prozess kann Eingaben an den Prozess mit erhöhten Rechten innerhalb derselben Konsolenfenster senden oder Informationen aus der Ausgabe in den aktuellen Fenstern abrufen.

Häufig gestellte Fragen

Wie unterscheidet sich Sudo für Windows vom vorhandenen runas Befehl?

Der sudo Befehl bietet eine Möglichkeit, aus Ihrem aktuellen, nicht erhöhten Befehlszeilenkontext schnell einen Befehl als Administrator heraufzustufen, und ist einigen Benutzern anderer Betriebssysteme bekannt. Der runas Befehl bietet eine Möglichkeit zum Ausführen von Programmen als beliebiger Benutzer, einschließlich Administrator, wenn Sie dies auswählen. Zu diesem Zeitpunkt unterstützt der sudo Befehl unter Windows die Ausführung von Programmen als andere Benutzer nicht. Weitere wichtige Unterschiede zwischen sudo und runas sind:

  • Mit runas können Sie Programme als andere Benutzer ausführen, einschließlich, aber nicht beschränkt auf, als Administrator. Diese Funktionalität befindet sich auf der Roadmap für den sudo-Befehl, ist aber noch nicht vorhanden.

  • sudo ermöglicht es Ihnen, einen Prozess schnell zu erhöhen (als Administrator):

    • Sie können dies in einem neuen Fenster auswählen, das dem runas Administratorflow ähnelt.
    • Sie können den erhöhten Prozess mit den Konfigurationsoptionen disableInput und normal mit dem aktuellen Konsolenfenster verbinden. Dies wird nicht unterstützt mit runas.
  • runas kann Benutzer zur Eingabe eines Kennworts in der Befehlszeile auffordern.

  • sudo kann nur über die Sicherheitsfunktion der Benutzerkontensteuerung (UAC) erhöht werden, die das Betriebssystem mithilfe einer Bestätigungsaufforderung vor unbefugten Änderungen schützen soll.

Sie sollten ihren speziellen Anwendungsfall berücksichtigen und planen, den Befehl zu verwenden, der Ihren Anforderungen am besten entspricht. Sie sollten auch die Sicherheitsauswirkungen der Ausführung von sudo in den inputClosed und normal Modi berücksichtigen. Die Standardkonfigurationsoption forceNewWindow wird empfohlen, es sei denn, Sie sind mit den mit den anderen sudo Konfigurationen verbundenen Risiken vertraut.

Sudo für Windows Open Source Repository

Sudo für Windows ist Open Source und begrüßt Ihre Beiträge und Ihr Feedback. Den Quellcode für Sudo für Windows finden Sie auf GitHub.

Zusätzliche Funktionen

Wenn Sie nach zusätzlichen Funktionen suchen, die Sudo für Windows nicht bietet, schauen Sie sich gsudo von Gerardo Grignoli an, das eine Reihe zusätzlicher Funktionen und Konfigurationsoptionen bietet, oder schauen Sie sich andere Lösungen aus der Community an.