J'aimerais savoir quelle est la différence entre
su -
sudo bash
sudo sh
Je ne peux pas me connecter en tant que root en faisant su -
parce que je n'ai pas le mot de passe root - je veux dire que j'ai mon mot de passe utilisateur avec lequel je peux sudo "command"
mais ce mot de passe ne fonctionne pas pour su -
Je peux me connecter en tant que root avec sudo bash
avec mon mot de passe utilisateur et je peux me connecter en faisant sudo sh
mais ensuite je reçois une invite de commande sous cette forme#
Meilleure réponse
Contexte
Sous Linux (et Unix en général), il existe un SuperUser nommé Racine . Le superutilisateur peut faire n'importe quoi et tout, et donc faire le travail quotidien en tant que superutilisateur peut être dangereux. Vous pourriez taper une commande incorrecte et détruire le système. Idéalement, vous exécutez en tant qu'utilisateur disposant uniquement des privilèges nécessaires 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 est utilisée pour 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 root. Cependant, étant donné que le compte racine existe physiquement, il est toujours possible d'exécuter des programmes avec des privilèges de niveau racine. C'est là qu'intervient sudo - il permet aux utilisateurs autorisés (généralement des utilisateurs "administrateurs") d'exécuter certains programmes en tant que root sans avoir à connaître le mot de passe root.
Voir Comment activer le 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 doit exécuter des commandes lues à partir d'une chaîne de ligne de commande, de l'entrée standard ou d'un fichier spécifié.
bash sudo
Cette commande exécute "bash" en tant que super utilisateur.
Bash est le shell ou l'interpréteur de 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 IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools. 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.