- - PR -
suidperlでwebからグループ追加したいのですが…
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-05-11 16:25
下記のPerlスクリプトを、
パーミッションを4755に設定して、 WEBから実行するとグループが追加されます。 #!/usr/bin/suidperl $ENV{PATH}=""; print "Content-type: text/html\n\n"; printf "I am %s.\n",(getpwuid($>))[0]; `/usr/sbin/groupadd -g 1001 test_group`; しかし、次のようにグループ名をブラウザから渡そうとすると うまく行きません。 #!/usr/bin/suidperl require "./cgi-lib.pl"; &ReadParse(); $ENV{PATH}=""; print "Content-type: text/html\n\n"; $gid = 1001; $groupname = $in{groupname}; $cmd_option = "-g $gid $groupname"; system("/usr/sbin/groupadd ", $cmd_option); print "グループ追加\n"; アパッチのエラーログを見ると、問題は、perlのtaint機能にあり、変数が汚染されている恐れがあるため、実行できないようです。 ↓ご参照URL http://www.kt.rim.or.jp/~kbk/perl5.005/perlsec.html system関数に引数で「汚染されている恐れのある変数」を渡すと汚染検査は行われないとこのページには書いてあるのですが、どなたか、このtaint機能を回避できました方がいらっしゃいましたら、是非、ご教示をお願い致します。 system関数の使い方が悪いのでしょうか??? |
|
投稿日時: 2004-05-12 10:41
すみません。
私の凡ミスで、同ページの説明で解決しました! 何しろ、一人なもので、このような凡ミスを指摘してくれる人もいません。 今後もよろしくお願い致します。 |
1