zsh
もっといいと思ってインストールしましたbash
。復元せず、chsh -s /bin/bash
直接提供したとおりに使用しました。You may not change the shell for 'cat'.
私も私の行を変更しました/etc/passwd
。
cat:x:1000:1000:cat,,,:/home/cat:/bin/zsh
到着
cat:x:1000:1000:cat,,,:/home/cat:/usr/bin/bash
(which bash
与えたので/usr/bin/bash
)。
GNOME端末、xterm
用語などは今私のシェルですbash
。
しかし、Enterキーを押すと、仮想端末にCtrl Alt N数字n
キーがどこにあるかを確認し、自分でログインしようとします。
Ubuntu 15.10 mint-kitty ttyN
mint-kitty login: cat
Password:
/bin/zsh: no such file or directory
exit
現れてログアウトしました。
グラフィックセッションに正常にログインできます。 (MDM+シナモン.)
私が知る限り、ユーザーのログインシェルはによって作成されます。 in/etc/passwd
またはへの言及はなく、inへの言及もありません。zsh
.bashrc
.profile
/etc/profile
私のシェルが存在しないことをシステムの残りの部分にどのように伝えることができますかzsh
?
ベストアンサー1
このchsh
コマンドを使用すると、リストされたシェルからログインシェルを変更できます。/etc/shells
、に記載されているシェルに/etc/shells
。これはセキュリティ機能です。アカウントに制限されたシェル(にリストされていない/etc/shells
)がある場合は、別のシェルに切り替えてアクセス権をアップグレードすることはできません。ユーザーは自分で変更できないシェルに切り替えてロックできません。もちろん、rootユーザーはこの制限から除外されます。
/etc/shells
シンボリックリンクなど、名前付きファイルを考慮しない代替方法を確認してください。として/etc/shells
リストされている場合、/bin/bash
ユーザーデータベースのエントリは(同じファイルである)または(へのシンボリックリンクにもかかわらず)で/bin/bash
なければなりません。/bin/./bash
/usr/bin/bash
/bin/bash
シェルを終了する場合は、古いシェルを削除する前にスイッチバックを実行する必要がありますchsh
。削除するとシェルが削除されるためです/etc/shells
。
シェルをもう一度変更することをお勧めします/bin/bash
。これを行うにはroot権限が必要です。これにより、chsh
後でもう一度実行できます。
Linuxでは、ローカルアカウントの場合、エントリによって/etc/passwd
ユーザーのログインシェルが決まります。 (互換性のために存在します/etc/passwd
が、実際の参照ではないため、変更しないでください、または変更/etc/passwd
後にいくつかの同期コマンドを呼び出す必要がある他のUnixバリアントではありません。)
参照がどこにあるかを説明できません/bin/zsh
。迷子になった追加項目がないことを確認してください/etc/passwd
。