Comment passer en mode root sous Ubuntu en toute sécurité : guide complet du sudo, su et de l’accès au shell root

1. Introduction

Dans Ubuntu, certaines tâches d’administration système nécessitent des privilèges root, qui ne sont pas accessibles aux utilisateurs ordinaires. Le compte root fonctionne comme le « compte administrateur » du système et permet des opérations critiques telles que la manipulation du système de fichiers, l’installation de paquets et la modification de configurations. Cet article explique comment passer à l’utilisateur root sous Ubuntu et les précautions importantes à prendre pendant le processus.

2. Caractéristiques des privilèges root sous Ubuntu

En raison de la politique de sécurité d’Ubuntu, le compte root est désactivé par défaut. Cette conception réduit les risques liés à une utilisation inappropriée des privilèges root. À la place, Ubuntu accorde un accès administratif temporaire via la commande sudo, qui permet aux utilisateurs ordinaires d’exécuter des opérations au niveau root lorsque cela est nécessaire.

2.1 Différences entre les utilisateurs ordinaires et l’utilisateur root

Les utilisateurs ordinaires n’ont accès qu’à leurs propres répertoires et à des paramètres système limités, tandis que l’utilisateur root peut exécuter n’importe quelle opération sans restriction. Cette distinction rend les privilèges root essentiels pour les tâches impliquant des fichiers système ou des permissions. Cependant, une utilisation inappropriée des privilèges root peut déstabiliser le système, il est donc nécessaire de bien comprendre avant de les employer.

2.2 Privilèges root temporaires avec sudo

Dans Ubuntu, il n’est pas recommandé de se connecter directement en tant que root. À la place, la commande sudo est utilisée pour accorder temporairement des privilèges administratifs. Les sections suivantes expliquent comment utiliser sudo de manière sûre et efficace.

3. Comment obtenir temporairement des privilèges root

Lorsque des privilèges root sont requis sous Ubuntu, il est conseillé d’accorder l’accès root uniquement à des commandes spécifiques plutôt que de basculer complètement vers l’utilisateur root. Une fois la tâche terminée, les privilèges sont automatiquement révoqués, réduisant ainsi le risque de modifications système involontaires. Les étapes suivantes détaillent l’utilisation de la commande sudo.

3.1 Utilisation de base de la commande sudo

sudo signifie « substitute user do », et il change temporairement le contexte utilisateur pour exécuter une commande avec des privilèges élevés. Même les utilisateurs ordinaires peuvent effectuer des opérations administratives en utilisant sudo comme indiqué ci‑dessous :

$ sudo [command]

Par exemple, pour mettre à jour les paquets, saisissez :

$ sudo apt update

Seuls les utilisateurs disposant de privilèges root peuvent exécuter cette commande, mais sudo permet un accès temporaire afin de la réaliser en toute sécurité.

3.2 Saisie du mot de passe lors de l’utilisation de sudo

Lors de la première exécution de sudo, le système demande le mot de passe de l’utilisateur actuel. Cela garantit que sudo ne peut pas être utilisé de façon arbitraire et maintient la sécurité. Une fois authentifié, sudo reste valable pendant une période limitée, de sorte qu’une saisie répétée du mot de passe n’est pas nécessaire pour les opérations fréquentes.

3.3 Durée du privilège sudo temporaire

Le délai d’expiration par défaut des privilèges sudo sous Ubuntu est d’environ 15 minutes. Si les privilèges étendus ne sont plus nécessaires, vous pouvez les invalider manuellement en utilisant la commande suivante :

$ sudo -k

Cela oblige à une nouvelle authentification par mot de passe la prochaine fois que sudo sera utilisé.

4. Passer au shell root

Passer au shell root permet aux utilisateurs d’effectuer plusieurs tâches administratives consécutives. Sous Ubuntu, cela peut être fait avec sudo -i ou sudo su. Chaque commande se comporte différemment, comme expliqué ci‑dessous.

4.1 Passer au shell root avec sudo -i

La commande sudo -i ouvre un shell root avec l’environnement complet de l’utilisateur root chargé. Cela inclut toutes les variables d’environnement configurées pour root. Utilisez la commande comme suit :

$ sudo -i

Une fois terminé, saisissez exit pour revenir à l’utilisateur d’origine.

4.2 Passer au shell root avec sudo su

La commande sudo su est similaire à sudo -i, mais elle n’hérite pas toujours des variables d’environnement spécifiques à la connexion root. Cela permet d’effectuer des opérations root tout en conservant l’environnement de l’utilisateur actuel.

$ sudo su

Cette méthode est utile lorsque les variables d’environnement personnalisées ne sont pas nécessaires ou lorsque vous travaillez dans le contexte du shell existant.

4.3 Changement sans hériter des variables d’environnement (su -)

Si vous devez réinitialiser complètement l’environnement aux valeurs par défaut de l’utilisateur root, utilisez la commande su - :

$ su -

5. Passer à root avec la commande su

La commande su change l’utilisateur actuel pour un autre compte. Dans d’autres distributions Linux, elle est couramment utilisée pour passer directement à l’utilisateur root. Cependant, sous Ubuntu, le compte root est désactivé par défaut et doit être configuré avant utilisation.

5.1 Utilisation de base de su

Pour passer à l’utilisateur root, saisissez :

$ su

On vous demandera le mot de passe root. Après avoir terminé les opérations en tant que root, utilisez exit pour revenir à votre session utilisateur précédente.

5.2 Différences entre su et su –

L’utilisation de su - initialise le shell de connexion de l’utilisateur root avec un environnement propre :

$ su -

La différence principale est que su conserve les variables d’environnement actuelles, tandis que su - les réinitialise complètement. Utilisez su - lorsque vous avez besoin d’un environnement root vierge.

6. Considérations de sécurité lors de l’utilisation des privilèges root

Les privilèges root donnent un accès complet au système et peuvent entraîner des risques critiques s’ils sont mal utilisés. Il est donc essentiel de gérer les opérations root avec soin. Les points suivants résument les bonnes pratiques de sécurité.

6.1 Éviter de surutiliser les privilèges root

Effectuer des opérations inutiles en tant que root augmente le risque de dommages accidentels. Il est recommandé d’exécuter uniquement les commandes nécessaires avec sudo plutôt que de rester connecté en tant que root.

6.2 Toujours se déconnecter du shell root

Après avoir terminé les tâches d’administration, utilisez exit pour quitter l’environnement root. Rester connecté en tant que root augmente le risque d’exécuter involontairement des commandes avec des privilèges complets.

6.3 Configuration correcte du fichier sudoers

Le fichier sudoers définit quels utilisateurs peuvent exécuter des commandes sudo. Utilisez visudo pour éditer sudoers en toute sécurité et restreindre l’accès sudo aux utilisateurs de confiance.

6.4 Utiliser les journaux d’audit

Ubuntu conserve des journaux des opérations root. Examiner régulièrement les journaux d’audit peut améliorer la sécurité, notamment dans les environnements où plusieurs utilisateurs disposent de privilèges sudo.

7. Erreurs courantes et dépannage

Plusieurs erreurs peuvent survenir lors de l’utilisation des privilèges root sous Ubuntu. Comprendre ces problèmes facilite le dépannage.

7.1 Erreur « Permission denied »

Cela se produit lorsqu’une commande est exécutée sans privilèges suffisants. Résolvez le problème en utilisant sudo :

$ sudo [command]

7.2 Erreur « user is not in the sudoers file »

Cette erreur indique que l’utilisateur ne possède pas les privilèges sudo. Ajoutez l’utilisateur au fichier sudoers avec visudo :

username ALL=(ALL) NOPASSWD: ALL

7.3 Problèmes de délai d’expiration de sudo

Si sudo ne demande plus de mot de passe, la période d’authentification a peut‑être expiré. Ré‑exécutez sudo pour rafraîchir la session.

7.4 Mot de passe root désactivé

Ubuntu désactive le compte root par défaut. Pour définir un mot de passe root, exécutez :

$ sudo passwd root

8. Conclusion

Cet article a expliqué plusieurs méthodes pour obtenir les privilèges root sous Ubuntu. L’accès root est puissant, et son utilisation correcte garantit la stabilité et la sécurité du système.

8.1 Points clés à retenir

  • Importance des privilèges root : Nécessaires pour effectuer des opérations plus profondes et au niveau du système.
  • Privilège temporaire via sudo : Accorde un accès root limité en toute sécurité lorsque cela est nécessaire.
  • Méthodes d’accès au shell root : Utilisez sudo -i ou sudo su pour exécuter plusieurs commandes efficacement.
  • Utilisation correcte de su : Comprenez la distinction entre su et su - pour une utilisation appropriée.
  • Précautions de sécurité : Limitez l’utilisation du root et déconnectez‑vous rapidement après avoir terminé les tâches.
  • Gestion des erreurs : Résolvez les problèmes liés aux privilèges en revoyant les paramètres sudoers ou en activant le compte root.

8.2 Utilisation sûre et efficace des privilèges root

Utiliser les privilèges root de manière responsable améliore l’efficacité de l’administration système tout en minimisant les risques. Effectuez les opérations root uniquement lorsque cela est nécessaire et maintenez une vigilance constante en matière de sécurité.