ファイル名の変更ができない
[上に]
[前に]
[次に]
ぷよママ
[E-Mail]
1998/04/06(月) 22:37:15
Perlでファイルの削除と名称変更をしたいと思います。
まず、ファイル1を削除し、次にファイル2のファイル名をファイル1に変更したいのですが、
ファイル名変更ができないのです。なにが悪いのでしょうか?
以下
unlink $FNAME1;
rename( $FNAME2, $FNAME1 );
B-Cus
1998/04/06(月) 23:17:15
ファイル名変更ができないのです。なにが悪いのでしょうか?
> unlink $FNAME1;
> rename( $FNAME2, $FNAME1 );
unlinkとrenameのどっちがうまくいかないんですか?
ちゃんと問題を切り分けましょう。
chmod 0777 $FNAME1;
chmod 0777 $FNAME2;
unlink $FNAME1;
rename( $FNAME2, $FNAME1 );
だとどうなりますか。これでうまくいくならパーミッションの
問題でしょう。
もしダメなら、telnetでログインしてコマンドラインからCGIを実行して
ください。これがうまくいった場合は、CGIがnobody権限で実行
されているのかもしれません。
# どの権限で実行されているかは system("/usr/bin/whoami");
# でわかります。
もしnobodyで実行されているなら…どーしよっかな。
1. CでCGIを書いてsetuidビットを立てる。
2. パーミッション777のディレクトリを作ってその中でファイルを扱う。
のどちらかでしょうね。簡単なのは2でしょうか。ただし2はセキュリティ
ホールとになりかねないので取り扱いは慎重に。
3. プロバイダにCGIを所有者の権限で動かす方法があるか質問する。
ってのもありかな。
[上に]
[前に]
[次に]