web-dev-qa-db-fra.com

Pourquoi «Sudo bash» est-il une mauvaise idée?

N'importe qui veut commenter Sudo bash en comparaison à Sudo su et Sudo -i?

Je sais Sudo -i est préféré car "environnement".

J'ai pris la mauvaise habitude il y a des années, quand j'étais enfant dans un sous-sol d'utiliser Sudo bash.

Je sais que c'est plutôt maladroit et maladroit, mais ça marche.

Je recherche un argument précis et convaincant pour me libérer de cette habitude.

Veuillez me dire pourquoi ma méthode est la poubelle? J'ai besoin d'une intervention.

1
flickerfly

Je ne pense pas Sudo bash est faux, c'est juste moins pratique. D'une part, c'est 2 caractères de plus que Sudo -i. Avec Sudo bash vous commencez simplement bash en tant qu'autre utilisateur (essayez de le faire et faites pwd pour voir quel est le répertoire actuel), tandis que Sudo -i "tente de passer au répertoire personnel de cet utilisateur avant d'exécuter le shell". Sudo -i essaie de vous donner un "environnement similaire à celui qu'un utilisateur recevrait lors de la connexion". Aussi, Sudo -i lira "les fichiers de ressources spécifiques à la connexion tels que .profile ou .login". Finalement, Sudo -i honorera le shell défini par l'utilisateur dans /etc/passwd.

Sur un système mono-utilisateur, il est peu probable que cela ait trop d'importance, mais à moins que vous jamais ne vous attendiez à travailler sur un système autre que le vôtre, vous feriez bien de vous entraîner à faire les choses recommandées façon.

Sudo su n'est peut-être pas entièrement faux non plus (et n'est pas plus long que Sudo -i), mais cette option est tout simplement moche et semble vraiment maladroite; si vous pouvez Sudo, pourquoi Sudo su, au lieu de Sudoing un bon shell? aussi, Sudo su ne définira pas correctement l'environnement de connexion de l'utilisateur, vous avez besoin de Sudo su - pour cela, à quel moment vous tapez encore 2 caractères de plus que Sudo -i.

2
roadmr