サーバーシェルを変更しようとすると、rootとしてログインできなくなります。
まず、ルートとしてz-Shell(zsh)をインストールしてから、デフォルトのシェルに変更したいと思いました。そのため、「chsh」を使用しました。私のせいは、間違ったパスを入力したことです。ログアウトしてPuTTY経由で新規ログインした後、「アクセスが拒否されました」というメッセージが表示されました。
シェルへのパスが存在しないとき、それは予見可能でした。そこで、コントロールパネルにログインし、filemanagerを介して/ etc/passwdファイルを変更しました。最初の行の間違った最後の部分(rootユーザー)を修正しました。
root:x:0:0:root:/ root:/ usr/bin/zsh
古いシェル/ bin/bashまたは/ bin/shに変更しても、機能しません。 passwdとshadowはライブファイルではないことを読んだので、サーバーを再起動しましたが、それでも同じ問題が発生します
何かアイデアはありますか、他に何ができますか?
OS:Debian 5 + Parallels Plesk 11
別のフォーラムで解決策を見つけました。同じ問題を抱えているすべての人にとって、おそらくこのアプローチも役立つ可能性があります。
私のプロバイダーはrootパスワードを変更し、パスワードが受け入れられず、「chsh:PAM認証に失敗しました」というエラーが発生したため、機能しない「chsh -s/bin/bashroot」を試しました。
dave_mysticは解決策を提供しました:
本当の問題は/etc/pam.d/chshにあります。そのファイルでは、ルートからのすべての変更を許可する行の前に、特別なシェルが割り当てられた後、ユーザーが通常のシェルに戻るのを防ぐ行が表示されます。
残念ながら、次の行が最初に起動し、ユーザーのシェルが使用可能なシェルのリストに含まれていなかったため、変更が許可されませんでした。 Sudoを介して「root」である私からの認証行は、最初の行が起動された後にチェックされなかったため、起動されませんでした。
auth requiredpam_shells.so
解決策は、/ etc/pam.d/chshの行を一時的にコメントアウトし、ユーザーのシェルを正しいシェルに変更してから、その行のコメントを削除することでした。
出典: http://ubuntuforums.org/showthread.php?t=17028
だから私は言及された行をコメントアウトし、その後私はシェルを変更することができました。
vipw
を使用し、vipw -s
/etc/shadowを編集します。それでも自分で修正できない場合は、ホスティングプロバイダーに連絡してください。彼らは10分以内にそれを修正する方法を知っているか、あなたはより良いホストを見つけるべきです。