Red Hat系OS(RHELやCentOS)をsudo化

2011.03.29.火
Server

トマト@ネットワーク云々担当です。


Ubuntuでのsudo実行はお馴染みですが、Red Hat系OS(RHELやCentOS)でも、sudo化する事が出来ますので、設定してみます。

Ubuntuのsudoについては、下記URLを参照して下さい。
https://wiki.ubuntulinux.jp/UbuntuTips/Others/RootSudo

検証環境

サーバ:CentOS release 5.5

sudo化を設定する


一般ユーザから、rootユーザになる
$ su -


必要に応じてユーザを追加します
# useradd tomato
# passwd tomato


# vim /etc/group


「wheel」グループに、sudo実行出来るユーザを追加します
wheel:x:10:root,tomato,・・・・・


# visudo


先頭のコメントアウト(#)を外します
## Allows people in group wheel to run all commands
%wheel        ALL=(ALL)       ALL


rootアカウントをロック(無効化)します
# passwd -l root
Locking password for user root.
passwd: Success
# exit





■sudo実行してみる
sudo無しで実行すると怒られます
$ reboot
reboot: must be superuser.


パスワードを聞かれるので、一般ユーザ(tomatoユーザ)のパスワードを入力
$ sudo reboot
[sudo] password for tomato:

Broadcast message from root (pts/1) (Tue Mar 29 18:49:05 2011):

The system is going down for reboot NOW!


rootになる

どうしても、rootユーザになる必要がある場合のみ、rootになりましょう。
今までの方法だと弾かれます
$ su -
パスワード:
su: パスワードが違います


パスワードを聞かれるので、一般ユーザ(tomatoユーザ)のパスワードを入力
$ sudo su -
[sudo] password for tomato:
# whoami
root


小ネタ

sudo実行を行うと、ログに記録されます。
これで、何かあった時に、どのユーザが、どんな操作を行ったかを確認する事が出来ます。
$ sudo date
[sudo] password for tomato:
2011年  3月 29日 火曜日 18:43:51 JST


/var/log/secure
「tomato」ユーザが、「/tmp」ディレクトリで、「/bin/date」コマンドを実行した
Mar 29 18:43:51 localhost sudo:   tomato : TTY=pts/0 ; PWD=/tmp ; USER=root ; COMMAND=/bin/date