web-dev-qa-db-ja.com

SSHログインでbashまたは自動実行/ bin / bashを修正する方法

サーバーにrootとしてログインすると、すべて正常に動作しますが、myusernameとしてログインすると、bashが正しく機能しません。

行は次で始まります:

$ 

の代わりに

myusername@myserver:~$

矢印キー、タブキーなどのすべての特殊キーは機能しません。

bin/bashと入力すると再び機能しますが、問題を修正するか、ログイン時にbin/bashを自動実行します。どうすれば修正できますか?

18
askmike

シェルを変更するだけです。そのユーザーとして、次を実行します。

$ chsh -s /bin/bash

次に、サインアウトして再度サインインします。

これを実行した後、プロンプトが希望どおりに表示されない場合は、環境のPS1変数の調整を開始する必要があります。

18
EEAA

シェルを変更する必要があります。コマンドを実行する

chsh -s /bin/bash

その後、再度サインインします。

ただし、すべてのユーザーが自分のシェルを変更する権利を持っているわけではありません。 Sudoを使用する場合は、必ずsernamechshコマンドに追加してください。

Sudo chsh <username> -s /bin/bash

そうしないと、ルートのシェルを誤って変更してしまいます。

13
Mikael Fremling

考えられる理由の1つは、デフォルトのシェルmyusernameがbashではないことです。

現在のユーザーのシェルは次のようにして確認できます。

  • echo ${Shell}
  • echo $0

ユーザーシェルを永続的に変更するには、man chshを参照してください。例:

chsh -s /bin/bash
6
H.-Dirk Schmitt

Sudoユーザーパスワードが無効になっている場合は、/etc/passwdを直接編集し、ユーザーがいる行を見つけて、シェルパスを/bin/bashに変更できます。

/ etc/passwd format について説明します。

2
foman

もう1つ追加したかっただけです。

そのユーザーのbashを変更するためにSudoアクセスが必要な場合は、ユーザー名がないとrootユーザーに適用されるため、Sudoコマンドでユーザー名も指定する必要があります。

$ Sudo chsh -s /bin/bash <user>
0
Prateek