Linuxでroot権限でログインできず困っています。リモートで/etc/passwdファイルを誤ってFTPで更新をかけたところ設定されているユーザー全てでログインができなくなった。人力検索はてな人力検索はてなモバイル版を表示しています。PC版はこちらLinuxでroot権限でログインできず困っています。リモートで/etc/passwdファイルを誤ってFTPで更新をかけたところ設定されているユーザー全てでログインができなくなった。(root含む)サーバ自体はログイン済みのためサーバー本体にてrootのパスワード変更を試みるも変更できなかった。新規ユーザーの作成は問題なく実行できた。rootでログインできない為、シングルユーザーモードでログインしてパスワード変更を試みるも変更できない。(AuthenticationFailureが表示)いろいろ試したところ、サーバ本体にログインを試みたところ/bin/bashが見当たらないような表示root権限でログインするにはどうしたらよいでしょうか別ユーザでログイン後suでroot権限にしようとすると「そのようなファイルやディレクトリはありません」と表示されますちなみにまったく別のパスワードを入力すると「パスワードが違います」と表示されるので判別は出来ているようです。▽最新の回答へ▽1●withgod●20ポイント>/bin/bashが見当たらないような表示ではなく、loginシェルが解ってないのではないかと思います。?文面から察するに、シングルユーザモードでログインは出来るのなら、試しに次のようなファイルを作成してから再度、rootでログインを試みてください。して保存、改行コードはLFで、パーミッションは一応644で。バックアップとってからにして下さいね。/etc/shadowです。改行コードの^Mが全行に入っていましたCR+LF改行を行っている場合、vi等でそのファイルを見ると各行の末尾に「^M」が入ります。この改行タイプはWindowsの場合かと思われます。蛇足ですが、Mac等だとCR改行のみのはず。FTP転送は、Windowsマシン等からバイナリ形式等で行われたのでしょうか?その場合はwithgodさんも書かれているとおり、LF形式(UNIX系の改行形式)で転送する必要があります。この場合shadowファイルへの対応は何か必要なのでしょうか?shadowファイルは影響を受けてないと思いますので、対応は必要ないと思われます。(マシンの再起動等は行っていませんよね?)それとvipwというのがあるのを知りましたこれを使わなければいけなかったのでしょうかvipwは/etc/passwdを多人数で編集しないようにロックをかけるコマンドです。編集機能自体はviと同じです。誰も他者が触らないのであれば、viコマンドで問題ないと思います。◎質問者からの返答なるほど良くわかりました。/etc/passwdファイルをFTPでアップロード後、シングルユーザモードで所有者の変更を行い一度サーバーを落としています現在は唯一新規作成したユーザー(root権限ではない)でのみログインできる状態です▽3●naruenosekai●20ポイント>少し前にtelnetで/etc/passwdファイルを確認したところ、改行コードの^Mが全行に入っていました>これが原因でシェル判別できずログインできないのが原因でしょうか?そうですね。これが原因だと思われます。passwdファイルの最後のshellを指定に^Mが入ってしまい、^M付きのファイルを探しに行ってないと言われているのでしょう。/etc/passwdファイルしか更新してないのであれば、shadowは変更しないで大丈夫です。passwdを更新するときは、vipwで更新した方が安全です。vipwはviエディタのpasswdファイル更新用のコマンドで、これで開くと同時に他からの更新をされないようファイルをロックします。操作方法はviエディタそのままです。してもpasswdファイルの編集をWindowsなどで行うときは、Terapadなど改行コードを選択して保存できるテキストエディタを使いましょう。FTPで戻すときも、同時にloginしてmoreやlessなどで、改行コードやパーミッションが正しいか必ず確認しましょう。調べてみるとshadowファイルとのパスワードの食い違いの問題が良くかかれてますが、これはshadowファイルを変更した場合に起こることで今回は当てはまらないという見解でよいでしょうか今回のトラブルでシステムファイルは絶対にviということがよーくわかりました▽4●naruenosekai●20ポイント>調べてみるとshadowファイルとのパスワードの食い違いの問題が良くかかれてますが、>これはshadowファイルを変更した場合に起こることで今回は当てはまらないという見解でよいでしょうかそのとおりです。shadowファイルはpasswdファイルのコピーで、パスワードを符号化してshadowファイルへ記録しています。passwdファイルはアカウントを持っていれば誰でも見えるため、パスワードが解析されないよう別のパーミッションのかかったファイルであるshadowファイルに保存しています。passwdファイルをベースにpasswdを書きこんでいるため、片保方だけUserIDやGroupIDなどが変ってしまうときちんと一致が取れなくなってしまうので、どちらかの内容を変えたときは、もう一方も同じように更新してあげましよう。userを追加・削除するだけならuseradd/userdelコマンドがお手軽です。▽5●withgod●20ポイント何度も答えてみて良いのかな?人力検索はてなは始めたばかりで、マナーとか良く解ってないのでマナー違反ならすいません(。;ファイルを誤ってFTPで更新をかけたところとの事ですが、具体的に何を更新したんでしょうか?ローカルに落としたのを、アップロードしただけの場合だと、それで改行コードの^Mが全行に入っていましたというのはイマイチ考えにくいのですが、予想で考えると次のどちらかと思います。起動シェルとして起動しようとしてこけてるんだと思います。元の改行コードを保持しないエディタで変更を加えたFTPクライアントで転送時に改行コードを変換するようになってる/etc/passwdの各エントリが正常であり、改行コードだけおかしい場合はWin上で直して転送したりするとまた同じ現象が起こるかもしれないので、Unix上で次のようにして直しましょう。テキストファイルの行末に^Mが表示されるUnixとWinなど、複数のOS間でファイルのやり取りする場合は適切に改行コードを扱えるエディタと、FTPクライアントを使ったほうが良いですよ。解決しました!ありがとうございます関連質問Windowsでのftpクライアントソフトの使い方についての質問です。...LDAPでFreeBSDのアカウント一元管理を行っています。□はてなトップ(C)株式会社はてな。