Wie kann ich die Shell in Ubuntu ändern?

132110
Jonas

Ich habe einen Ubuntu Server VPS und möchte /bin/bash/als Shell verwenden. Wie kann ich meine Schale wechseln? Ich habe root-Zugriff, arbeite aber nicht als root. Dash ist jetzt meine Standard-Shell.

Ich habe gelesen Wie mache ich Bash zu meiner Standard-Shell unter Ubuntu? und chshNähte der bevorzugte Weg zu gehen. Aber wenn ich tippe, chsh /bin/basherhalte ich folgende Nachricht: chsh: unknown user /bin/bash

Und wenn ich nur /bin/bashdie Bash-Shell-Nähte eingebe, funktioniert das einwandfrei. Wie kann ich das ändern?

76

3 Antworten auf die Frage

99
Dentrasi

Wenn Sie als Root ausgeführt werden, können Sie die chshShells anderer Benutzer ändern. Die Syntax willst du damit verwenden. Sie können Ihre eigene Shell ohne Root-Rechte ändern.

chsh -s /bin/bash username

-1 chsh muss nicht als root ausgeführt werden, um die eigene Shell zu ändern. Das Ändern der Muscheln anderer Benutzer erfordert root. Broam vor 14 Jahren 10
Das hat funktioniert. Ich bekomme immer die Fehlermeldung "Sie dürfen die Shell nicht ändern für ...". setzamora vor 6 Jahren 1
Melden Sie sich ab und wieder an, um die Änderung zu beobachten smac89 vor 6 Jahren 2
+1 Ich habe festgestellt, dass dies funktioniert, nachdem der Befehl 'chsh' beim Anmelden als Benutzer ausgeführt wurde und "Sie dürfen die Shell nicht ändern für ..." therobyouknow vor 5 Jahren 0
74
Teddy

Um eine Shell zu ändern, verwenden Sie den chshBefehl bare . Daraufhin werden Sie zur Eingabe der neuen Shell aufgefordert. Sie müssen nichts als root ausführen.

Ah, das war noch besser! Jonas vor 14 Jahren 0
Vergessen Sie nicht, sich abzumelden und sich erneut anzumelden, um die Änderung zu sehen. hangtwenty vor 10 Jahren 6
Funktioniert nicht als normaler Benutzer: $ chsh Sie können die Shell nicht für 'Benutzer' ändern. Henning vor 10 Jahren 23
Funktioniert bei mir. Klingt, als sei Ihr System absichtlich gesperrt worden. Michael Cole vor 8 Jahren 1
Ich benutze ssh, aber chsh fragt mich nach einem Passwort, das ich nicht kenne. Irgendwelche Möglichkeit, das zu umgehen? Qwerty vor 8 Jahren 0
+1 @Henning Ich fand, dass "chsh -s / bin / bash web" funktioniert, wie in der [Antwort unten] (https://superuser.com/a/119182/21353) von Dentrasi. Ich kann jetzt den Tab-Datei- / Ordnerpfad autocomplete am Terminal mit meinem neuen Nicht-Root-Benutzer verwenden (da dies in der `.bashrc`-Datei im Home-Verzeichnis des Benutzers eingerichtet ist, glaube ich (finde es mit `ls -al`) therobyouknow vor 5 Jahren 0
43
txwikinger

Sie können Ihre Standard-Shell für Ihren Benutzer mit dem Befehl usermod ändern.

sudo usermod -s <shell> <username> 

Ersetzen Sie es durch den Namen der Shell, die Sie verwenden möchten (z. B. / bin / bash) und durch den Benutzernamen, für den Sie die Shell ändern möchten.

Dadurch wird die Standard-Shell für den in der Datei / etc / passwd ausgewählten Benutzernamen festgelegt.

Verwenden Sie "usermod", wenn "chsh Sie können die Shell nicht ändern für ..." Xeoncross vor 7 Jahren 7
abstimmen, da chsh tatsächlich für mich nicht funktioniert hat. Vielen Dank! Mixaz vor 7 Jahren 2
Wichtig zu beachten, dass "usermod" Sudo benötigt ARun32 vor 6 Jahren 0