Wie kann ich die Shell in Ubuntu ändern? [Duplikat]

87

Diese Frage hat hier bereits eine Antwort:

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

Ich habe gelesen, wie ich Bash zu meiner Standard-Shell unter Ubuntu mache. und chshNähte sind der bevorzugte Weg. Aber wenn ich tippe, chsh /bin/bashbekomme ich diese Nachricht: chsh: unknown user /bin/bash

Und wenn ich nur /bin/bashdie Bash-Schalennähte eintippe, funktioniert das einwandfrei. Wie kann man das ändern?

Jonas
quelle

Antworten:

85

Verwenden Sie zum Ändern einer Shell den chshBefehl bare . Dies fordert Sie zur Eingabe der neuen Shell auf. Sie müssen nichts als root ausführen.

Teddy
quelle
Ah, das war noch besser!
Jonas
8
Vergessen Sie nicht, sich abzumelden und wieder anzumelden, um die Änderung zu sehen.
Driftcatcher
26
Funktioniert nicht als normaler Benutzer: $ chsh Sie dürfen die Shell für 'Benutzer' nicht ändern.
Henning
1
Funktioniert bei mir. Klingt so, als ob Ihr System absichtlich gesperrt wurde.
Michael Cole
1
Ich benutze ssh, aber chsh fragt mich nach einem Passwort, das ich nicht kenne. Wie kann man das umgehen?
Qwerty
113

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

chsh -s /bin/bash username

Dentrasi
quelle
10
-1 chsh muss nicht als root ausgeführt werden, um die eigene Shell zu ändern . Das Ändern der Muscheln anderer erfordert root.
Broam
2
Das hat funktioniert. Ich erhalte immer die Fehlermeldung "Sie dürfen die Shell nicht ändern für ...".
Setzamora
2
Melden Sie sich ab und wieder an, um die Änderung zu beobachten
smac89
1
+1 Ich fand das funktioniert, nachdem ich den chshBefehl ausprobiert habe, als ich als Benutzer angemeldet war und "Sie dürfen die Shell nicht ändern für ..."
therobyouknow
54

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

sudo usermod -s <shell> <username>

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

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

txwikinger
quelle
10
Verwenden usermodSie, wenn Sie sehen "chsh Sie dürfen die Shell nicht ändern für ..."
Xeoncross
2
Stimmabgabe, da chsh für mich in der Tat nicht funktioniert hat. Vielen Dank!
Mixaz
Wichtig zu beachten, dass usermoderfordertsudo
ARun32