ラウンジプログラムをFTPで修正する場合は?

[上に] [前に] [次に]
ISA [E-Mail] 2000/03/24(金) 13:34:07
基本的なことなんで、恐縮です。このラウンジのプログラムで得たデータのパーミッションは550のようです。で、FTPアプリケーションを使ってデータ―を修正することができないです。FTPで修正できるそうに、パーミッションを修正するにはどうすればいいのでしょう?

cobalt 2000/03/25(土) 02:39:50
要点がよく解らないのですが? (^^;
まさか、人のHPに入ってデータを改竄するって意味じゃないでしょうし。
「このラウンジのプログラムで得たデータ」とは何を指しているのでしょうか?

ISA 2000/03/25(土) 11:40:57
すいません、わかりずらくて。
自分のサイトでこのwwwlng.cgiをうごかしています。で、wwwlng内にデータが自動作成されます(例えば、このファイルなら00030424.txt)。このファイルはもちろん、他人は書き換えできません。しかし、オーナーである自分自身も変更できないのです。
WS_FTP95を使って、削除しようとしたところ、パーミッションが550のため、オーソライズできないとのことでした。
例えば、ラウンジに変な投稿が入ってきて、こちらでその変な投稿だけを削除する場合。通常はFTPソフトでテキストをとりだし、変更してから送りかえせばいいわけですが、それができないのです。
良い助言をお願い致します。

cobalt 2000/03/25(土) 14:46:23
WS_FTPでしたら、パーミッションを変更したいファイルを選択して右クリック後、
ポップアップメニューからchmodを選択して出てきたダイアログボックスで
変更できます。

H&A 2000/03/26(日) 13:52:35
CGI によって生成されたファイルの所有者は、基本的にその CGI を実行したユーザになります。
多くの WWW サーバでは CGI を実行する際のユーザ/グループは nobody / nogroups などに設定されていますので、パーミッションが 550 の場合は一般ユーザ(CGI を設置したユーザも)からのアクセスは禁止されてしまいます。
この場合の解決策としては…

1) 指定ファイルのパーミッションを 666 などに変更する CGI を作成し、使用した後に FTP で送受信する。
2) 指定ファイルを HTTP で送受信するような CGI を作成し、使用する。

くらいですかねぇ。WWW サーバの管理者権限をお持ちであればほかにも方法はありますが。
1) 2) どちらにしても、作成した CGI を他人に悪用されないよう注意してください。

ISA 2000/03/26(日) 16:57:55
ありがとうございます。そうなんです。指定ファイルのパーミッションを666に変更したいのです。このページで手に入るラウンジのCGI
を666でファイルをつくれるようにすれば、どうすれば良いのでしょう?詳しい方、おしえてください。

H&A 2000/03/26(日) 17:13:05
ソースをざっと眺めてみただけなのではずしているかもしれませんが…
wwwlng.cgi の 502 行目 (sub appendTopic の、メッセージ追加直前) あたりに

chmod 0666, $file;

とか入れてみるとうまくいくかもしれません。

H&A 2000/03/26(日) 17:27:59
補足。
上記の方法は、今後作成されるトピックのパーミッションを変更するものです。すでに作成されたトピックに関しては、"2000/03/26(日) 13:52:35" の発言中の 1) などの方法でパーミッションを追加する必要があります。
ちなみに、パーミッションを 606 にすると同グループの他のユーザからのアクセスが禁止されるため、同じサーバを利用している他の人がトピックを勝手に書き換えることができなくなる…かも(サーバの設定によるので一概には言えませんが)。

H&A 2000/03/27(月) 09:27:38
> ちなみに、パーミッションを 606 にすると同グループの他のユーザからのアクセスが禁止されるため

今回のケースではファイルの所有者が nobody などになっているため、パーミッションを 606 にしても「他の人がトピックを勝手に書き換えることができなくなる」ことはありませんね。失礼しました。

ISA 2000/03/28(火) 06:46:04
[[解決]]
chmod 0666で解決しました。本当にありがとうございました

[上に] [前に] [次に]