68user's page 掲示板

Prev< No. 2161〜2164> Next  [最新発言に戻る] [過去ログ一覧]
No. 2161 # あやの 2001/10/02 (火) 15:08:46
はじめまして
最近CGIを作りはじめたして、問題が・・・

サーバはUNIXでCGIの処理を行なった後に作られたファイルの所有権がすべてnobodyになってしまっていて、その作られたファイルの操作が全くできなくなってしまいました。所有権の変更も出来ないんです。
だれか助けて下さい。。
おねがいします。

No. 2162 # 68user 2001/10/02 (火) 16:51:17
>>2159 Nira
> そういえば、httpsの取得に良いサイトを発見しました。
ありがとうございます。このページをサンプルとして載せておきます。

>>2161 あやの
> その作られたファイルの操作が全くできなくなってしまいました。
    #!/usr/bin/perl
    system("rm -f ファイル");
    print "Content-type: text/plain\n\n";
    print "File removed.\n";
というような CGI スクリプトを作って、ブラウザから CGI に
アクセスすれば消せます。

> 所有権の変更も出来ないんです。
普通ファイルの所有者を変更できるのは root のみです。
# 設定次第でできる OS もありますが。

よって、
    - 事前にファイルを作成しておき、nobody が中身を変更できる
        ようにパーミッションを設定する。
    - ファイルの所有者は nobody とし、他のユーザがそれを
        参照・変更できるようにパーミッションを設定する。
    - ファイルの所有者を nobody 以外とする。
            サーバ管理者に suExec や cgiwrap を入れてもらうか、
            自分で suid なプログラムを作る。
            # http://x68000.startshop.co.jp/~68user/webcgi/permission.html
のいずれを選ぶ、ということになります。

No. 2163 # けんじ 2001/10/02 (火) 18:37:28
はじめまして、こんばんはっす。
突然ですがシェルスクリプトをつかってファイルを
書き換えようとしてるのですが
"ディレクトリースタックの番号指定が深過ぎます."
とコメントされ動いてくれません。どういうことなんでしょうか?
ちなみに このシェルスクリプトです。
わかるかたがいたら教えて下さい。
#!/bin/tcsh
set d=1
while(d<=16){
  cat -n invar3_$d.dat > ninvar3_$d.dat
  d++}
end

No. 2164 # 68user 2001/10/02 (火) 19:48:51
>>2163 けんじ
突っ込みどころがたくさんありすぎて書ききれないので、とりあえず
動くものを置いておきます。
    #!/bin/tcsh
    set d=1
    while ( $d < 16 )
        cat -n invar3_$d.dat > ninvar3_$d.dat
        @ d = $d + 1
    end

まずはマニュアルか、初心者向けの csh プログラミングの本を
読んで下さい。よい本が見付からなければ sh で書くのも手です。
sh なら結構な種類の本が出ています。

Prev< No. 2161〜2164> Next  [最新発言に戻る] [過去ログ一覧]