suexecに適したproftpdの設定

コンフィグの編集

vi /etc/proftpd.conf

変更

umask 027
LoadModule mod_exec.c

追記

ListOptions "-a"
PassivePorts 60000 60100
<IfModule mod_exec.c>
    ExecEngine on
    #ExecLog /var/log/proftpd/exec.log
    ExecOnCommand STOR /usr/local/bin/proftpdcgipermit %u %f
</IfModule>

proftpd から呼ばれる cgiに対してchmod u+xするスクリプトを作成

vi /usr/local/bin/proftpdcgipermit

cgiとaamobile という拡張子のファイルにu+xする

#!/usr/bin/perl
($u,$f)=@ARGV;
$f="/home/$u$f";
`/bin/chmod u+x $f` if($f=~/\.(cgi|aamobile)$/ && $u && $f && -e $f && ! -d $f);
chmod 755 /usr/local/bin/proftpdcgipermit