WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:パーミッションの設定

ひろゆき [MAIL] [WriteDate : Sun Apr 22 11:40:22 2001]

はじめまして、ひろゆきと申します。
下記のようなスクリプトを作成しましたが、パーミッションの
問題でうまく動作しません。mkdirでモード0777にしても実際には755になりその後copy行でDied at xxで停止します。
downloadディレクトリは777 オーナーnobodyグループnobodyにしました。コマンドラインではうまく行くのですが、CGI経由ではためでした。この場合どのようなパーミッションがひつようですか?
#!/usr/bin/perl

use File::Copy;
$images_dir = '/home/hiro/images';
@char = ('hiro,hiroyuki,0123456678,email@domain,01.jpg,02.jpg,03.jpg');
foreach $line (@char) {
 ($name,$fullname,$tel,$mail,$item0,$item1,$item2) = split(/\,/,$line);
}
mkdir("/home/hiro/public_html/download/$name",0777);
$up_dir = '/home/hiro/public_html/download/$name';
if ( $item0 =~ /jpg/ ) { push(@jpegs,$item0); }
if ( $item1 =~ /jpg/ ) { push(@jpegs,$item1); }
if ( $item2 =~ /jpg/ ) { push(@jpegs,$item2); }
foreach (@jpegs) {
 copy ( "$images_dir/$_" , "$up_dir/$_" ) || die;
}
chdir("$up_dir");
system ("/usr/bin/lha ad test.lzh *.*");
exit;


B-Cus [WriteDate : Sun Apr 22 16:01:07 2001]

0777 と指定しても、実際は umask の値が 0022 と
なっているので、0755 になったのでしょう。mkdir の
前に umask 0000 としておけばよいです。


ひろゆき [MAIL] [WriteDate : Mon Apr 23 09:14:56 2001]

B-Cusさんありがとうございます
教えていただいたやり方で解決しました。
root権限が必要なのかと思い、SETUIDなどしてみたり
泥沼にハマっていくところでした...

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]
ChaichanPAPA's World