68user's page 掲示板

Prev< No. 3175〜3180> Next  [最新発言に戻る] [過去ログ一覧]
No. 3175 # へにか [URL] 2003/04/04 (金) 07:43:58
>>3173 68user
> 誤解のなきよう。
了解しました。

色々調べていただいて、ありがとうございます。
http://www.onelook.com/?w=checksum&ls=a#all_com
のリンク先、これから追いかけてみます。

そこで、早速二箇所追いかけたところ、面白い記述を見つけました。

http://www.wikipedia.org/wiki/Checksum
> Note: The term 'checksum' is also often used incorrectly to mean a CRC.

http://www.wikipedia.org/wiki/CRC
>CRC's are often referred to as "checksums," but such
> designations are not accurate since, technically,
> a checksum is calculated through addition, not division.

incorrectlyを始め、思わずbabylonで単語の意味を調べてしまいました。;)
とにかく歴史上などの何らかの事由で捻じ曲がったのではないかと推測
していますが、なんとかその確証が得られるよう、調べてみます。
運良く見つけたら、連絡します。見つけられなかったら、次回の(他の
ネタを含む)書き込み時に、その旨お伝えいたします。

#教えて頂いたリンク先、情報の宝庫ですね。ありがとうございます。

No. 3176 # へにか [URL] 2003/04/04 (金) 07:55:14
#連続ですみません。

>>3173 68user
>やっぱりわたしの認識が変なのですかねぇ。
少なくとも、cksumが存在する以上、(繰り返しになりますが)何らかの
事由があったのでしょうから、変と思わなくても良いのではないかと思
います。といいますか、その事由に依存すると思いますので、変かどう
かという問題ではないかもしれません。

#尊敬する68userさんでも困難な問題なので、わたくしごときが調べ
#きれるかどうか自信ないですが、挑戦してみます。

No. 3177 # ある厨 2003/04/05 (土) 00:56:50
ども。以前erro.cgiの件でお世話になった者ですが、
どうしても解決できない事が有り、質問させてください。

Web上にてユーザーがアカウントを自動登録できるようにしたのですが
登録したユーザーのquotaをcronで設定したく下記のようにしてみました。
つか見つけてきました。
*/5 * * * * edquota -p foo `awk -F":" '$3 > 1000 {print $1}' /etc/passwd`

idが1000以上のユーザーに予め設けたユーザーfooのquotaを例えばsoft 20000
と同じに設定すると言うものですが、これをcronで走らせても
なぜか登録ユーザーのquotaには反映されません。
しかし、直接#rootで上記コマンドを打つと反映されます。

で、コマンドが長すぎるのかとも思い、
下記のように二つに分けてcronで走らせてもだめでした。
勿論、直接コマンドではOKです。

*/5 * * * * awk -F":" '$3 > 1000 {print $1}' /etc/passwd > member_id.txt
*/6 * * * * edquota -p foo `cat /root/member_id.txt`

二つに分けた場合ではmember_id.txtは作成されているから
edquota -p info `cat /root/member_id.txt`がcronで作動してない
ということになりますが、理由がわかりません。

長文で申し訳ありませんがご教授お願いします。

No. 3178 # ある厨 2003/04/05 (土) 01:11:02
あ!
edquota -p info `cat /root/member_id.txt`がcronで作動してないは
edquota -p foo `cat /root/member_id.txt`がcronで作動してないです。

No. 3179 # ある厨 2003/04/05 (土) 02:11:59
すみません。自己解決しました。
cronからメールが来てました。
/bin/sh: edquota: command not found

/usr/sbin/edquotanにしたら解決しました。
板汚してすみませんでした。
で、ついでと言っては何ですが、、、

suEXECを使ったCGIはその所有者の権限で動くわけですが、
その所有者には/bin/falseとしてシェルは利用出来ないようにしています。
でも、コマンドが使える(例えばtelnet.cgi)CGIではcat /etc/passwd
等と出来てしまいます。
これは誰の権限で動いているのでしょうか。
OSはLinuxで鯖はApacheです。

No. 3180 # 68user 2003/04/05 (土) 16:42:15
>>3179 ある厨
> その所有者には/bin/falseとしてシェルは利用出来ないようにしています。
/etc/passwd に書くログインシェルはあくまで
    「ログインするときに起動するシェル」
です。

ログインとは telnet や rlogin や ssh 経由でログインすることを指します。
よって、cron から起動したり、setuid(2) して exec(3) する場合は関係
ありません。

web サーバは nobody や www 権限で動かされることが多いでしょうが、
/etc/passwd で
      nobody:*:65534:65534:Unprivileged user:/nonexistent:/sbin/nologin
      www:*:80:80:World Wide Web Owner:/nonexistent:/sbin/nologin
などと /sbin/nologin となっているのは、単にその権限でログインさせない
という設定になっているだけで、その権限でのプロセスの実行を制限している
わけではありません。


>>3176 へにか
(狭義の) checksum や parity や CRC や hash はデータ誤りを検出するための
一方式だと思うのですが、「データ誤りを検出するためのもの」一般は英語で
何て言うんでしょうね?

      http://www.wikipedia.org/wiki/Checksum
にあるように「integrity-protection measure」としか言いようがないなら、
「データ誤りを検出するためのもの」という意味で「checksum」という用語を
使ってもいいんじゃないかなぁ、となんとなく思っております。

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