sudo は一時的に別のユーザーになってコマンドを実行するコマンドです。
このsudoを設定するコマンドがvisudoです。
【hoge】 ユーザーが コマンド【/usr/bin/testcommand】をパスワードなしで実行できるようにするには
(root) ユーザーになって
visudo
を実行します。(エディタ vi が起動します。)
一番下に
hoge ALL=(ALL) NOPASSWD: /usr/bin/testcommand
と記述します。これだけで設定完了です。
なお全てのコマンドを sudo で実行できるようにするには
hoge ALL=(ALL) NOPASSWD: ALL
と記述します。
実行は(hoge)ユーザーになって
sudo /usr/bin/testcommand
とするとrootユーザーが上記コマンドを実行したことになります。
visudo を実行して
# Defaults requiretty
と「Defaults requiretty」の先頭にシャープをつけてコメントアウトします。
するとシェルにログインできないユーザーでもsudoを実行することが出来ます。
( PHPから sudo をする場合にはこの設定を行った後下記リンクのように設定します )
参考:http://hogehack.blog80.fc2.com/blog-entry-36.html