informatique:linux:commandes:sudo

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
informatique:linux:commandes:sudo [2023/11/27 19:09] – [Autoriser l'utilisateur courant à utiliser la commande sudo] Cédric ABONNELinformatique:linux:commandes:sudo [2023/12/01 02:44] (Version actuelle) Cédric ABONNEL
Ligne 1: Ligne 1:
 ====== sudo ====== ====== sudo ======
 +
 +{{ :informatique:linux:commandes:pasted:20231201-024429.png?400}}
  
 La commande "sudo" est une commande sous Linux qui permet à un utilisateur d'exécuter des commandes avec les privilèges d'un autre utilisateur, généralement l'utilisateur **superutilisateur** (''root''). La commande "sudo" est une commande sous Linux qui permet à un utilisateur d'exécuter des commandes avec les privilèges d'un autre utilisateur, généralement l'utilisateur **superutilisateur** (''root'').
Ligne 15: Ligne 17:
 Il est recommandé d'utiliser ''sudo'' plutôt que de ''su'' pour exécuter des commandes en tant qu'administrateur car elle permet de limiter les risques d'erreurs et de sécurité. En effet, les commandes exécutées avec ''sudo'' sont enregistrées dans les journaux système, ce qui facilite la détection des actions suspectes ou malveillantes. Il est recommandé d'utiliser ''sudo'' plutôt que de ''su'' pour exécuter des commandes en tant qu'administrateur car elle permet de limiter les risques d'erreurs et de sécurité. En effet, les commandes exécutées avec ''sudo'' sont enregistrées dans les journaux système, ce qui facilite la détection des actions suspectes ou malveillantes.
  
-Pour pouvoir utiliser la commande ''sudo'', l'utilisateur courant doit être autorisé à le faire. Consulter la page qui traite de comment [[informatique:linux:commandes:usermod#ajouter_le_groupe_sudo_a_un_utilisateur|Ajouter le groupe sudo à un utilisateur]] avec la commande [[.:usermod|usermod]].+La commande ''sudo'' est généralement déjà installée sur la plupart des distributions Linux. Cependant, si elle n'est pas installée sur votre système, vous pouvez l'installer en utilisant le gestionnaire de paquets de votre distribution en adminstrateur : 
 + 
 +<code> 
 +su - 
 +</code> 
 + 
 +Puis selon votre distribution : 
 + 
 +Debian, Ubuntu et dérivés : 
 +<code> 
 +apt update 
 +apt install sudo 
 +</code> 
 + 
 +Red Hat, CentOS et dérivés : 
 +<code> 
 +yum install sudo 
 +</code> 
 + 
 +Fedora : 
 +<code> 
 +dnf install sudo 
 +</code> 
 + 
 +Pour pouvoir utiliser la commande ''sudo'', l'utilisateur courant doit être autorisé à le faire. Je vous le détaille ci-dessous. 
 + 
 +===== Préconfiguration du groupe sudo ===== 
 + 
 +Pour voir la préconfiguration du groupe ''sudo'', vous pouvez afficher le contenu du fichier ''/etc/sudoers''. Ce fichier contient la configuration globale de sudo et spécifie les utilisateurs, les groupes et les commandes qui sont autorisés à utiliser ''sudo''
 + 
 +Voici comment afficher le contenu du fichier ''/etc/sudoers'' : 
 + 
 +-- Ouvrez un terminal sur votre système Linux. 
 + 
 +-- Tapez la commande suivante et appuyez sur Entrée : 
 + 
 +<code BASH> 
 +sudo cat /etc/sudoers 
 +</code> 
 + 
 +-- Entrez le mot de passe de votre utilisateur si vous y êtes invité. 
 + 
 +Cette commande affiche le contenu du fichier ''/etc/sudoers'' dans le terminal. Vous pouvez y rechercher les sections qui concernent le groupe ''sudo'' pour voir les autorisations de ce groupe. 
 + 
 +Par exemple, la section suivante du fichier ''/etc/sudoers'' accorde des autorisations au groupe ''sudo'' : 
 + 
 +<code BASH> 
 +Allow members of group sudo to execute any command 
 +%sudo   ALL=(ALL:ALL) ALL 
 +</code> 
 + 
 +Cette section spécifie que les membres du groupe ''sudo'' sont autorisés à exécuter toutes les commandes avec les privilèges de tous les utilisateurs et groupesVous pouvez également trouver d'autres sections qui spécifient des autorisations pour des utilisateurs ou des commandes spécifiques. 
 + 
 +Le fichier ''/etc/sudoers'' est un fichier de configuration critique, et toute modification incorrecte peut entraîner des problèmes de sécurité ou des erreurs système. Par conséquent, il est recommandé de faire une copie de sauvegarde du fichier avant de le modifier et de suivre les bonnes pratiques de sécurité recommandées pour la gestion des utilisateurs et des permissions sur votre système.
  
-===== Autoriser l'utilisateur courant à utiliser la commande sudo ===== 
  
-__**Méthode : Ajout du groupe sudo**__+===== Ajouter un utilisateur au groupe sudo pour autoriser l'utilisation de sudo =====
  
 Pour autoriser un utilisateur à utiliser la commande ''sudo'', vous pouvez suivre les étapes suivantes : Pour autoriser un utilisateur à utiliser la commande ''sudo'', vous pouvez suivre les étapes suivantes :
Ligne 35: Ligne 89:
 Assurez-vous d'avoir les privilèges d'administrateur sur votre système pour exécuter ces commandes avec ''sudo''. Assurez-vous d'avoir les privilèges d'administrateur sur votre système pour exécuter ces commandes avec ''sudo''.
  
-__**Méthode Fichier de configuration**__+Si vous avez le message ''usermod le groupe 'sudo' n'existe pas'' passez à la méthode "Ajouter des droits sudoers pour un utilisateur"
 + 
 +===== Ajouter des droits sudoers pour un utilisateur ===== 
 + 
 +Il s'agit de permettre à l'utilisateur courant d'utiliser la commande ''sudo'' en modifiant les droits d'accès dans le fichier **sudoers**.
  
 Vous pouvez suivre également une approche qui consiste à ajouter des autorisations personnalisées dans des fichiers situés dans le répertoire ''/etc/sudoers.d/'' plutôt que de modifier directement le fichier principal ''/etc/sudoers'', ceci afin de suivre les meilleures pratiques. Voici comment ajouter l'utilisateur ''alice'' à la liste des utilisateurs autorisés à utiliser ''sudo'' en suivant cette approche : Vous pouvez suivre également une approche qui consiste à ajouter des autorisations personnalisées dans des fichiers situés dans le répertoire ''/etc/sudoers.d/'' plutôt que de modifier directement le fichier principal ''/etc/sudoers'', ceci afin de suivre les meilleures pratiques. Voici comment ajouter l'utilisateur ''alice'' à la liste des utilisateurs autorisés à utiliser ''sudo'' en suivant cette approche :
Ligne 59: Ligne 117:
 4. Après avoir ajouté la ligne, sauvegardez les modifications et quittez l'éditeur de texte. La commande ''visudo'' vérifiera la syntaxe du fichier pour s'assurer qu'il n'y a pas d'erreurs. 4. Après avoir ajouté la ligne, sauvegardez les modifications et quittez l'éditeur de texte. La commande ''visudo'' vérifiera la syntaxe du fichier pour s'assurer qu'il n'y a pas d'erreurs.
  
-===== Préconfiguration du groupe sudo =====+5. Assurez-vous que les fichiers dans ''/etc/sudoers.d/'' ont les bonnes autorisations. Ils doivent appartenir à ''root'' et avoir des permissions ''440''
 +<code> 
 +chmod 440 /etc/sudoers.d/alice 
 +chown root:root /etc/sudoers.d/alice 
 +</code> 
 +===== Ne pas demander le mot de passe =====
  
-Pour voir la préconfiguration du groupe ''sudo'', vous pouvez afficher le contenu du fichier ''/etc/sudoers''. Ce fichier contient la configuration globale de sudo et spécifie les utilisateurs, les groupes et les commandes qui sont autorisés à utiliser ''sudo''.+Pour permettre à un utilisateur d'exécuter des commandes ''sudo'' sans être invité systématiquement à entrer son mot de passe, vous pouvez configurer des règles de sudoers spécifiques pour cet utilisateur
  
-Voici comment afficher le contenu du fichier ''/etc/sudoers'' :+<WRAP center round alert 60%> 
 +Il est essentiel de comprendre que cela peut introduire des problèmes de sécurité et doit être fait avec précaution. Ne désactivez pas systématiquement le mot de passe pour ''sudo'' sans une bonne raison, car cela peut compromettre la sécurité de votre système.
  
--- Ouvrez un terminal sur votre système Linux.+</WRAP>
  
--- Tapez la commande suivante et appuyez sur Entrée :+1. Ouvrez un terminal sur votre système Linux.
  
-<code BASH+2. Exécutez la commande suivante pour ouvrir le fichier ''/etc/sudoers'' avec ''visudo'' (en tant qu'administrateur) : 
-sudo cat /etc/sudoers+ 
 +<code> 
 +sudo visudo -f /etc/sudoers.d/alice
 </code> </code>
  
--- Entrez le mot de passe de votre utilisateur si vous y êtes invité.+Cette commande ouvre le fichier ''sudoers'' en mode édition sécurisé.
  
-Cette commande affiche le contenu du fichier ''/etc/sudoers'' dans le terminal. Vous pouvez y rechercher les sections qui concernent le groupe ''sudo'' pour voir les autorisations de ce groupe.+3. À l'intérieur de l'éditeur de texte ''visudo'', ajoutez la ligne suivante en remplaçant ''alice'' par le nom de l'utilisateur pour lequel vous souhaitez désactiver le mot de passe pour ''sudo'' :
  
-Par exemple, la section suivante du fichier ''/etc/sudoers'' accorde des autorisations au groupe ''sudo''+<code> 
- +alice ALL=(ALL:ALL) NOPASSWD:ALL
-<code BASH+
-# Allow members of group sudo to execute any command +
-%sudo   ALL=(ALL:ALL) ALL+
 </code> </code>
  
-Cette section spécifie que les membres du groupe ''sudo'' sont autorisés à exécuter toutes les commandes avec les privilèges de tous les utilisateurs et groupes. Vous pouvez également trouver d'autres sections qui spécifient des autorisations pour des utilisateurs ou des commandes spécifiques.+Cette ligne indique que l'utilisateur ''alice'' peut exécuter toutes les commandes avec ''sudo'' sans être invité à entrer son mot de passe.
  
-Le fichier ''/etc/sudoers'' est un fichier de configuration critique, et toute modification incorrecte peut entraîner des problèmes de sécurité ou des erreurs système. Par conséquent, il est recommandé de faire une copie de sauvegarde du fichier avant de le modifier et de suivre les bonnes pratiques de sécurité recommandées pour la gestion des utilisateurs et des permissions sur votre système.+4. Après avoir ajouté la ligne, sauvegardez les modifications et quittez l'éditeur de texte. La commande ''visudo'' vérifiera la syntaxe du fichier pour s'assurer qu'il n'y a pas d'erreurs.
  
-===== Ne pas demander le mot de passe =====+5. Pour que les modifications prennent effet, l'utilisateur ''alice'' devra exécuter des commandes ''sudo'' sans être invité à entrer son mot de passe lors de la prochaine session. 
 + 
 +<WRAP center round alert 60%> 
 +Il est important de noter que la désactivation systématique du mot de passe pour ''sudo'' présente un risque de sécurité important, car cela permet à l'utilisateur de lancer des commandes avec des privilèges élevés sans vérification d'identité. Cette méthode doit être utilisée avec précaution et uniquement pour des cas spécifiques où elle est nécessaire, comme l'automatisation de certaines tâches système. Assurez-vous de comprendre les implications de cette configuration avant de l'appliquer et ne l'utilisez que lorsque c'est absolument nécessaire. 
 +</WRAP>
  
-Il faut ajouter l'option ''NOPASSWD:ALL'' dans la configuration ''sudoers''. 
  
-<code> 
-$ USER_DO=cedric 
-$ echo "$USER_DO ALL=(ALL:ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/010-$USER_DO-nopassword 
-</code> 
  • informatique/linux/commandes/sudo.1701108553.txt.gz
  • Dernière modification : 2023/11/27 19:09
  • de Cédric ABONNEL