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 11:03] smolski [Introduction] |
doc:systeme:sudo [02/08/2018 08:05] smolski [Introduction] Modification de texte des exemples sudo |
||
---|---|---|---|
Ligne 37: | Ligne 37: | ||
<note tip>Sudo lui-même prend comme argument **une commande et ses paramètres**, pas une expression du shell.</note> | <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]]. \\ | 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 le shell, la commande passée à sudo et **elle seule**, (pas les //opérateurs// donc) 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. | 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. | ||
Ligne 44: | Ligne 44: | ||
<code user>sudo commande > fichier</code> | <code user>sudo commande > fichier</code> | ||
- | est interprété en distinguant les arguments (ici la commande de son applisation) comme : | + | est interprété en distinguant les arguments (ici la commande de son application) comme : |
- | <code user>(sudo commande) > fichier</code> | + | |
- | et **NON** comme les deux ensembles composés de : | + | [sudo] //lacommande//] > [//lefichier//] |
- | <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> | + | et **NON** comme deux ensembles composés de : |
+ | |||
+ | [sudo] [//lacommande// > //lefichier//] | ||
+ | |||
+ | <note important>c'est donc **le shell de l'utilisateur** courant qui écrit dans fichier, et non pas **le shell de root**.</note> | ||
Dans la même veine : | Dans la même veine : | ||
<code user>sudo commande1 && commande2</code> | <code user>sudo commande1 && commande2</code> | ||
est interprété comme : | est interprété comme : | ||
- | <code user>(sudo commande1) && commande2</code> | + | |
- | et non comme : | + | [sudo //lacommande1//] && [//lacommande2//] |
- | <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> | + | **sans appliquer le sudo** sur //lacommande2// donc. |
+ | <note>Dans les exemples ci-dessus les crochets servent à visualiser la priorité d'exécution. \\ | ||
+ | Les expressions résultantes appliquées en copie/colle ne seront donc pas valides. LOL</note> | ||
==== Remerciements et liens : ==== | ==== Remerciements et liens : ==== |