Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | Prochaine révision Les deux révisions suivantes | ||
doc:systeme:sudo [06/11/2017 10:37] smolski [Utilisation de SUDO] |
doc:systeme:sudo [06/11/2017 11:03] smolski [Introduction] |
||
---|---|---|---|
Ligne 33: | Ligne 33: | ||
Voilà un logiciel permettant de lancer **[[doc:systeme:superutilisateur | des commandes root]]** en maintenant un terminal **user** ouvert. | Voilà un logiciel permettant de lancer **[[doc:systeme:superutilisateur | des commandes root]]** en maintenant un terminal **user** ouvert. | ||
+ | ==== Utilisation de sudo ==== | ||
+ | |||
+ | <note tip>Sudo lui-même prend comme argument **une commande et ses paramètres**, pas une expression du shell.</note> | ||
+ | Quand on utilise sudo, il est important de bien comprendre comment fonctionnent le [[doc:programmation:shell:shell|shell]] et [[doc:programmation:shell:regexp|ses opérateurs de redirection et de condition]]. \\ | ||
+ | Pour le shell, la commande passée à sudo (et **elle seule**, //pas les opérateurs//) est vue comme un argument du programme sudo. | ||
+ | |||
+ | Pour exécuter une expression du shell avec sudo, il faut spécifier un shell comme commande et l'expression comme paramètre de celle-ci. | ||
+ | |||
+ | === Exemples : === | ||
+ | |||
+ | <code user>sudo commande > fichier</code> | ||
+ | est interprété en distinguant les arguments (ici la commande de son applisation) comme : | ||
+ | <code user>(sudo commande) > fichier</code> | ||
+ | et **NON** comme les deux ensembles composés de : | ||
+ | <code user>sudo (commande > fichier)</code> | ||
+ | <note important>c'est donc le shell de l'utilisateur courant qui écrit dans fichier, et non pas root.</note> | ||
+ | |||
+ | Dans la même veine : | ||
+ | <code user>sudo commande1 && commande2</code> | ||
+ | est interprété comme : | ||
+ | <code user>(sudo commande1) && commande2</code> | ||
+ | et non comme : | ||
+ | <code user>sudo (commande1 && commande2)</code> | ||
+ | <note>Dans les exemples ci-dessus les parenthèses servent à visualiser la priorité d'exécution. Les expressions résultantes ne sont donc pas forcément valides. LOL</note> | ||
+ | |||
+ | ==== Remerciements et liens : ==== | ||
+ | |||
+ | Merci à **Walker29** et **raleur** pour avoir initié ces précisions sur le forum là : | ||
+ | * https://debian-facile.org/viewtopic.php?pid=242982#p242982 | ||
+ | |||
+ | //Qu'une pluie de choco df leur soit à tous deux prescrit... \\ | ||
+ | Quand ce sera possible bien sûr !// ;-) | ||
===== Installation ===== | ===== Installation ===== | ||