仮想マシン上でリモートで実行されているRedHatボックスのリカバリモードに入る必要があります。
RedHat 564ビットEnterpriseEditionを使用しています。
SSHを使用してボックスにログインしています。 restartコマンドを使用して再起動できますが、リモートで使用していてUIからログインできないため、SSHで接続できるかどうかを知る必要があります。
本当の問題は、私がchown -R $USER /
ルートディレクトリ。
私はこれを結果に気づかずに、何かを機能させるための試行として試みていましたが、Sudoを使用しても何とか機能しませんでした。
途中で殺しました。でも、このバカのせいで須藤は使えません。
レスキューモードで何かできることを読みましたが、リモートでレスキューモードに入る方法がわかりません。 Linuxを再インストールできません。これは可能なオプションではありません。
とにかく、Sudoのアクセス許可を取り戻すことはできますか?
これを行うことは、現時点では機能しません。
chown root:root /usr/bin/Sudo
chown: changing ownership of `/usr/bin/Sudo': Operation not permitted
Sudo chown root:root /usr/bin/Sudo
sudo: must be setuid root
Sshが実行されないため、sshをリカバリモードにすることはできません。コンソールに乗る方法が必要です。これが仮想マシンであり、ホストを所有している場合は、ホストに接続してコンソールにアクセスする方法が必要です。これがAWSのようなサービスである場合は、運が悪いので、新しいインスタンスを構築し、ルートボリュームを不良インスタンスからデタッチし、新しいインスタンスにマウントして修正するなど、別の方法で回復する必要があります。
問題は解決され、この質問は閉じることができます。しかし、私はsshを介してこれを行うことができませんでした。仮想ボックスのインスタンスをオフにして再起動する必要がありました。 sshを介してこれを行うことは、議論の余地があります。
Rhel5インスタンスを再起動して問題を解決する方法:
1.Boot the system into single user mode (do this by pressing esc on the boot screen. you will get a terminal on the boot screen after doing this)
2.do chmod 0440 /etc/sudoers
Which should look like -r--r----- 1 root root 5882 Nov 19 18:03 /etc/sudoers
3.chown root:root /usr/bin/Sudo
4.chmod 4111 /usr/bin/Sudo
5.chmod 0440 /etc/sudoers
6.chmod 0770 /var/bin/Sudo/$USERNAME (note: you may have to use /var/run/Sudo/$USERNAME if /var/bin does not exist)
7.Reboot the machine in runlevel-5. (type init 5)
これはrootにsetuidし、Sudoエラーを解決します