Fedora Core 500の技
Valid XHTML 1.0!
正当なCSSです!

TOP > Linux > Fedoraの技 > 201-300 > 277

root権限の一部を一般ユーザに利用させるには

root権限は非常に強力であり、一般ユーザにroot権限を与えるのは大変危険です。しかし管理の都合上、あるコマンド(shutdownなど)だけは指定のユーザが使えるようにして管理者の負担を減らすことも可能です。

sudoを利用することで任意のユーザに対して指定のコマンド利用を許可することが可能になります。この時にrootパスワードを知らせる必要もありません。

visudoコマンドを利用して/etc/sudoersを編集します。これによりwheelグループに所属するユーザはすべてのコマンドを利用することが可能となります。初期設定ではvisudoはviコマンドで実行されます。

# visudo
# Uncomment to allow people in group wheel to run all commands
%wheel ALL=(ALL)    ALL この行を有効にする

johnユーザをwheelグループに所属させます。

# usermod -G wheel john

sudoコマンドに続いて希望するコマンドを入力します。するとパスワードの入力を求められますので、johnユーザのパスワードを入力します。コマンドが実行可能であることが分かります。

$ sudo /sbin/shutdown -h +3
Password: パスワードを入力

Broadcast message from root (pts/1) (Mon May 16 16:25:17 2005):

The system is going DOWN for system halt in 3 minutes!

また記録が/var/log/secureに保存されます。

May 16 16:45:01 server1 sudo:   john : TTY=pts/1 ; PWD=/home/john ; USER=root ; COMMAND=/sbin/shutdown -h +3

wheelグループに所属しないユーザが同じことを行うと、rootユーザに下記のメールが届きます。

$ sudo tail /var/log/messages
Password: パスワードを入力
ringo is not in the sudoers file. This incident will be reported.

これにより届いたメール

Subject: *** SECURITY information for server1.fedora500.jp ***
server1.fedora500.jp : May 16 16:15:36 : ringo : user NOT in sudoers ; TTY=pts/1 ; PWD=/home/ringo ; USER=root ; COMMAND=/usr/bin/tail /var/log/messages

2005-12-03 作成