68user's page 掲示板

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

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