Perl でsetuid されたCGIの実行
CentOS5.1で、setuidされたPerlのCGIを実行したところ、見慣れないエラーが出て失敗する。
Can’t do setuid (cannot exec sperl)
ググったところ、どうやら、CentOSに付属されているperlでは、setuidされたCGIは実行できず、別途、setuid用のperlをインストールする必要があるとのこと。
インストールは簡単で以下のとおり。
# yum install perl-suidperl
そして、CGIの1行目は、
#!/usr/bin/perl
ではなくて、
#!/usr/bin/suidperl
にする。
ついでに、おまじないも書いておくと吉。
$< = $>; $( = $) = 0;