perlでパーミッションの変更をするには?
[上に]
[前に]
[次に]
みくに
1999/05/27(木) 04:17:33
perlでパーミッションの変更を行いたいのですが
chmod 0644, abc.txt;
としても変更されません。。 私なりにいろいろ思考錯誤したの
ですがどうしても原因がわからないのでどなたか教えて下さい。
chmod 0644, abc.txt;
chmod 0644, "abc.txt";
chmod 0644 abc.txt;
↑この3つめの場合だと
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, you@your.address and inform them of the time the error occurred, and
anything you might have done that may have caused the error.
が出てしまいます。。
何が原因なのでしょうか。。。 よろしくおねがいします。
ふじ
1999/05/27(木) 04:23:23
chmod(0644, "abc.txt");
chmodの後は、リスト。
ふじ
1999/05/27(木) 04:27:54
あれ、もしかして、変更しようとしているファイルの所有者と、
Perlの実行権限のあるユーザーが違ってませんか?
#例えば、FTPでアップロードしたファイルをCGIからパーミッション変更しようとしているとか?
みくに
1999/05/27(木) 04:36:08
はい。。 FTPでアップロードしたファイルをCGIからパーミッションの
変更をしようとしております。。。
この作業(FTPでアップロードしたファイルをCGIからパーミッションの変更)は無理なのでしょうか・・。
無茶な質問で申し訳ありません。 よろしくおねがいします。
ふじ
1999/05/27(木) 04:57:47
>この作業(FTPでアップロードしたファイルをCGIからパーミッションの変更)は無理なのでしょうか・・。
CGIが、その(設置者)の権限で動くように設定してあるサーバーでない限り、無理だと思います。
どうしてもしたいなら、あらかじめそのファイルをCGIで作成して置けば、
変更できますが・・・
#!/usr/local/bin/perl
system("cp アップロードしたファイル パーミッションを変更したいファイル");
chmod (0664 , "パーミッションを変更したいファイル");
こんな感じのCGIを作って一度動かせば、アップロードしたファイルがコピーされます
(所有者はCGIの実行権限者)から、以後、それについてはCGIからパーミッションの操作が出来るかと。
みくに
1999/05/27(木) 06:51:19
[[解決]]
ふじさん。 どうもありがとうございます。
明確に理解できました。
詳しく方法まで記載していただき助かりましたっ。
[上に]
[前に]
[次に]