こんにちは! JQです。
前回は『SDK編~botoでS3アップロード~』 ということで、botoを利用してS3にアップロードしてみました。
今回は『EC2編~sudo権限~』と題して、ec2-userのsudo権限を制限してみたいと思います。
パスワード設定
1.パスワード設定
先ずはec2-userにパスワードを設定します。
1 2 3 4 5 |
$ sudo passwd ec2-user Changing password for user ec2-user. New password: Retype new password: passwd: all authentication tokens updated successfully. |
2.sudo権限の変更
/etc/sudoers.d/cloud-init でsudoコマンド時にパスワードを入力するように変更します。
1 2 3 |
$ sudo visudo -f /etc/sudoers.d/cloud-init #ec2-user ALL = NOPASSWD: ALL ec2-user ALL = (ALL) ALL |
3.確認
実際にsudoを試してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
$ ls /root/ ls: cannot open directory /root/: Permission denied $ tail /var/log/messages 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: Dec 18 10:39:01 ip-10-133-159-175 udevadm[1145]: --type=failed is deprecated and will be removed from a future udev release. Dec 18 10:39:04 ip-10-133-159-175 ntpdate[1172]: step time server 219.123.70.90 offset -0.096534 sec Dec 18 10:39:04 ip-10-133-159-175 ntpd[1178]: ntpd 4.2.6p5@1.2349-o Sat Mar 23 00:37:31 UTC 2013 (1) Dec 18 10:39:04 ip-10-133-159-175 ntpd[1179]: proto: precision = 1.191 usec Dec 18 10:39:04 ip-10-133-159-175 ntpd[1179]: 0.0.0.0 c01d 0d kern kernel time sync enabled Dec 18 10:39:04 ip-10-133-159-175 ntpd[1179]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123 Dec 18 10:39:04 ip-10-133-159-175 ntpd[1179]: Listen normally on 1 lo 127.0.0.1 UDP 123 Dec 18 10:39:04 ip-10-133-159-175 ntpd[1179]: Listen normally on 2 eth0 10.133.159.175 UDP 123 Dec 18 10:39:04 ip-10-133-159-175 ntpd[1179]: peers refreshed Dec 18 10:39:04 ip-10-133-159-175 ntpd[1179]: Listening on routing socket on fd #19 for interface updates : |
4.sudoでの特定のコマンドを禁止する。
また、sudoで特定のコマンドを制限したい場合は下記の様にします。
1 2 3 4 5 6 7 8 9 |
$ sudo visudo -f /etc/sudoers.d/cloud-init Cmnd_Alias NOTSU = /bin/su #ec2-user ALL = NOPASSWD: ALL ec2-user ALL = (ALL) ALL,!NOTSU $ sudo su - [sudo] password for ec2-user: Sorry, user ec2-user is not allowed to execute '/bin/su -' as root on ip-00-000-000-000. |
いかがでしたでしょうか?
次回は『EC2編~lsyncdでリアルタイムにファイル同期①~』と題して、lsyncdで同期処理をしてみたいと思います。
お楽しみに!