【回答】
sudo は他のユーザの権限でコマンドを実行するコマンドです。
(1)設定ファイル "sudoers" の編集
sudo 実行の許可やコマンドの制限を設定するには sudoers ファイル(/etc/sudoers)を使用します。
(*)sudoersの編集には visudo コマンドを使用します。visudo で編集した場合には構文のチェックが実行されます。設定ミスにより思わぬユーザに root 権限を与えてしまうことを避けるためにも直接sudoersを使用せず visudoを使用したほうが良いです。
例えば ユーザ "testuser"に権限を与えるには以下の行を追加します。
testuser ALL=(ALL) ALL
また wheelグループに権限を与えるには以下のコメント行を有効化します。
# %wheel ALL=(ALL) NOPASSWD: ALL
% はグループであることを示しています。
visudoでファイルセーブ時に構文エラーが見つかった場合には以下の警告が表示されます。
What now? e
>>> sudoers file: syntax error, line 29 <<<
What now?
Options are:
(e)dit sudoers file again
e(x)it without saving changes to sudoers file
(Q)uit and save changes to sudoers file (DANGER!)
(2)実行例
以下の例では testuserが sudo により コマンド "ls /root"を実行しています。
パスワードは root のパスワードではなく自分 (この場合は testuser)のパスワードを入力します。
[testuser@mysrv]$ sudo ls /root
Password:
Desktop anaconda-ks.cfg install.log install.log.syslog mbox
(3)ログ
ログは /var/log/messages に記録されます。
Dec 3 19:15:40 mysrv su(pam_unix)[5539]: session opened for user root by testuser(uid=500)
Dec 3 19:18:10 mysrv su(pam_unix)[5539]: session closed for user root
(4)パスワードキャッシュ
パスワードは 5 分間だけ記録されます。キャッシュを無効にするには sudoersに以下の行を追加します。
Defaults timestamp_timeout = 0
(*)本ページは Redhat Enterprise Linux 4以後を想定しています。
最終更新日:2012/12/22
[Redhat Enterprise linux 6(EL) FAQ トップへ]
[FAQ CENTER トップ]