Vous n'avez pas encore de notification

Page d'accueil

Options d'affichage

Abonné

Actualités

Abonné

Des thèmes sont disponibles :

Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !

Sudo sous Windows : comment devenir simplement administrateur en ligne de commandes

En attendant qu'elle soit portée comme ssh et curl
Sudo sous Windows : comment devenir simplement administrateur en ligne de commandes
Crédits : DeanDrobot/iStock

Certaines commandes pratiques sous Linux n'ont pas d'équivalents aussi simples sous Windows. Sudo est un bon exemple même si des alternatives existent, permettant de se faciliter la vie. 

Dans les systèmes d'exploitation modernes, plusieurs comptes peuvent être utilisés, chacun avec des droits propres. Ainsi, il peut y avoir des utilisateurs simples, d'autres qui ont accès à certains dossiers/fichiers, parfois en lecture et/ou en écriture, peuvent utiliser ou non telle application, etc. Puis il y a l'administrateur, ou root dans les systèmes UNIX.

Il a en général accès à tout et peut tout faire, notamment installer de nouvelles applications, mettre à jour le système, accéder aux données de configuration, etc. Selon les OS, l'accès à ce compte est géré différemment.

Administrateur sous Linux/Windows : ce n'est pas toujours si différent

Sous Windows par exemple, l'utilisateur principal est en général l'administrateur. Il peut ainsi décider de lancer des applications de manière classique ou avec les droits administrateur, via un clic droit sur l'icône de l'application.

Dans de nombreuses distributions Linux, on trouve une mécanique similaire. Il est ainsi possible de ne pas avoir de compte root actif au profit d'utilisateurs classiques pouvant endosser ce rôle de manière temporaire. Ce qui permet d'éviter une connexion constante à un compte ayant tous les droits, avec les risques que cela comporte.

Dans la pratique, cela passe par l'exécution de la commande sudo (Substitute User Do). Par exemple sous Debian, on peut effectuer la recherche d'un paquet comme un utilisateur classique, mais l'installer avec les droits administrateur :

apt search vlc
sudo apt install vlc

Sous Windows, il n'y a pas d'équivalent si direct en ligne de commandes. Des alternatives doivent donc être utilisées.

Sudo sous Windows : comment faire ?

Car les droits administrateurs ne sont pas toujours nécessaires. On a donc plutôt tendance à utiliser l'invite de commandes de manière classique. Lorsqu'ils le deviennent, on doit lancer une nouvelle fenêtre avec un clic droit pour les activer, un clic de confirmation étant nécessaire (pour l'UAC). Une démarche fastidieuse.

On peut alors opter pour une commande permettant elle aussi d'effectuer une action avec un autre compte, comme celui d'un administrateur. Elle a l'avantage de fonctionner depuis n'importe quel compte du système, mais la syntaxe est un peu longue à retenir. On pourra alors passer par un alias pour se simplifier la vie.

runas /noprofile /user:Utilisateur_Administrateur "commande_à_exécuter"

Avec le temps, certains ont travaillé à de petites applications complémentaires comme Elevate ou des adaptations de sudo pour Windows qui ne sont plus toujours maintenues (voir ici ou ). D'autres ont planché sur une solution multiplateforme comme exec-root de Syed Jafri, qui s'installe comme un module NPM ou Yarn à intégrer à vos applications. 

Une solution pratique est le paquet de Jan Hebnes qui est assez complet et s'installe facilement via Chocolatey. On peut en effet l'utiliser sous différentes formes, que ce soit pour lancer une commande non pas en se substituant à un autre compte, mais en endossant les droits administrateur :

sudo commande

Le faire en restant dans le dossier courant, avec ou sans la fenêtre de contexte :

sudo . commande
sudo _ commande

Lancer un invite de commandes avec les droits administrateur :

sudo .
34 commentaires
Avatar de Northernlights Abonné
Avatar de NorthernlightsNorthernlights- 07/05/19 à 15:21:17

Ca fait un peu solution en plâtre ouvragé et ciselé sur jambe de bois.

Avatar de David_L Équipe
Avatar de David_LDavid_L- 07/05/19 à 15:23:22

Bah comme dit, il y a plusieurs méthode : la commande Windows, l'alias ou le module complémentaire. A chacun de voir ce qu'il préfère ;) 

Avatar de eglyn Abonné
Avatar de eglyneglyn- 07/05/19 à 17:32:50

La commande Windows est juste horrible :)

Sinon, j'aime bien tous ces petits dossiers astuces Windows / Linux, est-ce qu'il y a un moyen simple de filtrer les news pour ne voir que ces dossiers  ? Genre une catégorie tuto ?
Je vois dans l'image un tag "tuto", j'ai eu envie de cliquer dessus :)

Avatar de SebGF Abonné
Avatar de SebGFSebGF- 07/05/19 à 18:31:38

C'est dit de manière très implicite, mais sudo ou runas ont aussi comme grand intérêt d'exécuter des actions avec un autre profil utilisateur, pas que root/admin.

Sudo permet ainsi d'exécuter une action au nom d'un utilisateur qui a l'instruction nologin et donc inutilisable en direct.
Exemple : www-data qui est créé avec Apache par défaut sur Debian et qui n'autorise pas la connexion. (et la blinde d'autres comptes de services verrouillés)

Un détail intéressant pour runas aussi, issu de vieux souvenirs mais qui je pense sont toujours d'actu, c'est que ça peut aussi permettre de jouer entre comptes de domaines et comptes locaux sur un Windows.
Avec l'instruction /user:\jeanmichel ou /user:localhost\jeanmichel

Je ne sais pas si vous avez prévu de parler plus en détail du sudoers, mais ça permet aussi de faire des trucs bien puissants et fins pour des gestes d'administration encadrés.

Édité par SebGF le 07/05/2019 à 18:31
Avatar de eglyn Abonné
Avatar de eglyneglyn- 07/05/19 à 19:53:44

merci !

Avatar de carbier INpactien
Avatar de carbiercarbier- 07/05/19 à 21:31:46

Ce qui permet d'éviter une connexion constante à un compte ayant tous les droits, avec les risques que cela comporte

Je ne comprends pas la remarque.
Si on crée un compte admin sous Windows ce n'est pas pour l'utiliser en permanence.
D'ailleurs la plupart du temps on peut installer les logiciels directement à partir d'un compte non admin avec un clic droit et "exécuter en tant que", voire on peut lancer une invite de commandes en tant qu'administrateur.

Ou alors je n'ai pas compris la problématique.

Avatar de Notice me Sempai Abonné
Avatar de Notice me SempaiNotice me Sempai- 07/05/19 à 22:33:58

Je suppose que le but est faire tout cela en ligne de commande sans lancer une invite de commande en tant qu'administrateur.

Avatar de David_L Équipe
Avatar de David_LDavid_L- 08/05/19 à 04:22:33

carbier a écrit :

Je ne comprends pas la remarque.
Si on crée un compte admin sous Windows ce n'est pas pour l'utiliser en permanence.
D'ailleurs la plupart du temps on peut installer les logiciels directement à partir d'un compte non admin avec un clic droit et "exécuter en tant que", voire on peut lancer une invite de commandes en tant qu'administrateur.

Ou alors je n'ai pas compris la problématique.

Dans le passage j'évoque le cas de sudo avec un compte root non actif, ce qui permet d'éviter d'avoir un utilisateur qui se connecte à la machine en root et l'utilise tel que en permanence.

Il y a tout de même une différence d'importance sous Windows en cas d'utilisateur unique (souvent le cas pour un usage grand public) : il est administrateur, et lorsqu'il est connecté l'UAC ne lui demandera qu'un clic pour confirmer son statut plutôt qu'un mot de passe régulièrement à la sudo. 

Notice me Sempai a écrit :

Je suppose que le but est faire tout cela en ligne de commande sans lancer une invite de commande en tant qu'administrateur.

Sans qu'elle soit forcément lancée au départ oui. Comme dit dans l'article, souvent on se retrouve à lancer un invite de commande classique vu que plus n'est pas nécessaire.

Si on veut un accès administrateur il faut relancer un invite avec ces droits ce qui demande une manip à la souris (trouver la fenêtre, clic droit, lancer un invit en mode administrateur, UAC, fenêtre à part). Là on peut le faire avec un sudo . ou en lançant directement la commande via sudo commande. 

Avatar de SebGF Abonné
Avatar de SebGFSebGF- 08/05/19 à 07:43:41

Beaucoup ont encore le sale réflexe de "sudo su - " et YOLO.
C'est un peu comme ceux qui font direct chmod 777 au moindre problème de droit, une vermine à exterminer. :kill:

Il n'est plus possible de commenter cette actualité.
Page 1 / 4