68user's page 掲示板

Prev< No. 212〜222> Next  [最新発言に戻る] [過去ログ一覧]
No. 212 # 68user 1999/03/22 (月) 05:47
> それは、ホームページの更新状況を検知するようなもの
mmさんのおっしゃる通り、HTTPのHEADメソッドを使えばいいでしょう。
レスポンスのヘッダ部分から
    Last-Modified: Wed, 20 May 1998 14:59:42 GMT
などという情報が得られます。ただし、(少くともapacheでは)SSIを
使っているページでは、Last-modifiedを返してくれません(例えば
うちのトップページ)。また、Last-Modifiedを返さないサーバもあるでしょう。

ソケットの使い方については
    http://X68000.startshop.co.jp/~68user/net/
が参考になるかもしれません。

> CGIについてですが、少し質問があります。
ただし、CGIとして動作させるのは非現実的かと思います。
なぜなら、いろんなサーバに接続するのはそれなりに時間がかかります。
重い時間帯なら数分待たされることも珍しくありませんので、
その間にCGIのタイムアウトが発生するでしょう。

ですから、コマンドラインから動作させるか、あるいはCGIで動かすとしても、
    - すぐにclose(STDOUT)してコネクション自体を切断
    - その後 更新時刻のチェック
    - チェック結果をHTMLに吐き出す
    - (あなたが)すこし時間が経ったらそのHTMLにアクセス
とした方がいいと思います。

> or探しているのですが
プログラム自体は比較的簡単に作れますから、探せばあるのでしょうが、
残念ながら知りません。ただ、IEやNNにそういう機能が付属しているのでは
ないでしょうか。

No. 213 # takashi 1999/03/23 (火) 17:13
はじめまして。

UNIX初心者なので、いろいろ分からない事があり、
いきなりですが、みなさんに教えて頂きたいことがあります。

シェルスクリプト内にてスーパーユーザーになりあるコマンドを
発行したいのですが、スーパーユーザーになったところで
プロンプトが帰ってきてしまい、以降の処理に行きません。

どの様にすれば、シェルスクリプト内にてスーパーユーザーになって
コマンドを発行できるのでしょうか?

よろしくお願い致します。
できれば、シェルのサンプルを見せていただければと思っております。

No. 214 # M.Masuda 1999/03/23 (火) 18:42
>へぇぇぇぇ、ほんとにprocmailを特別扱いしてるんですね。
ありゃりゃ、ほんとにそうだったんですか、私の勘違いなのかなぁ
なんて思って、「違いますよぉ」なんてレスが返って来るかと思っ
てました。(^^;;;;

一番難しいと言われるsendmailに関しては、既に私の理解を超えてる
ので、今は逃げます...(爆)
将来の、目標としておきます。(^^ゞ

>きついことをおっしゃる(笑)
そんなそんな、コウモリ本もなくてあれだけ理解してればぜんぜん
○では?...。
でも本当にシステムによってかなり設定が違うんですね。
勉強になります。

>すいません、wu-ftpdは使ったことがないのです。
残念です。一応目的の事は達成出来たのですが、その手順での
他の部分への影響が知りたかったのです。
この辺は、いくら1ソフトの設定が出来ても、システムそのものに
詳しくないと、分かりませんからね。

プログラマーの弟は、free630kbと私に自慢してました。(^^ゞ>mmさん
#すいません、違う話題で...>68Userさん

こんにちはtakashiさん
シェルスクリプト内でrootになる?
それってどうやるのですか?
普通suコマンドやpasswdコマンドでは、わざとユーザーに入力要求
を出して、システムを保護するようになっているという話を聞いた
事が有ります。
それに、スクリプト内にrootのパスワードを記述しなければいけな
いのでは?
もしそうなら、それはセキュリティー的に辞めた方がいいと思いま
すよ。
何をしたいのかが分かりませんが、root権限でログイン中以外の時
に、何かをさせたいのであればcrontabなどで実現させるのがいいと
思いますヨ。
#外しているかなぁ(^^ゞ

No. 215 # takashi 1999/03/23 (火) 20:11
M.Masudaさん、ありがとうございます。

Masudaさんと言う通り、セキュリティの問題のあるやり方なので、
他の方法を考えたいと思います。

また、お世話になると思いますが、その時にもよろしくお願い致します。

No. 216 # M.Masuda 1999/03/23 (火) 23:51
>他の方法を考えたいと思います。
どんな事をしたいのかを書くと、きっと有効な情報が得られると
思いますヨ。

またまた、御世話になります。m(_ _)m
シェルスクリプトのif文で、前のコマンドの終了結果を知りたい場
合はどうすればいいのでしょうか?
具体的にはこうです。
/#!usr/bin/sh
vi text.txt
if [ 条件(text.txtを更新したら) ];then
        date>>text.txt
fi

条件のところでの指定法方が解からないのです。(^^ゞ
#すげー初心者ですね←私

No. 217 # ぬいぐるみバンザイ 1999/03/24 (水) 00:38
ありがとうございます。m(__)m>mmさん、68userさん

やっぱり、CGIで全部自動というのは、難しそうですね。
教えて貰ったことを参考に作ってみます。また来ることがあるかも知れませんが
その時はよろしくお願いします。m(__)m


ではでは

No. 218 # 68user 1999/03/24 (水) 01:23
> takasiさん
僕がやるとすれば…

sudoを使う
    特定のユーザに対して、特定の権限(この場合root)で、特定のコマンドだけ
    実行を許可するコマンド。例えば hoge というユーザだけ cat /etc/master.passwd
    を実行できる、と設定すれば、
        % cat /etc/master.passwd
        Password: ***(rootのパスワード)
        (/etc/master.passwdの内容が表示される)
    となります。その後5分間以内(多分設定で変更可能)なら、再度同じコマンドを
    打っても rootのパスワード入力を省けます。

wrapperを使う
    普通スクリプトにはsuidビットを立てられません。でもバイナリなら可能です。
    そこで、Cでwrapperを書き、その中でスクリプトを実行させるようにします。
        % chmod 4755 wrapper
        % chown root wrapper
    としてwrapperを実行すると、root権限でスクリプトが実行されます。

suidperlを使う
    普通スクリプトにはsuidビットを立てられませんが、perlだけは例外です。
        % chmod 4755 perl-script
        % chown root perl-script
    とすれば、root権限でperl-scriptが動きます。

くらいでしょうか。2番目の方法のソースは、よろしければお見せしましょうか?

No. 219 # 68user 1999/03/24 (水) 01:47
ん〜、コマンドの status は $? を見ればいいですけど、
今試してみたところでは、更新してもしなくても、どちらも
0 を返してきました。正常終了は正常終了なので更新の有無は
関係ないのでしょう。

で、この場合は最終更新時刻が更新されたかを調べるとか、
/tmpにコピーして、それを編集させ、元のファイルとdiffする
などするのがいいんじゃないでしょうか。

No. 220 # M.Masuda 1999/03/24 (水) 12:46
>ん〜、コマンドの status は $? を見ればいいですけど、
あれま、やっぱ甘かった!。
viの終了コードで判別しようと思ったんですが...、そうですね
よく考えたら、保存しようがしまいが一応正常終了だから、それ
では判別できませんね。(^^ゞ
わざわざ試してもらってすいません。
#でも「$?」の方法が知らなかった...
#ホント初心者です。(*^_^*)

DOSの場合、終了コードはかなりいい加減だっただった記憶が
有ります。UNIXの各コマンドの場合正確にコードを返してくるの
ですか?、それからどんな時にどんな終了コードが返るかは、man
で調べる以外に基準の様なものはあるのでしょうか?。
#例えば正常終了だと0が返る等

/tmp/の方法でやってみます、もっと単純に出来ないかと思った
のですが。(^^ゞ


>2番目の方法のソースは、よろしければお見せしましょうか?
この方法は、私も非常に興味があります是非お願いします。m(_ _)m

No. 221 # H.SAWA 1999/03/24 (水) 20:07
gettimeofdayについて

No. 222 # H.SAWA 1999/03/24 (水) 20:08
gettimeofday

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