Skip to main content

[Commandes Linux] Sudo

Introduction

Sudo est une commande linux permettant d'exécuter des commandes en tant que super-administrateur (root).

image.png

Syntaxe générale

Voici l'utilisation la plus basique de sudo :

sudo <COMMAND>

Et un exemple où l'on exécute une commande nécessitant les droits root :

sudo apt update

Remarque : Selon la configuration faite de sudo, le mot de passe de votre utilisateur peut vous être demandé lors l'utilisation de la commande sudo.

Remarque bis : La saisie de ce mot de passe ne sera pas affichée dans le terminal par sécurité.

Quelques options pratiques

  • Ouvrir un shell avec les droits root :
sudo -i
  • Lister les droits sudo de l'utilisateur actif :
sudo -l
  • Exécuter une commande en tant qu'un autre utilisateur (potentiellement différent de root) :
sudo -u <USER> <COMMAND>

Installation et configuration

Afin de pouvoir utiliser sudo, il faut installer le paquet sudo.

Installation

  • Debian / Ubuntu :
apt install sudo
  • Fedora / CentOS / Alma Linux / Rocky Linux / RHEL :
dnf install sudo
  • Arch Linux / Manjaro :
pacman -S sudo

Configuration

Pour donner les droits sudo à votre utilisateur, il suffit de l'ajouter au groupe sudo ou wheel (selon les systèmes) :

newgrp sudo
usermod -aG sudo <USER>
usermod -aG wheel <USER>

Cependant il peut être intéressant d'ajouter une entrée pour votre utilisateur dans le fichier /etc/sudoers :

<USER> ALL=(ALL:ALL) ALL

Pour ne plus demander le mot de passe de l'utilisateur lors de l'utilisation de sudo, remplacez l'entrez ci-dessus par celle-ci :

<USER> ALL=(ALL:ALL) NOPASSWD: ALL

Si vous souhaitez autoriser seulement l'exécution d'un programme spécifique à un utilisateur en tant que root :

<USER> ALL=(ALL) ALL: <PATH_TO_BIN>

Et voici sans demander le mot de passe de l'utilisateur :

<USER> ALL=(ALL) NOPASSWD: <PATH_TO_BIN>