CentOS:sudo を設定する

以前は su でユーザの制限をしていましたが
su コマンドでは rootのパスワードを直接入力するので
セキュテリティ的にもう少し配慮した sudo にて root権限にて
コマンドが実行されるようにします。


さて sudoの設定ですが次のとおりです。


sudoがinstallされているか確認しましょう

[aaa@localhost ~]$ yum list installed |grep sudo
sudo.i386 1.6.8p12-10 installed
[aaa@localhost ~]$


もしinstallされていなければ、rootになり次のようにinstallします。

yum install sudo


sudo設定は、sudoコマンドのヘルプで確認します

[aaa@localhost ~]$ man sudo


コマンドの使用方法の説明があります、最後の方に

関連項目
stat(2), login_cap(3), sudoers(5), passwd(5), visudo(8), grep(1),
su(1).


このvisudoコマンドを使ってsudoの設定します。
visudo(/usr/sbin/visudo)を使い、sudo できるユーザを /etc/sudoersに記述します

[root@localhost ~]# visudo


記述はユーザアカウント毎にもグループ毎にも設定ができます。
書式は、ユーザアカウント毎の場合

aaa ALL=(ALL) ALL


ユーザ名 どこから=(sudoされるユーザ名) 利用できるコマンドの制限
グループの場合は、グループ名の前に%を付けて記述します。

%wheel ALL=(ALL) ALL


これで次のように試してみます。

[aaa@localhost ~]$ ps -ef |grep httpd
aaa 4731 4712 0 19:43 pts/0 00:00:00 grep httpd
[aaa@localhost ~]$ cd /etc/init.d
[aaa@localhost init.d]$ ./httpd start
httpd を起動中: [失敗]
[aaa@localhost init.d]$ sudo ./httpd start
Password:<ここにaaaのパスワードを入力する>
httpd を起動中: [ OK ]
[aaa@localhost init.d]$


これで次回から sudo が使えるようになりました。