Sudo pour Windows
Sudo pour Windows est une nouvelle façon pour les utilisateurs d’exécuter des commandes avec élévation de privilèges (en tant qu’administrateur) directement à partir d’une session de console sans élévation de privilèges sur Windows.
Lisez l’annonce, qui comprend une vidéo de démonstration et une présentation approfondie du fonctionnement de Sudo pour Windows.
Prérequis
Vous devez exécuter Windows 11 Insider Preview Build 26052 ou une version ultérieure pour utiliser la commande Sudo pour Windows. (Rechercher des mises à jour de Windows). Rejoindre le programme Windows Insider.
Remarque
Sudo pour Windows n’est pas encore disponible pour Windows 10, mais pourrait l’être prochainement.
Comment activer Sudo pour Windows
Pour activer Sudo pour Windows, ouvrez Settings > For Developers
et définissez Activer sudo sur Activé.
Avertissement
Lorsqu’il est activé dans certaines configurations, Sudo pour Windows peut être utilisé comme vecteur d’escalade des privilèges potentiel. Vous devez vous assurer de connaître les considérations relatives à la sécurité avant d’activer de la commande sudo sur votre ordinateur.
Comment configurer Sudo pour Windows
Sudo pour Windows prend actuellement en charge trois options de configuration. La configuration peut être définie à partir du menu Settings > For Developers
ou par programmation à l’aide de la ligne de commande. Les options de configuration comprennent ce qui suit :
Dans une nouvelle fenêtre (
forceNewWindow
) : l’option de configurationforceNewWindow
est celle par défaut de Sudo pour Windows. Utilisezsudo
dans cette configuration pour exécuter la commande dans une nouvelle fenêtre. Son comportement est similaire à celui de la commanderunas /user:admin
.Entrée fermée (
disableInput
) : l’option de configurationdisableInput
exécute le processus avec élévation de privilèges dans la fenêtre active, mais avec le descripteur d’entrée fermé. Cela implique que le processus avec élévation de privilèges ne pourra pas recevoir d’entrée à partir de la fenêtre de console actuelle. Cela peut s’avérer utile lorsque vous souhaitez exécuter une commande en tant qu’administrateur, mais que vous ne souhaitez pas permettre à la commande de recevoir une entrée depuis la fenêtre de console actuelle. Cette option de configuration présente certains avantages de l’option de configurationinline
tout en atténuant certains des risques de sécurité qui y sont associés..Inline (
normal
) : l’option de configurationnormal
est celle qui ressemble le plus au comportement de sudo sur d’autres systèmes d’exploitation. Elle exécute le processus avec élévation de privilèges dans la fenêtre active et ce dernier peut recevoir une entrée depuis la session de console active. Cela peut s’avérer utile lorsque vous souhaitez exécuter une commande en tant qu’administrateur et que vous souhaitez permettre à la commande de recevoir une entrée depuis la fenêtre de console actuelle. Cette option de configuration est la plus pratique mais vous devez uniquement la choisir si vous connaissez les risques de sécurité qui y sont associés.
Vous pouvez sélectionner l’une de ces configurations dans le menu Settings > For Developers
ou modifier la configuration par programmation, dans une ligne de commande avec élévation de privilèges (console d’administration), à l’aide de :
sudo config --enable <configuration_option>
Mettre à jour <configuration_option>
vers forceNewWindow
, disableInput
ou normal
.
Comment utiliser Sudo pour Windows
Pour utiliser Sudo pour Windows, il vous suffit d’ajouter sudo
à la commande que vous souhaitez exécuter en tant qu’administrateur. Par exemple, pour exécuter netstat -ab
en tant qu’administrateur, vous devez exécuter sudo netstat -ab
dans votre fenêtre de console.
Étant donné que sudo
élève le processus ciblé pour qu’il s’exécute avec des autorisations de niveau administrateur, une invite s’ouvre pour vous demander de vérifier que vous voulez continuer.
Security Considerations
Il existe des risques associés à l’exécution de sudo dans les configuration Entrée fermée (inputClosed
) ou Inline (normal
). Des processus malveillants peuvent tenter de piloter le processus avec élévation de privilèges au moyen de la connexion établie par le processus sudo.exe sans élévation de privilèges et le processus sudo.exe avec élévation de privilèges.
L’option de configuration inputClosed
atténue les risques en fermant le descripteur d’entrée. La déconnexion du descripteur d’entrée depuis la fenêtre de console actuelle implique que les processus sans élévation de privilèges ne peuvent pas envoyer d’entrée au processus avec élévation de privilèges.
L’option de configuration inline
exécute le processus avec élévation de privilèges dans la fenêtre actuelle et ce dernier est en mesure de recevoir une entrée depuis la session de console active. Un processus sans élévation de privilèges peut envoyer une entrée au processus avec élévation de privilèges dans les mêmes fenêtres de console ou obtenir des informations à partir de la sortie dans les fenêtres actuelles de cette configuration.
Forum aux questions
En quoi Sudo pour Windows est-il différent de la commande runas
existante ?
La commande sudo
permet d’élever rapidement une commande au rang d’administrateur à partir d’un contexte de ligne de commande sans élévation de privilèges. De plus, certains utilisateurs utilisant d’autres systèmes d’exploitation la connaissent déjà. La commande runas
permet d’exécuter des programmes en tant qu’utilisateur, y compris en tant qu’administrateur si vous le souhaitez. À ce stade, la commande sudo
sur Windows ne prend pas en charge l’exécution de programmes au nom d’autres utilisateurs. Les autres différences clés entre sudo
et runas
sont notamment les suivantes :
runas
vous permet d’exécuter des programmes au nom d’autres utilisateurs, y compris mais pas uniquement en tant qu’administrateur. Cette fonctionnalité figure sur la feuille de route de la commande sudo, mais n’existe pas encore.sudo
vous permet d’élever rapidement un processus (en tant qu’administrateur) :- Vous pouvez choisir de le faire dans une nouvelle fenêtre, qui ressemble au flux d’administrateur
runas
. - Vous pouvez décider de connecter le processus avec élévation de privilèges à la fenêtre de console actuelle avec les options de configuration
disableInput
etnormal
. Cette opération n’est pas prise en charge avecrunas
.
- Vous pouvez choisir de le faire dans une nouvelle fenêtre, qui ressemble au flux d’administrateur
runas
peut inviter les utilisateurs à saisir un mot de passe dans la ligne de commande.sudo
peut uniquement être élevé via la fonction de sécurité Contrôle de compte d’utilisateur (UAC) conçue pour protéger le système d’exploitation contre les modifications non autorisées à l’aide d’une invite de vérification.
Vous devez prendre en compte votre cas d’utilisation particulier et planifier l’utilisation de la commande qui répond le mieux à vos besoins. Vous devez également tenir compte des implications en termes de sécurité de l’exécution de sudo dans les modes inputClosed
et normal
. L’option de configuration forceNewWindow
par défaut est recommandée à moins que vous ne soyez familier et à l’aise avec les risques associés aux autres configurations sudo
.
Référentiel open source Sudo pour Windows
Sudo for Windows est un logiciel open source qui accepte vos contributions et vos commentaires. Vous trouverez le code source pour Sudo pour Windows sur GitHub.
Fonctionnalité supplémentaire
Si vous recherchez des fonctionnalités supplémentaires que Sudo pour Windows ne fournit pas, consultez le gsudo de Gerardo Grignoli, qui offre un certain nombre de fonctionnalités et d’options de configuration supplémentaires ou consultez d’autres solutions proposées par la communauté.
Windows developer