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
sudoers [Le 25/06/2018, 10:46]
77.111.245.11 [Modification du fichier /etc/sudoers]
sudoers [Le 12/09/2023, 19:29] (Version actuelle)
Amiralgaby ancienne révision (Le 31/08/2022, 23:58) restaurée
Ligne 10: Ligne 10:
 ===== Modification du fichier /​etc/​sudoers ===== ===== Modification du fichier /​etc/​sudoers =====
  
 +==== /​etc/​sudoers.d/​ ====
  
-ATTENTION !+<note warning>​ 
 +Confer le fichier ///​etc/​sudoers.d/​**README**//​
  
-Confère le fichier ///​etc/​sudoers.d/**README**//​.+La gestion de ''​sudo''​ est améliorée dans les dernières versions (Debian version 1.7.2).  
 +C'est à dire pour toutes les versions ​d'​Ubuntu supportées. 
 +</note>
  
-La gestion de ''​sudo'' ​est améliorée dans les dernières versions (Debian version 1.7.2).+Tous les fichiers du répertoire **/​etc/​sudoers.d/​** ne finissant pas par ''​~''​ ou ne contenant pas un ''​.''​ sont lus et analysés lorsque l'on utilise la commande ''​sudo''​.
  
 Pour modifier le fonctionnement de la commande ''​sudo'',​ l'​administrateur du système ne modifie plus le fichier ///​etc/​**sudoers**//​ mais positionne des fichiers de personnalisation dans le répertoire ///​etc/​**sudoers.d**//​. Pour modifier le fonctionnement de la commande ''​sudo'',​ l'​administrateur du système ne modifie plus le fichier ///​etc/​**sudoers**//​ mais positionne des fichiers de personnalisation dans le répertoire ///​etc/​**sudoers.d**//​.
  
-Premier avantage, vous pouvez définir autant de fichiers que de modifications. Le nom est libre et peut donc faire référence à l'​élément personnalisé. Exemples : **10-sysctl** **20-userX** **30-apt**.+=== avantages ===
  
-Le deuxième avantage est que la création d'​un ​de ces fichiers ​ne nécessite aucun droit d'​administration. L'​intervention ​de l'​administrateur se limite à la copie du(desfichier(s) sous ///etc/**sudoers.d**//.+vous pouvez définir autant ​de fichiers ​que de modifications ​(voir le §2). Le nom est libre et peut donc faire référence à l'​élément personnalisé. Exemples : **monfichier** , **10-sysctl** , **20-userX** , **30-apt**.
  
-Le troisième avantage est que l'​administrateur peut annuler à tout moment une autorisation particulière de la commande ​"sudo" ​en supprimant le fichier de personnalisation correspondant.+  - Vous disposez d'un aperçu des modifications en listant simplement le contenu du répertoire ///​etc/​**sudoers.d**//​. 
 +  - l'​administrateur peut annuler à tout moment une autorisation particulière de la commande ​''​sudo'' ​en supprimant le fichier de personnalisation correspondant.  
 +  - En supprimant tous les fichiers de personnalisation,​ vous êtes certain de revenir à la configuration par défaut de ''​sudo''​ qui sera restée d'​origine. 
 +  - Cette configuration peut se mettre à jour sans perdre vos modifications locales.
  
 +pour ce faire
 +<code bash>
 +sudo visudo -f /​etc/​sudoers.d/​monfichier
 +</​code>​
   ​   ​
  
-L'​ancienne méthode reste utilisable.+==== /​etc/​sudoers ====
  
 +Si il est toujours préférable de privilégier d'​écrire ses modifications locales dans [[#​etcsudoersd|/​etc/​sudoers.d]] il est toujours possible de surcharger directement le fichier /​etc/​sudoers.
  
 La configuration de ''​sudo''​ est enregistrée dans le fichier de configuration ///​etc/​**sudoers**//​. La configuration de ''​sudo''​ est enregistrée dans le fichier de configuration ///​etc/​**sudoers**//​.
Ligne 45: Ligne 57:
 === configurer l'​éditeur par défaut === === configurer l'​éditeur par défaut ===
 pour changer l'​éditeur en ligne de commande, par défaut, il suffit de lancer : pour changer l'​éditeur en ligne de commande, par défaut, il suffit de lancer :
-  sudo update-alternatives ​ --config editor+  sudo update-alternatives --config editor
  
 et de sélectionner l'​éditeur de votre choix, dans la liste des [[:​editeur_de_texte#​editeurs_en_ligne_de_commande|éditeurs de texte]] déjà installés. et de sélectionner l'​éditeur de votre choix, dans la liste des [[:​editeur_de_texte#​editeurs_en_ligne_de_commande|éditeurs de texte]] déjà installés.
Ligne 61: Ligne 73:
   * ''​%groupe''​ désigne un groupe d'​utilisateurs du système Ubuntu. Le nom du groupe doit donc être précédé d'un symbole de pourcentage (''​%''​). Un seul groupe doit être précisé par ligne ;   * ''​%groupe''​ désigne un groupe d'​utilisateurs du système Ubuntu. Le nom du groupe doit donc être précédé d'un symbole de pourcentage (''​%''​). Un seul groupe doit être précisé par ligne ;
   * ''​ALL''​ désigne la ou les machines dans lesquelles les commandes suivantes sont autorisées ou refusées pour cet utilisateur ou ce groupe d'​utilisateurs. Le mot-clé ''​ALL''​ désigne l'​ensemble des machines de votre parc informatique. Dans le cadre d'une utilisation à domicile, laisser ''​ALL''​ n'est pas un inconvénient. Dans un grand parc d'​entreprise,​ de meilleures stratégies sont à prévoir ;   * ''​ALL''​ désigne la ou les machines dans lesquelles les commandes suivantes sont autorisées ou refusées pour cet utilisateur ou ce groupe d'​utilisateurs. Le mot-clé ''​ALL''​ désigne l'​ensemble des machines de votre parc informatique. Dans le cadre d'une utilisation à domicile, laisser ''​ALL''​ n'est pas un inconvénient. Dans un grand parc d'​entreprise,​ de meilleures stratégies sont à prévoir ;
-  *  ​//user// (entre parenthèses) désigne l'​utilisateur dont on prend les droits (peut valoir ALL pour tous)+  *  ​''​user'' ​(entre parenthèses) désigne l'​utilisateur dont on prend les droits (peut valoir ALL pour tous)
   *  ''​commande''​ et ''​autrecommande''​ représentent des commandes pouvant être exécutées par l'​utilisateur ou le groupe d'​utilisateurs désigné en début de ligne.   *  ''​commande''​ et ''​autrecommande''​ représentent des commandes pouvant être exécutées par l'​utilisateur ou le groupe d'​utilisateurs désigné en début de ligne.
     *  Les commandes précédées d'un point d'​exclamation (''​!''​) sont refusées, alors que celles sans point d'​exclamation sont autorisées ;     *  Les commandes précédées d'un point d'​exclamation (''​!''​) sont refusées, alors que celles sans point d'​exclamation sont autorisées ;
Ligne 68: Ligne 80:
 ==== Exécuter des tâches d'​administration sans mot de passe ==== ==== Exécuter des tâches d'​administration sans mot de passe ====
 À la fin du fichier, ajoutez une ligne d'​instruction telle que la suivante : À la fin du fichier, ajoutez une ligne d'​instruction telle que la suivante :
-<​file>​identifiant ALL = /​chemin/​complet/​commande,​ NOPASSWD: /​chemin/​complet/​autrecommande +<​file>​identifiant ALL = (ALL) /​chemin/​complet/​commande,​ NOPASSWD: /​chemin/​complet/​autrecommande 
-%groupe ALL = NOPASSWD: /​chemin/​complet/​commande,/​chemin/​complet/​autrecommande</​file>​+%groupe ALL = (ALL) NOPASSWD: /​chemin/​complet/​commande,/​chemin/​complet/​autrecommande</​file>​
 Toutes les commandes situées à la droite du mot-clé ''​NOPASSWD:''​ peuvent être exécutées par l'​utilisateur ou le groupe d'​utilisateurs précisé en début d'​instruction. Celles restées à sa gauche sont toujours soumises à l'​authentification par mot de passe. Toutes les commandes situées à la droite du mot-clé ''​NOPASSWD:''​ peuvent être exécutées par l'​utilisateur ou le groupe d'​utilisateurs précisé en début d'​instruction. Celles restées à sa gauche sont toujours soumises à l'​authentification par mot de passe.
  
Ligne 83: Ligne 95:
 Après avoir créé le groupe codeclavier,​ pensez à utiliser un numéro spécial pour éviter les conflits avec les groupes utilisateurs,​ vous ajoutez cette ligne dans le fichier /​etc/​sudoers. Après avoir créé le groupe codeclavier,​ pensez à utiliser un numéro spécial pour éviter les conflits avec les groupes utilisateurs,​ vous ajoutez cette ligne dans le fichier /​etc/​sudoers.
 <code bash> <code bash>
- ​%codeclavier ​   ALL = NOPASSWD: /​bin/​changecode+ ​%codeclavier ​   ALL = (ALL) NOPASSWD: /​bin/​changecode
 </​code>​ </​code>​
 et maintenant le petit script évidemment mis dans /​bin/​code.clavier.sh et maintenant le petit script évidemment mis dans /​bin/​code.clavier.sh
Ligne 94: Ligne 106:
  ​setkeycodes 0x2b 86  ​setkeycodes 0x2b 86
 </​code>​ </​code>​
-Et miracle, il marche. Si vous ajoutez un lien dans /​etc/​profile.d/,​ il sera exécuté à votre connexion en tout transparence!!!+Et miracle, il marche. Si vous ajoutez un lien dans /​etc/​profile.d/,​ il sera exécuté à votre connexion en toute transparence!!!
 </​note>​ </​note>​
  
Ligne 153: Ligne 165:
 <​file>​pkexec visudo</​file>​ <​file>​pkexec visudo</​file>​
  
-<​note>​Ou bien d'​utiliser [[http://​www.psychocats.net/​ubuntu/​fixsudo|la solution suivante]]((source http://​askubuntu.com/​questions/​73864/​how-to-modify-a-invalid-etc-sudoers-file-it-throws-out-an-error-and-not-allowi)).</​note>​+<​note>​Ou bien d'​utiliser [[https://​www.psychocats.net/​ubuntu/​fixsudo|la solution suivante]]((source http://​askubuntu.com/​questions/​73864/​how-to-modify-a-invalid-etc-sudoers-file-it-throws-out-an-error-and-not-allowi)).</​note>​
   ​   ​
 ==== Redémarrer en mode recovery ==== ==== Redémarrer en mode recovery ====
Ligne 170: Ligne 182:
       nano /​etc/​sudoers       nano /​etc/​sudoers
       ​       ​
-Voir [[http://​www.psychocats.net/​ubuntu/​fixsudo|ici]] pour d'​autres possibilités.+Voir [[https://​www.psychocats.net/​ubuntu/​fixsudo|ici]] pour d'​autres possibilités.
  
 ===== Aller plus loin... ===== ===== Aller plus loin... =====
  • sudoers.1529916378.txt.gz
  • Dernière modification: Le 25/06/2018, 10:46
  • par 77.111.245.11