何ヶ月も触れなかった後、私は仮想サーバーの1つにログインして、OpenSSLを更新したいと思いました。サーバーはDebian7を実行しており、Sudo
はインストールされていません。
私は3つの方法を試しました:
ssh root@server
、パスワードが受け入れられ、その後:
Could not chdir to home directory /home/root: No such file or directory
Connection to server closed.
他のユーザーとしてログインしてからsu - root
。
No directory, logging in with HOME=/
その後、rootとしてログインせずに、通常のシェルに戻ります。
他のユーザーとしてログインしてから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
以下の内容はすべて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
モードで起動して上記の設定を編集する必要がある場合は、これを変更できます。