私の仕事では、プリインストールされたサーバーにソフトウェア/ハードウェアパッケージとして製品を出荷しています。私たちはOSにopen SUSE 10.3を使用してセットアップし、常にrootユーザーでログインしてボックスのメンテナンスを行います。最近、ボックスが返されたところ、お客様はネットワークインターフェイス経由でボックスに接続できなくなったとのことでした。だから私がボックスで作業を始めたとき、私はこの問題に遭遇しました:ログインするためのコマンドプロンプトで、ユーザー名「root」を入力してEnterキーを押します。次に、パスワードを要求される前でも、「ログインが正しくありません」と表示されます。
私はこれまでこの動作を見たことがなく、オンラインでそれに関する情報を見つけることができませんでした。誰かが何が起こっているのか知っていますか?
ありがとう。
失敗したrootログインに対して/ var/log/auth.logを確認します。あなたはこれらに似た何かを見つけるかもしれません:
Dec 30 07:31:51 vps login [18093]:(pam_securetty)access denied:tty 'hvc0' is not secure! Dec 30 07:31:51 vps login [18093]:FAILED LOGIN(1)for 'hvc0' for `root '、Authentication failure
最近のシステムでは、多くの新しいテクノロジーが使用されています。たとえば、XenServer仮想化インスタンスには、コンソールがhvc0として含まれている場合があります。
これは、コンソールを/ etc/securettyに含めることで修正できます。次のように入力するだけです。echo hvc0 >>/etc/securetty && kill -1 1次に、もう一度ログインしてください。
私にすぐに起こるいくつかの可能性:
修正するには(または、少なくともrootアクセスを再度取得します):
システムを再起動します。 grubプロンプトで、カーネル行を編集して「init =/bin/bash」を追加します。システムが起動すると、bashプロンプトが表示され、ルートfsは読み取り専用でマウントされます。 RWに再マウントする必要があります。次にrootパスワードを変更します。次に、syncを実行し、/をROを再度マウントして、「reboot -f now」(オプションで、再起動する前にさらに調査/修正を行います)して再マウントします。
注:ただし、コンソールttyは非常に奇妙な状態になります。たとえば、^ Cを押してプロセスを強制終了することはできません(^ CはまだSIGINTにマップされていないため)。ですから、INTを取得するまで、どこにでもpingを実行したり、他の処理を実行したりしないでください。何かを行う前に、openvtコマンドでさらにいくつかのVTを開きます。
(ところで、このトピックの詳細については、私のブログ投稿を参照してください ^ Cはプロセスを強制終了しません。SIGINTは強制終了します )
この時点では誰も気にしないと思いますが、この問題にぶつかっただけです。
シナリオ:SuSE Linux 11をレスキューモードで起動し、/ etc/shadowエントリをnullに置き換えて、rootがパスワードなしでログインできるようにします。その結果、元の投稿者は次のように言っています。何かわかりませんが、something elseはpasswdによって変更されています。
解決策は、実際のpasswdコマンドを使用することです。スティッキーポイントは以下のmount --bindです。これがないと、必要なブロックデバイスがないためpasswdが失敗します。
次に、通常のumount、umount、同期、停止。
これが誰かを助けることを願っています。
ある種のばかげた質問:キーボードが壊れていますか?
サーバーを起動し、シングルモードで起動してルートアクセスを取得し、「passwd」コマンドでパスワードを復元できますか。
Red Hatインストールでこれを行う方法に関するリンクは次のとおりです。
これがあなたを助けることを願っています
これは、より大きな問題の症状である可能性があります。ログインの問題を修正しても、あなたやあなたの顧客を待っている別のサプライズがあるかもしれません。おそらく、フレッシュインストールを実行してそれを実行する方がより安全です。
解決済み:
/ etc/default/shellinaboxで次のように変更しました:
SHELLINABOX_ARGS =-ビープ音なし
に:
SHELLINABOX_ARGS = "-no-beep --service = /:SSH"
これにより、SSHセッションとしてシェルが起動します。次に、/ etc/ssh/sshd_configに設定されているルールに従います。
PermitRootLoginはい
これはPAM認証モジュールに問題があります:
cd /etc/pam.d
/etc/pam.d
ディレクトリの "su
"も編集する必要があります
Sudo nano su
auth required pam_securetty.so
-この行は「#」でコメント化する必要があります。rootだけがrootとしてログインでき、たとえば他のユーザーからrootに変更できません。
まず、システムに入る必要があります。それはで行うことができます
init=/bin/bash
カーネルブートパラメータに。起動後、認証なしでルートシェルを取得しますが、それ以外は何も取得しません。
2番目に行うことは、ルートシェルをさらに展開しながら、システムを実行可能にする(したがってデバッグ可能にする)ことです。これは2つのステップで実行できます。最初に、次のコマンドでcharコンソールを開く必要があります
openvt -c 23 -f /bin/bash
23番目の仮想コンソールで2番目のルートシェルが開きます。これは、最初の仮想コンソールでalt /左矢印キーを押すことで到達できます(後でXから、alt/ctrl/f1でこの最初の仮想コンソールにアクセスできます)。
その後、次のコマンドでシステムを起動できます
exec /sbin/init
問題がなければ、システムは実行され、それ以上ログインすることはできませんが、tty23にルートコンソールがある間は、すぐに試すことができます。
ログインして、/ var/logのログファイルを確認してください。問題を見つけて解消するだけでは不十分な場合、このサイトは次の質問と興味深いエラーログの部分を待っています。
これはSSH経由ですか?ほとんどのディストリビューション(SuSEを含む)は、デフォルトでrootがSSH経由でログインすることを無効にします。関連する設定は、/ etc/ssh/sshd_configの「PermitRootLogin」です。それを「はい」に変更してSSHDを再起動し、それが機能するかどうかを確認します。
あなたの最善の策のように聞こえるかもしれませんライブCDを使用して、ボックスの実際のログイン構成を見てください。