Contexte
Sous Linux (et Unix en général), il existe un SuperUser nommé Racine . Le SuperUser peut faire tout et n'importe quoi, et faire un travail quotidien en tant que SuperUser peut être dangereux. Vous pouvez taper une commande de manière incorrecte et détruire le système. Idéalement, vous exécutez en tant qu'utilisateur qui ne dispose que des privilèges requis pour la tâche en cours. Dans certains cas, il s’agit nécessairement de root, mais la plupart du temps, il s’agit d’un utilisateur régulier.
su -
Cette commande permet de se connecter au compte root.
Par défaut, le mot de passe du compte Root est verrouillé dans Ubuntu. Cela signifie que vous ne pouvez pas vous connecter directement en tant que root ou utiliser la commande su pour devenir l'utilisateur racine. Cependant, comme le compte racine existe physiquement, il est toujours possible d'exécuter des programmes avec des privilèges de niveau racine. C'est là que sudo entre en jeu - il permet aux utilisateurs autorisés (normalement les utilisateurs "administratifs") d’exécuter certains programmes en tant que root sans avoir à connaître le mot de passe root.
Voir Comment activer un compte racine .
sudo sh
Cette commande exécute "sh" en tant que super utilisateur.
L'utilitaire sh est un interpréteur de langage de commande qui exécute les commandes lues à partir d'une chaîne de ligne de commande, de l'entrée standard ou d'un fichier spécifié.
sudo bash
Cette commande exécute "bash" en tant que super utilisateur.
Bash est l'interpréteur de commandes ou en langage de commande. Bash est un shell compatible sh qui intègre des fonctionnalités utiles du shell Korn (ksh) et du shell C (csh). Il est destiné à être conforme à la norme Shell et outils IEEE POSIX P1003.2 / ISO 9945.2. Il offre des améliorations fonctionnelles par rapport à sh pour la programmation et l'utilisation interactive. De plus, la plupart des scripts sh peuvent être exécutés par Bash sans modification.
Références: 1 , 2 , 3 .