GNU/Linux >> Tutoriels Linux >  >> Ubuntu

La différence entre 'su -' , 'sudo Bash' et 'sudo Sh'?

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.

Connexes :L'impact du paramètre nolapic sur un ordinateur portable multiprocesseur ?

Références :1, 2, 3.


Ubuntu
  1. La différence entre une commande intégrée et une qui ne l'est pas ?

  2. La Différence Entre [[ $a ==Z* ]] Et [ $a ==Z* ] ?

  3. Centos - La différence entre l'arrêt à 18h00 et l'arrêt à 18h00 ?

  4. Différence entre l'expansion de la tuyauterie et de la commande ?

  5. Différence entre l'utilisateur Sudo et l'utilisateur root ?

Comprendre la différence entre les commandes sudo et su sous Linux

La différence entre plus, moins et la plupart des commandes

Quelle est la différence entre Rsync et BTRFS sous Linux ?

Quelle est la différence entre le chat et la commande tactile

Quelle est la différence entre la commande apt et apt-get ?

Quelle est la différence entre les commandes kill et killall ?