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 souvent utilisée pour exécuter des commandes en tant qu'administrateur sans avoir à se connecter en tant que superutilisateur, ce qui permet une meilleure sécurité et une meilleure traçabilité des actions effectuées.
Lorsque vous utilisez la commande sudo
, vous devez spécifier le nom de l'utilisateur dont les privilèges vous souhaitez utiliser, suivi de la commande à exécuter. Par exemple, si vous souhaitez mettre à jour votre système en tant qu'administrateur, vous pouvez taper :
sudo apt update
Ensuite, vous devrez entrer le mot de passe de votre utilisateur pour confirmer que vous êtes autorisé à exécuter la commande avec les privilèges de l'utilisateur spécifié. Si vous avez les autorisations nécessaires, la commande sera exécutée.
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.
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 :
su -
Puis selon votre distribution :
Debian, Ubuntu et dérivés :
apt update apt install sudo
Red Hat, CentOS et dérivés :
yum install sudo
Fedora :
dnf install sudo
Pour pouvoir utiliser la commande sudo
, l'utilisateur courant doit être autorisé à le faire. Je vous le détaille ci-dessous.
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 :
sudo cat /etc/sudoers
– 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
:
# Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL
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.
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.
Pour autoriser un utilisateur à utiliser la commande sudo
, vous pouvez suivre les étapes suivantes :
1. Ouvrez un terminal sur votre système Linux.
2. Utilisez la commande usermod pour ajouter l'utilisateur alice
au groupe sudo
:
sudo usermod -aG sudo alice
Cette ligne de commande ajoute l'utilisateur alice
au groupe sudo
en utilisant usermod
. Le paramètre -aG
signifie “ajouter à un groupe”.
Assurez-vous d'avoir les privilèges d'administrateur sur votre système pour exécuter ces commandes avec sudo
.
Si vous avez le message usermod : le groupe 'sudo' n'existe pas
passez à la méthode “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 :
1. Ouvrez un terminal sur votre système Linux.
2. Créez un fichier dans le répertoire /etc/sudoers.d/
pour l'utilisateur alice
. Vous pouvez utiliser la commande sudo visudo
pour éditer ce fichier spécifique avec visudo
:
sudo visudo -f /etc/sudoers.d/alice
Si le fichier alice
n'existe pas, il sera créé.
3. À l'intérieur de l'éditeur de texte visudo
, ajoutez la ligne suivante au fichier /etc/sudoers.d/alice
:
alice ALL=(ALL:ALL) ALL
Cette ligne spécifie que l'utilisateur alice
est autorisé à utiliser sudo
pour toutes les commandes, avec les privilèges de tous les utilisateurs et groupes.
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.
5. Assurez-vous que les fichiers dans /etc/sudoers.d/
ont les bonnes autorisations. Ils doivent appartenir à root
et avoir des permissions 440
:
chmod 440 /etc/sudoers.d/alice chown root:root /etc/sudoers.d/alice
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.
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.
1. Ouvrez un terminal sur votre système Linux.
2. Exécutez la commande suivante pour ouvrir le fichier /etc/sudoers
avec visudo
(en tant qu'administrateur) :
sudo visudo -f /etc/sudoers.d/alice
Cette commande ouvre le fichier sudoers
en mode édition sécurisé.
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
:
alice ALL=(ALL:ALL) NOPASSWD:ALL
Cette ligne indique que l'utilisateur alice
peut exécuter toutes les commandes avec sudo
sans être invité à entrer son mot de passe.
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.
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.
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.