68user's page 掲示板

Prev< No. 219〜224> Next  [最新発言に戻る] [過去ログ一覧]
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

No. 223 # M.Masuda 1999/03/25 (木) 00:30
>2番目の方法のソースは、よろしければお見せしましょうか?
  この方法は、私も非常に興味があります是非お願いします。
すいません。これって「wrapperを使う」方ですね。
勘違いしてました。

興味があるのは、perlでの方です。
「suidperlを使う」ってのは、やってみましたが動きませんでした。
なぜなんだろう?

No. 224 # 68user 1999/03/25 (木) 17:04
> 「suidperlを使う」ってのは、やってみましたが動きませんでした。
書き方が悪かったですが、普通にperlスクリプトを書いて、
    chown root script;chmod 4755 script
として scriptを実行すれば、scriptがsuidされているかどうかを
perl(/usr/local/bin/perl)が調べくれて、もしsuidされていたら
勝手にsuidperlを実行してくれます。suidperlはrootにsuidされている
プログラムなので、そこで実行権限をscriptのオーナー(この場合はroot)
に変えて実行してくれるわけです。
# perl4はどうなるか知らない。

shやcshはそういうことはしてくれないので、suidスクリプトは
実行者の権限でしか動きません。

ちなみにCで書く方法も簡単で、特定のコマンドをexeclやexecvする
プログラムをCで書いて、コンパイルして、
    chown root program;chmod 4755 program
するだけです。

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