デフォルトのシェル環境を変更したい
rootユーザーとしてchsh -s /bin/zsh
を実行し、
しかし、エラーメッセージが表示されました:chsh: PAM authentication failed
。
私はこのスレッドを見つけます http://ubuntuforums.org/showthread.php?t=17028
しかし、答えは私の問題を解決しませんでした
どんな助けでもいただければ幸いです
これは/etc/pam.d/chshの内容です
#
# The PAM configuration file for the Shadow `chsh' service
#
# This will not allow a user to change their Shell unless
# their current one is listed in /etc/shells. This keeps
# accounts with special shells from changing them.
auth required pam_shells.so
# This allows root to change user Shell without being
# prompted for a password
auth sufficient pam_rootok.so
# The standard Unix authentication modules, used with
# NIS (man nsswitch) as well as normal /etc/passwd and
# /etc/shadow entries.
@include common-auth
@include common-account
@include common-session
これは/ etc/shellsの内容です
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/tmux
/usr/bin/screen
/bin/zsh
/usr/bin/zsh
chsh -s zsh
を実行していたことがわかりました。これにより、/etc/passwd
の最初の行が次のように変更されます。
root:x:0:0:root:/root:zsh
そしてchsh
は、何をしようとしてもパスワードを要求します
/etc/passwd
ファイルを手動で編集するだけで、すべて問題ありません。
愚かな間違いとあなたの返信に感謝
/ etc/shellsファイルを確認し、この行が存在しない場合は/ bin/zshをファイルに追加します。
/etc/passwd
を確認してください。私の場合、以前にchsh
で無効なシェルを指定していたため、それが問題の原因でした。
私はそれをシェルとしてのzsh
から/bin/zsh
に変更し、それによって問題が解消されました。
コードをSudoとして実行する必要があります。
Sudo chsh -s /bin/zsh
私も同じ問題を抱えていましたが、うまくいきました!
パスが間違っているようです。確認するには:
[nick ~]$ which zsh
/usr/bin/zsh
結果が/ usr/bin/zchの場合、これでうまくいくはずです。
[nick ~]$ chsh -s /usr/bin/zsh
*タイプミスを編集します。
私も同じ問題に直面しました。私が入力したときはいつでもchshプロンプトに使用します
_chsh: PAM authentication failed
_
しかし、私は_/etc/passwd
_ファイルに変更を加えることで解決しました
_Users of kali-linux
_
ルートターミナルを開いて_/etc/passwd
_ファイルを変更するだけで、このジョブにpico、nano、またはviエディターを使用できます。
_vi /etc/passwd
_
次に、ユーザーアカウントを検索します。シェルを目的のシェルに変更します。新しいユーザーがLinuxのディストリビューションに目的のシェルをインストールして、Linuxにどのシェルが存在するかを確認するには、次のように入力します。
_cat /etc/shells
_
シェルがインストールされていて、それを_/etc/Shell
_に表示できない場合は、リンクを作成し、シェルのパスを配置する必要があります。たとえば、_/bin/ksh
_に_/etc/shells
_手動でファイル...
たとえば、あなたはbashにいて、それをkshに変更したい
_/etc/passwd
_ファイルのアカウントに移動し、最後のフィールド編集で
_/bin/bash
_から_/bin/ksh
_または_/bin/ksh93
_(_cat /etc/shells
_と同様)
ログアウトしてログインするだけでいいのです...
他のディストリビューション(たとえば)ubuntuのユーザー向け
入力する
_Sudo -H gnome-terminal
_(ルート端末を取得するため)
プロセスは上記と同じです。kali-linuxユーザーのようなrootターミナルもあるからです。