パスワードファイルが破損している可能性があります

パスワードファイルが破損している可能性があります

何らかの理由で、元のパスワードが認識されずにサーバーを復元し、ルートパスワードを新しいパスワードにリセットしました。それでもルートのSSHパスワードの受け入れを拒否します。さらなる調査は、破損したetc / passwdファイルである可能性があることを示しました。

Parallelsは、次のコマンドを実行するように言います。

cat /etc/passwd | grep ^root | hexdump -c 

ファイルの終わりは\ nで終わらなければなりませんが、私のファイルは\ r \ nで終わるはずです。 /bin/bash privs ユーザーとしてファイルを確認しました。これで問題が発生します。ルートディレクトリのpasswdファイルを確認できません。どんなアイデアがありますか?

私は2つのetc/passwdの場所があることを知っています。システムに割り当てられたユーザーごとに1つ、2番目はetcルート領域にあります。ありがとう

ベストアンサー1

/etc/passwdWindowsエディタまたはWindowsファイルを生成するように設定されたエディタを使用してファイルを編集しました。しないでください。 Windowsは2文字シーケンスCR-LFを使用して線を越えて、Linux、およびその他のUNIXシステムはLFのみを使用し、CRを正確に行末のプレーン文字として扱います。通常、Linuxでファイルを編集するにはLinuxエディタを使用し、Windowsエディタを使用する場合はファイルをLinux改行形式で保存する必要があります。

今の問題は、パスワードが無効であるということではありません。正常に認証されました。ログインプロセスが完了したら、最後に行うことは、次の説明に従ってloginシェルを実行することです。シェルが最後の列なので、ルートのシェルにはCR文字が含まれるように設定されています。susshd/etc/passwd/etc/passwd/bin/bash␍

このファイルを作成または編集する/etc/passwdには、ルートアクセスが必要です。ルートアカウントを効果的に無効にしたため、物理アクセスが必要です。

おすすめ記事