初期アカウントがパスワード無しでsudo出来るのが気持ち悪いという貴方へ

この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。
毎日暑いですね、アイス珈琲を飲まずにはいられない小室です。皆さん、夏バテはしていませんか。 今日は暑いので、時々遭遇するぞわっとする事象を解決したいと思います。 みなさんが大好きなAmazonLinuxをはじめEC2を起動すると割り当てられる初期アカウント(例えばec2-user, ubuntu等)はsudoするのにパスワードなしで昇格出来ます。
[ec2-user@ip-10-99-46-145 ~]$ yum update
Loaded plugins: priorities, security, update-motd, upgrade-helper
You need to be root to perform this command.
[ec2-user@ip-10-99-46-145 ~]$ sudo yum update
Loaded plugins: priorities, security, update-motd, upgrade-helper
amzn-main                                                | 2.1 kB     00:00     
amzn-updates                                             | 2.3 kB     00:00     
Setting up Update Process
Resolving Dependencies
略〜
  それが気持ち悪いと思ったりしませんか。えぇ、私は最初ぞわっとしました。恐ろしいですね。 さてそのような場合は該当アカウントにパスワードをつけて、sudoする際はパスワードプロンプトを出しましょう。
[ec2-user@ip-10-99-46-145 ~]$ sudo passwd ec2-user
ユーザー ec2-user のパスワードを変更。
新しいパスワード: #パスワード入力
新しいパスワードを再入力してください: #同じパスワード入力
passwd: 全ての認証トークンが正しく更新できました。
その後/etc/sudoers.d/cloud-initファイルを編集します。
[ec2-user@ip-10-99-46-145 ~]$ sudo visudo -f /etc/sudoers.d/cloud-init #ec2-user ALL = NOPASSWD: ALL
ec2-user ALL=(ALL) ALL
ここでは必ずvisudoを使いましょう。必ず使ってよかったと思うはずです。変更後もし反映していないようでしたら以下の方法でリロードするとよいかと思います。
[ec2-user@ip-10-99-46-145 ~]$ sudo service sudo restart
これで起動中のインスタンス内でsudoをするときはパスワードを求められると思います。
[ec2-user@ip-10-99-46-145 ~]$ sudo yum update We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:     #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility. [sudo] password for ec2-user:  #設定したパスワードを入力
Loaded plugins: priorities, security, update-motd, upgrade-helper
Setting up Update Process
Resolving Dependencies
略〜
ちなみにこの設定しても、ブート時のUser Data(root権限ありの処理含む)を実行には影響を及ぼしません(もちろん起動後にSSHした後のsudo実行の時にはパスワードは求められますが) またパスワード設定→sudoers設定変更、反映の順番で実行しないと、昇格が出来なくなりますので気をつけましょう。  

AWS運用自動化サービス「Cloud Automator」無料トライアルはこちらから

CATEGORY :

COMMENT ON FACEBOOK