logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
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 [15/07/2019 09:46]
smolski [Configuration de sécurité élémentaire]
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 : ====
Ligne 87: Ligne 93:
  
 Ajoutez : Ajoutez :
- 
   Defaults ​       timestamp_timeout=0   Defaults ​       timestamp_timeout=0
- 
 En mettant le timeout à 0, les droits **root** ne seront plus utilisables dès que vous aurez validé l'​exécution de votre commande. En mettant le timeout à 0, les droits **root** ne seront plus utilisables dès que vous aurez validé l'​exécution de votre commande.
  
Ligne 115: Ligne 119:
 Sous la ligne : Sous la ligne :
    ​root ​   ALL=(ALL:​ALL) ALL    ​root ​   ALL=(ALL:​ALL) ALL
- 
 écrivez : écrivez :
    ​badaboum ALL=(ALL:​ALL) ALL    ​badaboum ALL=(ALL:​ALL) ALL
- +(**badaboum** illustrant ici votre nom d'​utilisateur **mon_nom**,​ par exemple...) ​\\
-(**badaboum** illustrant ici votre nom d'​utilisateur **mon_nom**,​ par exemple...) +
 Ainsi, **badaboum** sera le seul //​utilisateur//​ autorisé à se servir de la commande **sudo** dans un terminal. Ainsi, **badaboum** sera le seul //​utilisateur//​ autorisé à se servir de la commande **sudo** dans un terminal.
  
-**Test de la configuration modifiée ​:**+== Test de la configuration modifiée ​==
  
 Tapez une commande root comme celle-ci par exemple : Tapez une commande root comme celle-ci par exemple :
-<file user>​sudo fdisk -l</file> +<code user>​sudo fdisk -l</code>
 Le mot de passe de l'//​user//​ sera alors demandé et non plus celui de root : Le mot de passe de l'//​user//​ sera alors demandé et non plus celui de root :
    ​[sudo] password for badaboum: <//Taper ici le passwd de cet user//>    ​[sudo] password for badaboum: <//Taper ici le passwd de cet user//>
 Et la commande s'​exécute ! Et la commande s'​exécute !
 +
 +== Reboot ==
 +
 +Autoriser user à exécuter toutes les commandes via sudo mais que sudo reboot ne demande pas le mot de passe (faire 2 lignes) :
 +
 +nom_user ALL=(ALL) ALL
 +nom_user ALL=(ALL) NOPASSWD: /​usr/​sbin/​reboot
  
 ==== UN SEUL utilisateur SANS mot de passwd demandé ==== ==== UN SEUL utilisateur SANS mot de passwd demandé ====
Ligne 151: Ligne 158:
 À partir de maintenant, vous pouvez quitter le shell //root// et faire le reste sous votre //nom// avec **sudo** sans plus taper de mot de passe. À partir de maintenant, vous pouvez quitter le shell //root// et faire le reste sous votre //nom// avec **sudo** sans plus taper de mot de passe.
  
-=== Exemple ​: ===+== Exemple ==
  
 Tapez une commande **root** mais sous votre **user** ainsi : Tapez une commande **root** mais sous votre **user** ainsi :
Ligne 157: Ligne 164:
  
 <note important>​Et la commande s'​exécute sans demande de passwd !</​note>​ <note important>​Et la commande s'​exécute sans demande de passwd !</​note>​
 +
  
 ===== Configuration pour plusieurs utilisateurs ===== ===== Configuration pour plusieurs utilisateurs =====
doc/systeme/sudo.txt · Dernière modification: 15/07/2021 15:07 par smolski

Pied de page des forums

Propulsé par FluxBB