システム管理用のプログラムを Ruby で書いてみようと思った。
root権限が必要なことを一般ユーザ権限でやりたいので、
suidperl っぽいのはないかな、と探してみたら、
Matzが、2003年にメーリングリストでこんなことを言ってたよ。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/72754
A wrapper is a friend of you.
My grandpa once told me that never try suidruby, before he died 30
years ago. At that time, I didn't understand what he meant.
matz.
wrapperを書け、ってことか。
たしかに、suidperlみたいなのは危険っちゃ危険よね。
このへんにも書いてあるけど。
setuid なスクリプト
http://ya.maya.st/d/200908a.html#s20090810_1
うーん、どうすっかな。
Perlで書いて、suidperl 使うか、wrapperを書くか。
wrapper も数行書けば良いだけなんだけど、やっぱりちょっと面倒だなあ。
wrapperの例↓
http://stackoverflow.com/questions/556194/calling-a-script-from-a-setuid-root-c-program-script-does-not-run-as-root