web-dev-qa-db-ja.com

rootログインはサイレントに失敗します

何ヶ月も触れなかった後、私は仮想サーバーの1つにログインして、OpenSSLを更新したいと思いました。サーバーはDebian7を実行しており、Sudoはインストールされていません。

私は3つの方法を試しました:

  1. ssh root@server、パスワードが受け入れられ、その後:

    Could not chdir to home directory /home/root: No such file or directory
    Connection to server closed.
    
  2. 他のユーザーとしてログインしてからsu - root

    No directory, logging in with HOME=/
    

    その後、rootとしてログインせずに、通常のシェルに戻ります。

  3. 他のユーザーとしてログインしてからsu root。これでは何も起こりません。通常のプロンプトに戻り、rootではなく他のユーザーとしてログインしたままです。

月曜日までに手動でサーバーを再起動する機会がありません。ルートシェルを取得するためにできることはありますか?サーバーが危険にさらされる可能性があり、(rootアクセスなしで)それを確認するにはどうすればよいですか?ありがとうございました!

いずれの場合も、間違ったパスワードを入力すると、マシンは通常どおり文句を言います。

/rootは存在し、/etc/passwdは正しいディレクトリをリストします。なぜsshの考え方が違うのかわかりません。


これは重要かもしれません。失敗したsu呼び出しの後に$?をチェックすると、1が返されます。これは、suのマニュアルページによるとSystem or authentication failureです。どうすればもっと冗長にすることができますか?


以下で要求されるように、ssh -vの出力:

Last login: Fri Apr 11 17:47:46 2014 from some_client
Could not chdir to home directory /home/root: No such file or directory
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
debug1: channel 0: free: client-session, nchannels 1
Connection to server closed.
Transferred: sent 3136, received 2448 bytes, in 0.0 seconds
Bytes per second: sent 299688.7, received 233940.7
debug1: Exit status 1
3
janoliver

以下の内容はすべてfromここ です。

エラーメッセージは、ルートのホームディレクトリが見つからないことを示しています。 mkdir /rootで再作成できますが、空になります。

通常、rootとして直接ログインしないでください。リモートログインとXセッションでは、すべての直接ルートアクセスを無効にする必要がありますが、テキストモード端末からのルートアクセスを許可すると、問題が発生したときに命を救うことができます。常に実際のユーザーとしてログインしてから、suまたはsu -(およびもちろんrootパスワード)を使用してrootユーザーに変更する必要があります。

ただし、あなたの場合、まだ/rootディレクトリがないため、suは効果的ではありません。

/ rootディレクトリを作成した後でも、いくつかのデフォルトファイルが欠落しています。

必要なファイルはデフォルトの.bash_profile.bashrcです。これらは/rootにコピーする必要があります。先頭の.はファイルが非表示になっていることを意味するため、ファイルを表示するにはls -aを実行する必要がある場合があります。

[〜#〜]編集[〜#〜]

実際の問題は、rootユーザーの場合、シェルが/bin/falseに設定されていることが判明しました。これは、次のコマンドを発行することで確認できます。

getent passwd root

この場合、上記のコマンドの出力は次のようになります。

root:x:0:0:Netbios Domain Administrator:/home/root:/bin/false

Sudoユーザーがいる場合、またはマシンをsingleモードで起動して上記の設定を編集する必要がある場合は、これを変更できます。

3
Ramesh