Ubuntuでシェルを変更するにはどうすればよいですか?[複製]


87

この質問にはすでに答えがあります:

Ubuntu Server VPSがあり/bin/bash/、シェルとして使用したい。シェルを変更するにはどうすればよいですか?ルートアクセス権はありますが、ルートとしては動作しません。だからダッシュは今私のデフォルトのシェルです。

UbuntuでデフォルトのシェルをBashにするにはどうすればよいですか?そして、chsh縫い目は、行くべき好ましい方法です。しかし、入力するchsh /bin/bashと次のメッセージが表示されます。 chsh: unknown user /bin/bash

そして/bin/bash、Bashシェルの縫い目をタイプするだけでうまく動作します。それを変更するには?

回答:


85

シェルを変更するには、bare chshコマンドを使用します。これにより、新しいシェルの入力が求められます。ルートとして何も実行する必要はありません。


ああ、それはさらに良かったです!
ジョナス

8
忘れずにログアウトしてからログインし、変更を確認してください。
ドリフトキャッチャー

26
通常のユーザーとしては機能しません:$ chsh「ユーザー」のシェルを変更することはできません。
ヘニング

1
私のために働く。システムが意図的にロックダウンされているように聞こえます。
マイケルコール

1
私はsshを使用していますが、chshは私に知らないパスワードを要求します。これを回避する方法はありますか?
-Qwerty

113

rootとして実行する場合、chsh他のユーザーのシェルを変更するために使用できます。これを使用する構文。ルート権限なしで独自のシェルを変更できます。

chsh -s /bin/bash username


10
-1 chshは、独自のシェルを変更するためにrootとして実行する必要はありません。他のシェルを変更するには、rootが必要です。
ブラム

2
これはうまくいきました。「...のシェルを変更することはできません」というエラーメッセージが常に表示されます。
setzamora

2
ログアウトしてから再度ログインして、変更を確認します
-smac89

1
+1 chshユーザーとしてログインしてコマンドを試行し、「...のシェルを変更することはできません」という
メッセージを受け取った

54

usermodコマンドを使用して、ユーザーのデフォルトシェルを変更できます。

sudo usermod -s <shell> <username>

使用するシェルの名前(つまり/ bin / bash)と、変更するユーザー名に置き換えます。

これにより、/ etc / passwdファイルで選択されたユーザー名にデフォルトのシェルが設定されます。


10
usermod「chshのシェルを変更することはできません...」が表示される場合に使用します
-Xeoncross

2
chshが実際に機能しなかったため、投票しました。ありがとう!
Mixaz

それに注意することが重要usermod必要ですsudo
ARu​​n32
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.