パスワードなしでsudoersファイルの権限を復元する方法は?

パスワードなしでsudoersファイルの権限を復元する方法は?

全内容:

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 -これを使わなくてもルートになることができます。sudorootユーザーのパスワードを知っていますか?

答え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 

関連情報