全内容:
RHEL 7.1を実行しているAmazon EC2「階層」(VPS)を起動し、SSHキーを作成しました。
EC2は新しいRhel VPSに対してec2-userという名前のユーザーを自動的に作成し、このユーザーはsudoersファイルに次の権限を持ちます。
ec2-user ALL = NOPASSWD: ALL
「e」(パスワードを含む)という新しいユーザーを作成し、それをsudoersファイルに追加してみました。
VIを使用して/ etc / sudoersファイルを編集しようとすると、ファイルに読み取り専用というメッセージが表示され、権限を600に変更しました。 :
sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
ルートが必要で「sudo」できないため、再び440に変更することはできません。
解決策が実行されているとどこかで読みました。
pkexec chmod 0440 /etc/sudoers
ただし、パスワードのないec2ユーザーにパスワードを入力するように求められます。
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run `/usr/bin/chmod' as the super user
Authenticating as: Cloud User (ec2-user)
Password:
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized
This incident has been reported.
私たちは今何をすべきですか? sudoersファイル440 aginを作成する方法を知っている人はいますか?
答え1
はい - これは確かに「トラップ」です。visudo
この問題は後で使用することで回避できます。私はRHEL7と本質的に同じCentOS 7仮想マシンを持っています。ルートパスワードを知っているので、su -
これを使わなくてもルートになることができます。sudo
rootユーザーのパスワードを知っていますか?
答え2
通常、これはAmazonがユーザーにsudo
便利なsudo権限を提供するため、EC2インスタンスに対する権限を高める唯一の方法です()。ほとんどの人が事前定義されたユーザーを使用しているため、ec2-user
パスワードを設定するのが難しい人はほとんどいません。root
これがまさにこの質問です。
このマシンを復元する方法は次のとおりです。
- 機械の電源を切る
"/"
損傷したマシンからディスクを取り外します(どのデバイスかを覚えてください)/dev/sda1
。- ディスクをワーカーマシンに接続します(これを行うと装備)
mount
ワーカーコンピュータのディスク(使用装備)- 権限の変更(
sudo
仕事用コンピュータに対する権限があります) umount
ディスク- 作業中の機械から取り外し、損傷した機械に取り付けます。
- 作業機械を起動
複数台のマシンを保有することが役に立ちますが、修理にマシンが1つだけ必要な場合でも、約1時間以内に作成、使用、削除が可能です。
追加資料:
答え3
インスタンスに重要なコンテンツが含まれていない場合は、学習体験とし、廃棄して再起動することをお勧めします。変更する必要がある場合は、インスタンスをシャットダウンしてディスクイメージを保存し、別のインスタンスにマウントして権限を変更します。
答え4
rootユーザーが有効になっている場合は、「su」コマンドまたは「login root」コマンドを使用してrootシェルに入ります。それでは試してください。
chmod 440 /etc/sudoers