Aller au contenu principal

Sécurité avec sudo

Objectifs de la séance

  • Comprendre le rôle et l'importance de la commande sudo
  • Apprendre à utiliser sudo pour exécuter des commandes nécessitant des privilèges d'administrateur
  • Installer et configurer sudo à partir du compte root

Notions théoriques

La commande sudo (SuperUser DO) permet à des utilisateurs autorisés d'exécuter certaines commandes en tant qu'un autre utilisateur, généralement l'utilisateur root. C'est un moyen efficace d'administrer un système Linux sans avoir à se connecter en tant que root, ce qui peut être risqué.

Pratique

Étape 1 : Se connecter en tant que root

Pour cette séance, nous devons nous connecter en tant que root. Pour cela, nous utiliserons la commande su -. Ouvrez un terminal et tapez :

su -
astuce

La commande 'su -' est différente de la commande 'su' ! Elle charge l'environnement de l'utilisateur cible. Si vous n'ajoutez pas le tiret - vous n'aurez pas les variables d'environnement de root.

Entrez le mot de passe de root lorsque vous y êtes invité.

Étape 2 : Installer sudo

Une fois connecté en tant que root, nous pouvons installer sudo.

Sur certains systèmes Linux, sudo est déjà installé. Et pour votre sécurité vous avez probablement déjà installé sudo.

info

Si sudo n'est pas installé, ou si vous ne savez pas s'il est installé, vous pouvez l'installer avec la commande suivante (en super-utilisateur) :

apt update
apt install sudo

Étape 3 : Autoriser un utilisateur à utiliser sudo

Pour autoriser un utilisateur à utiliser sudo, vous devez ajouter cet utilisateur au fichier sudoers.

C'est à dire que nous ajoutons l'utilisateur dans le groupe sudo.

Pour ajouter l'utilisateur sio au groupe sudo nous allons utiliser la commande adduser.

Pour cela, vous pouvez suivre les étapes ci-dessous :

  1. Vous devez être connecté en tant qu'utilisateur root pour exécuter cette commande, car elle nécessite des privilèges d'administrateur.

Si besoin, saisissez la commande suivante, pour se connecter en tant que root :

su - 
  1. Tapez la commande suivante :
adduser sio sudo
  1. Appuyez sur Enter.

Cette commande ajoute l'utilisateur 'sio' au groupe sudo. Cela signifie que l'utilisateur 'sio' peut maintenant exécuter des commandes avec des privilèges d'administrateur en utilisant la commande sudo.

Remarque : Après avoir ajouté un utilisateur à un nouveau groupe, l'utilisateur doit se déconnecter puis se reconnecter pour que les modifications prennent effet.

Étape 4 : Utiliser sudo

Maintenant que vous avez autorisé un utilisateur à utiliser sudo, vous pouvez vous déconnecter de root et vous reconnecter en tant que cet utilisateur. Pour cela, tapez exit pour vous déconnecter de root, puis utilisez su - sio pour vous connecter en tant que l'utilisateur.

Une fois connecté en tant que l'utilisateur, vous pouvez utiliser sudo pour exécuter des commandes nécessitant des privilèges d'administrateur. Par exemple, pour mettre à jour la liste des paquets disponibles, vous pouvez utiliser la commande suivante :

sudo apt update

Vous serez invité à entrer votre mot de passe la première fois que vous utilisez sudo dans une session. Les commandes suivantes avec sudo ne vous demanderont pas de mot de passe pendant un certain temps.

astuce

Voici quelques astuces d'utilisation de sudo :

  1. Passer à l'utilisateur root : Pour obtenir un shell avec les privilèges de l'utilisateur root, vous pouvez utiliser sudo su. Soyez très prudent lorsque vous travaillez en tant que root, car vous avez la possibilité de modifier n'importe quel fichier sur le système, y compris ceux nécessaires à son fonctionnement.

    sudo su
  2. Voir l'historique des commandes sudo : Vous pouvez voir l'historique des commandes exécutées avec sudo en utilisant la commande sudo avec l'option -l. Cela peut être utile pour le dépannage ou pour vérifier ce qu'un utilisateur a fait avec les privilèges de superutilisateur.

    sudo -l
  3. Exécuter plusieurs commandes avec sudo : Si vous avez plusieurs commandes à exécuter avec sudo, vous pouvez les séparer par des points-virgules et les entourer de guillemets. Par exemple :

    sudo sh -c "commande1 ; commande2 ; commande3"

Test de mémorisation/compréhension


Qu'est-ce que la commande 'sudo' permet de faire ?


Comment installer 'sudo' à partir du compte root ?


Pourquoi faut-il se connecter en root pour installer sudo ?


Comment autoriser un utilisateur à utiliser 'sudo' ?


Qu'est-ce qui est affiché à l'écran lorsque vous tapez votre mot de passe pour 'sudo' ?


Pourquoi est-il recommandé d'utiliser 'sudo' plutôt que de se connecter directement en tant que root ?


Que fait la commande 'su -' en plus de la commande 'su' ?



attention

Rappelez-vous que l'utilisation de sudo donne un grand pouvoir et une grande responsabilité. N'utilisez sudo que lorsque c'est absolument nécessaire et assurez-vous de comprendre la commande que vous exécutez.