68user's page 掲示板

Prev< No. 456〜546> Next  [最新発言に戻る] [過去ログ一覧]
No. 456 # 68user 1999/10/03 (日) 06:48
> sedmailで添付ファイルを送るにはどうしたらよいのでしょうか?
自分で MIME ヘッダを付ければいいです。まず
    http://www.mew.org/Newsletters/3.html
をよく読んで、multipart mail の構造を理解すると。で、sample.txt に
    From: my@mail.address
    To: foo@bar.com
    Subject: This is test mail.
    Mime-Version: 1.0
    Content-Type: Multipart/Mixed; boundary="--Next_Part--"
    Content-Transfer-Encoding: 7bit

    ----Next_Part--
    Content-Type: Text/Plain; charset=iso-2022-jp
    Content-Transfer-Encoding: 7bit

    ほげ

    ----Next_Part--
    Content-Type: Text/Plain; charset=iso-2022-jp
    Content-Transfer-Encoding: 7bit

    ふが

    ----Next_Part----
などと書くと。そしたら
    % nkf -j < sample.txt | sendmail foo@bar.com
で送信です (nkf で文字コードをiso-2022-jpに変換してるわけ)。

勝手に MIME ヘッダを付けてくれるソフトもあるんじゃないかと
思うんですが、残念ながら僕は知りません。

No. 457 # 二太郎 1999/10/03 (日) 21:41
始めまして二太郎と申します。
大学で急にメールサーバーの管理をさせられてしまいました。
sedmailを使ってメールの送受信のテストをしたところ、「$ mail」
としてメールを読むとメールの本文が半角だけの場合はヘッターと
本文ともに読めるのですが、本文に全角の文字を使うと「*** Mess
age content is not printable:delete, write or save it is to
a file ***」とでてメールの本文が読めません。しかし「$ mail |
more」としてメールを読むと全角の文字が含まれるメールでも読む
ことが出来ます。「$ mail」としても全角の含まれるメールを読め
るようにしたいのですが、初心者の私にはどの辺から手を付けてい
いのか分かりません。何かアドバイスをいただけたらと思い、書き
込みをさせていただきました。よろしくお願いします。

ちなみに今日1日調べて私なりに考えたのは「sendmail.cf」の「KA
NJI_CONVERSION」の所かと思っています。どうでしょうか?

No. 458 # 68user 1999/10/04 (月) 00:09
> *** Message content is not printable:delete, write or save it is to a file ***
このメッセージを出してるのは mail コマンドであって、sendmail ではないです。
    % env LANG=ja mail
    % env LANG=ja_JP.JIS mail
などとするとダメですか? あるいは日本語対応の mail コマンドが用意されて
ないですか?

ガッコの Solaris では /bin/mail、/usr/bin/mail は LANG をいじっても
「*** Message content is…」となってしまいましたが、/usr/ucb/mail
では LANG をいじらなくてもできました。
# はて、Solaris の /bin/mail・/usr/bin/mail では日本語メールは
# 読めないのかなぁ…?

> $ mail | more としてメールを読むと全角の文字が含まれるメールでも読む
> ことが出来ます。
デフォルトでは文字が不正かどうか調べるけど(結果的に日本語が含まれていると
「表示できない」と判断されることもある)、パイプで他のコマンドに渡すときは
そのまま渡すというコマンドは結構あります。例えば ls なんかもそうですね。

日本語を含むファイル名を作って ls で見ると、日本語部分は ??? などと表示
されますが、ls | cat とすると、ls はファイル名を変換せずに cat に渡します。

No. 459 # Aya 1999/10/04 (月) 01:43
ありがとうございました。
添付ファイルを送ることに成功しました。感激♪
また、質問することもあると思いますが、
そのときは、またお願いします。

No. 460 # 二太郎 1999/10/04 (月) 20:28
レス本当にありがとうございました。
さっそくLANGをいじってみましたが、私の大学も solarisなのでダメ
でした。しかしメールソフト(Windous95用)を使えば、きちんと読
めるので、今のところメールの利用者からは問題がでていないので
困っているのは私だけのようです。(笑)
急がなくてもいいようなので、もう少しいろいろと試してみたいと
思います。

UNIXの勉強が全然足りないのでこのページを参考に頑張っていきま
すので今後またお世話のなるかもしれませんがよろしくお願いしま
す。

No. 461 # 68user 1999/10/04 (月) 21:47
思い出した。SystemV 系 UNIX には mailx コマンドというのが
あって、これなら日本語が通ります。

No. 462 # 二太郎 1999/10/04 (月) 22:28
「mailx コマンド」を今、家からtelnetでログインして試したと
ころ、日本語が通りました!!
これでぐっすり眠れそうです。
本当にありがとうございました。

No. 463 # Aya 1999/10/05 (火) 01:02
再び、質問させていただきます。
テキストデータを添付することはできたのですが、
バイナリデータの場合どうもうまくいきません。
符号化して書きこまなければならないのでしょうか。
もしそうなら、どうやって符号化するのでしょうか。
それとも、他に方法があるのでしょうか。
どうか御教授お願いいたします。

No. 464 # 68user 1999/10/05 (火) 02:16
> バイナリデータの場合どうもうまくいきません。
次にこの質問がくるんじゃないかと予想はしてました :-)

バイナリは http://www.mew.org/Newsletters/3.html
「安全な符号方式の定義」のように、
    Content-Type: image/gif; name="hoge.gif"
    Content-Transfer-Encoding: base64
    
    LS0tIGRyYWZ0LW5ndHJhbnMtdHJhbnNsYXRvci5vcmlnCVN1biBOb3YgMTUgMTY6MzI6NDYg
    MTk5OAorKysgaWQtdHJhbnMJU3VuIE5vdiAxNSAxNToxNDo1NCAxOTk4CkBAIC0xLDggKzEs
    MTIgQEAKICNyZXYgMDAuMDIKIEludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICAg
と、適切な MIME TYPE を付けた上で、BASE64 でエンコードする必要があります
(name="hoge.gif" は必要なら付けてください)。なので、プログラム書いて
自動化しないと苦しいでしょう(まぁ手動でやってるわけじゃないんですよね?)。

perl がわかるなら http://www.cc.rim.or.jp/~ikuta/mime_pls/ を使って、
    open(GIF,"hoge.gif");
    $buf = join("",<GIF>);
    require 'mimew.pl';
    $data = &mimeencode($data);
などとするのが簡単ですかね。最後の &mimeencode は
    $data = &bodyencode($data);
    $data .= &benflush;
だったかもしれない。試してみて下さい。

No. 465 # 68user 1999/10/05 (火) 02:23
あ、やっぱり mimeencode じゃうまくいかないや。

mimeencode は =文字コード?エンコード方式?BASE64化されたデータ= という
MIME 形式に変換します。一方、bodyencode は BASE64化します。

今回は MIME 形式(正確な用語じゃないかもしれない)じゃなく、
BASE64 のデータが欲しいので、bodyencode を使って下さい。
mimeencode はメールヘッダなどのエンコードに使えますね。

No. 466 # Aya 1999/10/06 (水) 00:52
ようやくできました。
やっぱり、エンコードしなくてはいけなかったのですね。
ありがとうございました。

No. 467 # デュオ 1999/10/08 (金) 14:24
ウインドウズが一番だぜかかって来い

No. 468 # goosan [E-mail] 1999/10/13 (水) 13:09
tcshの補間機能の説明について補足です。
Ctrl-dは補間そのものではなく補間候補をリストし、
実際の補間にはTabを使うようです。

No. 469 # 68user 1999/10/13 (水) 13:40
おぉ、歌って踊れるハッカーを目指していらっしゃる
にゃんさんの居られる研究室の方(長い)ですね。
UNIX/FreeBSD のえらい人が身近にいるなんて、うらやましい。
# にゃんさんは僕のことを知らないです。念のため。

> 実際の補間にはTabを使うようです。
TABのことをすっかり忘れていました。今度更新するときに直して
おきます。ありがとうございました。

No. 470 # たび〜 1999/10/15 (金) 09:52
はじめまして。
他のユーザーがファイルを使用していることを確認するfuserコマンドがうまく使えません。fuser -u filenameと指定するだけではだめなのでしょうか?またこのコマンドはvi等で使用しているだけでは作動しないのでしょうか?

No. 471 # たび〜 1999/10/15 (金) 11:10
はじめまして。
他のユーザーがファイルを使用していることを確認するfuserコマンドがうまく使えません。fuser -u filenameと指定するだけではだめなのでしょうか?またこのコマンドはvi等で使用しているだけでは作動しないのでしょうか?

No. 472 # 68user 1999/10/15 (金) 14:33
ふーん、SystemV には fuser ってコマンドがあるのね。
で、fstat は BSD only なのか。

> vi等で使用しているだけでは作動しないのでしょうか?
vi は emacs はオープンしてバッファに読み込んだらクローズして
しまうので無理だと思います。tail -f filename などオープンしっぱなしの
プロセスなら表示できます。

No. 473 # 白い流星。でも [E-mail] 1999/10/17 (日) 19:42
どーも。はじめまして。
セガBBS過去ログすごいですね。
こういうことってできるんですね。
そこで、便乗要望、、。
比較的新しい99年7月辺りの過去ログ
とかって、みることできますかね、、?
どうか、宜しくお願いします。

No. 474 # 68user 1999/10/17 (日) 19:49
一部のBBSだけですが、お肉さんのとこで取ってるはずです。
    http://www.lunartecs.ne.jp/~segabito/fushigi.html

No. 475 # お肉 [URL] 1999/10/17 (日) 23:29
どもども^^;
DCやサターンの人もいるかもしれないので、

↓こちらを紹介したほうがいいかもしれません
http://gamelay.usami.com/~segabito/


19日から12月15日まで研修で南浦和の寮生活なので、
その間はシステムの改良・変更はあまりできなくなります。

ここ数日は原因不明の不調でログが飛びまくっていますが、
果たしてどうなることやら・・・


帰ってきたらLinuxも勉強するぞー

No. 476 # かりり 1999/10/18 (月) 18:30
プロバイダーを見つけました。
よく雑誌で見るプロバイダーなので
イマイチ信頼度がひくいんですけど
CGIが使える見たいなので、決めちゃおうかなぁ
っておもってます。
http://www.interq.or.jp/misc/man/ftp/usercgi.html
これってCGIが使えるってことでスヨね?
では、又来ます。:-O

No. 477 # 68user 1999/10/18 (月) 18:59
interq って zeus っていう WWWサーバなんだよね。できれば
apache っていうのがお勧めなんだけど。あと、そこに書いて
あるように、#exec cmd/#exec cgi は使えません。

いろいろ設定をいじったり、深く使いたいなら他のところを
探した方がいいんじゃないかね。まぁ、どこがいいかってのは
わからないんだけど。

でも簡単な CGI を設置できればいいということなら、
interq でも OK だと思います。

No. 478 # MASA 1999/10/19 (火) 20:18
はじめまして。
私はUNIX初心者なのですが勉強してサーバー構築手順書、C/S設計手順書を作りたいと思っています。分かりやすい本などをどなたか教えていただけませんか?
熱意はあります。宜しくお願いします。

No. 479 # 68user 1999/10/20 (水) 00:39
サーバを構築したいということなら、「FreeBSDでサーバ構築」
「Linuxでサーバ構築」とかいう本が結構出てます。それを手に
入れるのが近道じゃないでしょうか。ただし僕はそういうのを
買ったことはないので、どれがお勧めかはわかりません。
本屋で手に取って内容を吟味して下さい。

まぁ、apache/bind/sendmail/pppd あたりの設定方法が
さらっと書いてあるだけなので、もっと深く知りたければ
O'Reilly の本を買うことになるでしょう。

No. 480 # MASA 1999/10/20 (水) 05:47
68USERさん、アドバイスありがとうございます。
早速検討してみます。

No. 481 # mm 1999/10/20 (水) 23:02
ご無沙汰してます。
apache の .htaccess のネットマスクについて教えて頂けないでしょうか?

ネットマスクがマスクする部分(ビットが0の部分、または、より右側のビット)
に対応するIPアドレスのビットは、0にするのか1にするのかということ
なのです。

例えば、133.205.78.73〜133.205.78.79 のホストのアクセスを禁止する場合、
(なお、2進と10進は以下の通りです。
        01001 001b = 73d
        01001 111b = 79d
        11111 000b = 248d )

<Limit GET POST>
order allow,deny
allow from all
deny from host
</Limit>

の host の指定方法なんですが、
133.205.78.72/255.255.255.248 又は 133.205.78.72/29
とすべきなのか、それとも
133.205.78.79/255.255.255.248 又は 133.205.78.79/29
なのでしょうか?

http://japache.infoscience.co.jp/japanese_1_3/manual/mod/mod_access.html
には、
> (すなわち 10.1.0.0/16 は 10.1.0.0/255.255.0.0と同じです)
とあるんで、この例では、マスクされるビットが全部0になってますよね
(10.1.0.0の最後の2バイト)。
でも、バイト単位でない場合には、マスクされるビットを全部1にしてる
例もみたものですから↓
http://www.med.teikyo-u.ac.jp/~morikawa/howto/access.html

>allow from 202.253.111.0/255.255.252.0 あるいは 202.253.111.0/22
では、111d = 01101111b ですからマスクされるビットは1になってます。
それとも、バイト単位の指定の場合だけ0にしてもいいのかな?

No. 482 # 68user 1999/10/20 (水) 23:50
多分「どちらでもよい」だと思います。
    133.205.78.72/29 は、
        10000101 11001101 01001110 01001000 のうち、最初の29ビットにマッチするもの
    を表すので、10000101 11001101 01001110 01001??? にマッチし、
    結局 133.205.78.72〜133.205.78.79 にマッチする。

    一方 133.205.78.79/29 は、
        10000101 11001101 01001110 01001111 のうち、最初の29ビットにマッチするもの
    を表すので、10000101 11001101 01001110 01001??? にマッチし、
    結局 133.205.78.72〜133.205.78.79 にマッチする。
ではないでしょうか。ネットマスクの意味からいって、
ネットマスク*外*のビットには、とくに意味はないと思います。

ただ、意味なくビットを立てるのはわかりにくいので、
僕なら 133.205.78.72/29 を選びます。

あと、わかっておられるとは思いますが、133.205.78.72/29 だと
133.205.78.72 自身も含まれますので、
> 133.205.78.73〜133.205.78.79 のホストのアクセスを禁止
にはなりません。

# 133.205.78.72/29 というドメインがあって、133.205.78.72 が
# ゲートウェイアドレスなら構いませんが。

No. 483 # 68user 1999/10/21 (木) 00:05
> # 133.205.78.72/29 というドメインがあって、133.205.78.72 が
> # ゲートウェイアドレスなら構いませんが。
あれ、ホスト部が All zero な IP アドレスってゲートウェイじゃないかも。
133.1.0.0 とか 133.2.0.0 などのIPアドレスって、何て呼ぶんでしたっけ…。

No. 484 # 1999/10/21 (木) 00:17
おお、すばやいご回答、ありがとうございます。

>ネットマスク*外*のビットには、とくに意味はないと思います。
なるほど、分かりました。

>僕なら 133.205.78.72/29 を選びます。
この選び方の違いに過ぎなかったのですね。

>133.205.78.72 自身も含まれますので、
あっ、すいませんm(_ _)m
133.205.78と指定した場合は、133.205.78.1〜133.205.78.255だと
いう記述をどこかで読んでたので、ここでも間違ってマスクされた
ビットが全部0となる場合を除外してしまいました。

>133.1.0.0 とか 133.2.0.0 などのIPアドレスって、何て呼ぶんでしたっけ…。
話に付いて行けない…(苦笑)
IPアドレスもちゃんと勉強しないといけないなぁ…

No. 485 # mm 1999/10/21 (木) 00:18
すいません。
↓の名前を入れ忘れましたm(_ _)m

No. 486 # mm 1999/10/22 (金) 00:56
先の質問に関連して、今回初めて .htaccess について調べたのですが、
どうもよく理解できないことがあるので、教えてください。

order は、allow と deny の評価順序を指定するというような説明があるんですが、
これはどういう意味なのでしょうか?

最初、評価順序がどう影響するのか分からなかったのですが、
「UNIX &インターネットセキュリティ」(O'REILLY)の
    deny,allow は、denyとallowの両方に含まれるhostは許可する
    allow,deny は、denyとallowの両方に含まれるhostは禁止する
という趣旨の記述を読んで、ようやく使い方については分かったのです。

でも、このような作用をなぜ評価順序で説明するのかが理解できないのです。

また、例えば

order allow,deny
allow from hostA
deny from hostB

という設定があった場合、どちらにも含まれないhostC からのアクセスは
どうなるのでしょうか?
allow と deny の双方を指定するってことは、どちらか一方が必ず from all
になるとは限らないですよね(もし、そうなら省略可能にすると思うので)。

No. 487 # 68user 1999/10/22 (金) 01:30
ん…X68000.startshop.co.jp の時計がずれてる。

> 「UNIX &インターネットセキュリティ」(O'REILLY)の
> deny,allow は、denyとallowの両方に含まれるhostは許可する
> allow,deny は、denyとallowの両方に含まれるhostは禁止する
> という趣旨の記述
ん〜、これもどうも…何か違うような。確かに order は
まぎらわしいですねぇ。

例えば order deny,allow は
    1. 最初は全て許可
    2. deny で指定されていたら拒否
    3. allow で指定されていたら許可
という手順で評価しますが、大事なのは
    「deny にマッチしても、その後 allow にマッチした場合は、閲覧を許可する」
ということだと思います。

例えば
    阪大からは弾くけど、阪大の工学部(適当)からのみ許可する場合
    order deny,allow
    deny from 133.1
    allow from 133.1.2

    阪大は許可するけど、阪大の工学部だけは弾く場合
    order allow,deny
    deny from 133.1.2
    allow from 133.1
てな感じでどうでしょう。より一般化すると、
    「許可したホスト以外は拒否」なら
        order deny,allow
        deny from all
        allow from 許可するホスト

    「拒否したホスト以外は許可」なら
        order allow,deny
        allow from all
        deny from 拒否するホスト
でしょうか。上の2つの order を逆にすると、どのホストからも
見られなくなります。

素人考えでは、
    deny from 133.1.2
    allow from 133.1
と書けば、上から順に評価する、ってな風にすればわかりやすいのに、
わざわざ order なんか指定できるようにしたからわかりにくくなった、
と思ってます。もしかしたら、もっと難しい理由があって order が
用意されてるのかもしれませんが。

> どちらにも含まれない hostC からのアクセスはどうなるのでしょうか?
許可されると思います。order mutual-failure なら拒否されます。
# order mutual-failure
#  …allow に指定され、deny に指定されていないホストのみ許可。それ以外は拒否。

No. 488 # 68user 1999/10/22 (金) 01:44
なので、
    阪大は許可するけど、阪大の工学部だけは拒否し、なおかつ
    群馬大は弾くけど、群馬大工学部だけは許可する
という設定は無理じゃないかと思ってます。仮にできるとしても、
2つに分ける必要がありますよね。変なの。

No. 489 # mm 1999/10/22 (金) 02:43
さっそく、ありがとうございます。

>ん〜、これもどうも…何か違うような。
あっ、関係ないかも知れないけど、正確に引用しときますね(苦笑)
>order ord
>許可文と拒否文をチェックする順番を指定する。
>"deny,allow"を指定すると、最初に拒否エントリをチェックする。
>拒否リストと許可リストの両方に含まれるサーバーは許可する。
>"allow,deny"を指定すると、最初に許可エントリをチェックする。
>両方に含まれるサーバーは拒否する。
>"mutual-failure"を指定すると、許可リスト中のホストに許可を与え、
>拒否リスト中のホストを拒否し、それら以外については拒否する。

68userさんの説明とapacheのマニュアルを見ると、
すくなくとも、"mutual-failure"の説明は、
両方に含まれる部分について正確さを欠いてますね。


以下について応答する前に、ちょっと確認なんですけど、
>上の2つの order を逆にすると、どのホストからも
>見られなくなります。
これは、下に関しては、「どのホストからも見えてしまう。」
の間違いということはないのでしょうか?

No. 490 # 68user 1999/10/22 (金) 02:57
> これは、下に関しては、「どのホストからも見えてしまう。」
> の間違いということはないのでしょうか?
あ、間違いです。
    「許可したホスト以外は拒否」なら
        order deny,allow

        order allow,deny
にすると、「全部拒否」になってしまい、
    「拒否したホスト以外は許可」なら
        order allow,deny

        order deny,allow
にすると、「全部許可」になってしまう、ですね。

> "mutual-failure"の説明は、
> 両方に含まれる部分について正確さを欠いてますね。
ん〜、不正確とは言えないかもしれないけど、不親切ではありますね。
mutual-failure でも allow,deny の順に評価され、allow にマッチしたとしても
その次に deny について評価され、そこでマッチしたら拒否、ってことです。

そういうことを
    http://japache.infoscience.co.jp/japanese_1_3/manual/mod/mod_access.html#order
    allowとdeny状態が評価されるどんな場合でも、"short-circuiting"は存在しません。
は言ってるんでしょうけど、もともと order っていう仕組みがわかりにくいのに、
ヘボい訳のせいで さらにわけのわからんことに。

No. 491 # mm 1999/10/22 (金) 03:42
>あ、間違いです。
よかった。
これが違ったら、また最初から理解し直しになるところでした(苦笑)

>ヘボい訳のせいで さらにわけのわからんことに。
あっ、確認したのは、
>Only those hosts which appear on the allow list and
>do not appear on the deny list are granted access.
の方だったので、これなら問題ないですよね。


先の回答に戻ります。

>> どちらにも含まれない hostC からのアクセスはどうなるのでしょうか?
>許可されると思います。
なるほど、やはりデフォルトは許可なんですね。

> 「deny にマッチしても、その後 allow にマッチした場合は、閲覧を許可する」
評価が後の方が優先するような感じはあったのですが、どうもよく分からなかったのです。

>阪大からは弾くけど、阪大の工学部(適当)からのみ許可する場合
allow か deny どちらかが常に from all なら、もっと別の指定の仕方があるだろうし、
なんとなく、こういう使い方を考えてるのかな…、と思ったもので、
その前にどちらにも現れない hostC の取り扱いをお伺いしました。

> 阪大は許可するけど、阪大の工学部だけは拒否し、なおかつ
> 群馬大は弾くけど、群馬大工学部だけは許可する
>という設定は無理じゃないかと思ってます。
なるほど、そうですね。
ここまでは、考えてなかった(苦笑)


68user さんの回答を読んでいて、ふと思ったのですが、

実際には、allow list と deny list があるのではなく、
例えば allow list だけがあって(抽象的な意味で)、
この list は最初は全ホストが詰まってる。
そして、allow 指令は、ここに指定されたホストを追加し、
deny 指令は、指定されたホストをここから削除する。
また、order による評価順序は、この追加、削除の動作順序で、
最後に list に残ったホストのみを許可する。
なお、mutual-failure の場合は、list を最初に空にし、
allow 指令を先に評価する。
(逆に、最初は空の deny list だけがあるとしても同じ)

というように考えるってのは、どうでしょうか?

Apache 1.3 から、deny,allow には(初期状態はOKです)とか、
allow,deny には (初期状態はFORBIDDENです) って注釈が
ついたから、ちょっと的ハズレかな…?

No. 492 # 68user 1999/10/22 (金) 04:10
> というように考えるってのは、どうでしょうか?
good です。…と思ったら、

> Apache 1.3 から、deny,allow には(初期状態はOKです)とか、
> allow,deny には (初期状態はFORBIDDENです) って注釈が
> ついたから、
う、知らなかった。ということは、

> order allow,deny
> allow from hostA
> deny from hostB
> という設定があった場合、どちらにも含まれないhostC からのアクセスは
> どうなるのでしょうか?
少なくとも apache 1.3 では `不可' ですね。実験してみたところ、
拒否されました。

ということは、order allow,deny って order mutual-failure と
同じ意味になってしまうんじゃないのかなぁ…。order allow,deny の
初期状態を FORBIDDEN にして、なにかうれしいことがあるんだろうか。

No. 493 # よしだ 1999/10/22 (金) 14:39
はじめまして。いきなりですが質問があります。
aliasesファイルを>newaliasesで更新しようとした際、
以下のようなメッセージが出て、aliasesが機能しません。

root@xxx>newaliases
WARNING: writable directory /var
WARNING: writable directory /var/spool
WARNING: writable directory /usr/ucblib
WARNING: writable directory /usr/ucblib
dbm map "Alias0": unsafe map file /usr/ucblib/aliases
WARNING: cannot open alias database /usr/ucblib/aliases
Cannot create database for alias file /usr/ucblib/aliases: No such device

  ディレクトリのアクセス権などをいじってみたのですが、うまくいき
ませんでした。
  もし、解る方がいらっしゃいましたらよろしくお願い致します。

No. 494 # 68user 1999/10/22 (金) 15:26
goo で 「newaliases warning writable dbm」で検索しました。
    http://www.swlab.csce.kyushu-u.ac.jp/~kazunori/install/sendmail.phtml
    http://www.sigma.tosho-u.ac.jp:8082/inet/newsos.6.1/sendmail-8.9.3/README
ですかね。

ところでさ、OS の種類とバージョン、sendmail のバージョンくらい
書きましょうよ。UNIX って言ってもいろいろあるんだから、uname -mrs
とか uname -mrsp の結果を書くのは、基本中の基本だと思います。

No. 495 # mm 1999/10/22 (金) 23:33
なんだか、また分からなくなってしまった(苦笑)

アクセスしてきた host に対して、
deny,allow の場合は、初期状態を OK にして、
allow,deny なら、初期状態を FORBIDDEN にする。
allow 文にこの host が含まれると状態を OK に書き換えて、
deny 文にこの host が含まれると状態を FORBIDDEN に書き換える。
これらの評価が終わった後の host の状態がアクセス可否を決める。

ということなら、それでもいいんだけど、
これでは確かに mutual-failure の存在意義がないですね…???


access.conf での allow from all とかの設定は、
  .htaccess でのアクセス制限がない場合にしか意味はないんですよね?

No. 496 # 68user 1999/10/22 (金) 23:53
> ということなら、それでもいいんだけど、
ということだと思います。いまいち納得できませんが、このサーバで
    order allow,deny
    deny from hoge.ac.jp (架空のドメイン)
とすると (=allowを書かない) 全部弾かれましたので。

> access.conf での allow from all とかの設定は、
> .htaccess でのアクセス制限がない場合にしか意味はないんですよね?
access.conf で AllowOverride Limit(or All) としているなら
    access.conf で allow/deny 設定をしていても .htaccess で設定を上書き可能
access.conf で AllowOverride None(or Limit以外) としているなら
    .htaccess で設定を上書き不可。access.conf での allow/deny 設定が有効。
ですかね。

No. 497 # mm 1999/10/23 (土) 03:41
>ということだと思います。いまいち納得できませんが、
なるほど、(納得できないという点で)とりあえず、そう理解しておきます。

>access.conf で AllowOverride Limit(or All) としているなら
あっ、そうですね。それが前提ですね。

まだちょっとの部分もありますが(苦笑)
とにかく、どうもありがとうございましたm(_ _)m

No. 498 # よしだ 1999/10/25 (月) 10:33
sendmail8.8.6以降、aliasesファイル等がシンボリックリンクだと、newaliasesでエラーになる為、リンクを張り直しました。
以下の手順でうまくいきました。

cd /usr/ucblib
rm aliases aliases.dir aliases.pag
cd /var/ucblib
mv aliases aliases.dir aliases.pag /usr/ucblib
ln -s /usr/ucblib/aliases /var/ucblib/aliases
ln -s /usr/ucblib/aliases.dir /var/ucblib/aliases.dir
ln -s /usr/ucblib/aliases.pag /var/ucblib/aliases.pag

>ところでさ、OS の種類とバージョン、sendmail のバージョンくら>い書きましょうよ。UNIX って言ってもいろいろあるんだから、
>uname -mrsとか uname -mrsp の結果を書くのは、基本中の基本だ>と思います。
本当に一番大事な事を書くのを忘れていました。ごめんなさい。
どうもご迷惑おかけしました・・・。

No. 499 # なが [E-mail] 1999/10/26 (火) 11:46
パソコンをたちあげると、dfs.vxdがありませんとかでてそこで
止ってしまいます。何かキーボードを押すと次の画面(いつもの
デスクトップの画面)になります。それ以降は、問題ありません。
dfs.vxdとはいったい何者なのでしょうか?
もし知っている方がいましたら、教えてください。

No. 500 # goosan [E-mail] 1999/10/30 (土) 12:36
一般に "pwd" と "echo $cwd" は同じとされますが、環境に
よっては違う結果を生じることがあります。
これは説明しにくいので、例をあげてみます。
カレントディレクトリが /home/username で、ここに bin という
名前のディレクトリ /work/bin へのシンボリックリンク
(bin@ -> /work/bin) があったとします。ここで cd bin として
ディレクトリを移動すると、echo $cwd とした場合は
/home/username/bin と表示されるのですが、pwd とすると
/work/bin と表示されます。

No. 501 # テスト [E-mail] 1999/10/31 (日) 00:02
テスト投稿です
無視して下さい

No. 502 # ひでさん [E-mail] 1999/11/02 (火) 16:20
初めて投稿します。
ちょっと質問があるのですが
Prelを使いSendmailでメールを送るCGIを作っています。
そこで 、BCCまたはCCで複数のメール先を指定して送る場合
メールアドレスの繋ぎ部分は、半角スペースで区切り渡すのでしょうか?
此へんのプロセスが判らなく困っております
よろしければ教えて頂けないでしょうか?

No. 503 # 68user 1999/11/02 (火) 16:45
> 一般に "pwd" と "echo $cwd" は同じとされますが、環境に
> よっては違う結果を生じることがあります。
なるほど、確かにそうですね。勉強になります。

しかし、pwd の説明で「echo $cwdと同じ」というのもひどいなぁ…。

> メールアドレスの繋ぎ部分は、半角スペースで区切り渡すのでしょうか
カンマ(,)です。
    Cc: foo@bar.com,hoge@fuga.com,abc@def.ac.jp
とすればいいんですが、行が長くなりすぎるなら、
    Cc: foo@bar.com,
    (半角空白)hoge@fuga.com,
    (半角空白)abc@def.ac.jp
と、folding します。詳しくは ftp://ftp.iij.ad.jp/pub/RFC/rfc822.txt
「3.1.1. LONG HEADER FIELDS」あたりをどうぞ。

No. 504 # ひでさん [E-mail] 1999/11/02 (火) 18:56
早速の REありがとうございます
勉強になりました。
早速試してみます

No. 505 # 山井 孝雄 [E-mail] 1999/11/02 (火) 21:16
初めて掲示板を利用させていただきます。
POP3サーバーのメールをWWWブラウザインタフェースで読み出すCGIを作っています。「POP3クライアントを作ってみよう(1)(2)(3)」を利用させていただき、あらかたの処理ができるようになりました。
感謝いたします。
早速の質問ですが、Subject及び添付ファイルのファイル名に日本語が使われているとき、nkfでの変換を照会されていますが、ntfの組み込みの方法についてアドバイスいただければ幸せです。
Linuxではnkf17をうまくインストールできた(まだ試験はしていない)のですが、WindowsNTへのインストール方法がわかりません。
WindowsNTでもLinuxと同じようにできるのでしょうか。
Makefileのshar:以降の書き換えでいけるのでしょうか。それともSystemコールでnkf32.exeを使うのでしょうか。
初心者に毛の生えたレベルでやっています。方法またはその方法がかかれたURLがありましたら教えてください。

No. 506 # 山井 孝雄 [E-mail] 1999/11/02 (火) 21:24
nkfについての質問(追伸)
こちらのシステムの説明が抜けていました。
WindowsNT4
IIS3
perl5.005_03(ActivePerl Build 513)+DBI+DBD-ODBC
です。

No. 507 # 68user 1999/11/02 (火) 22:04
> WindowsNTでもLinuxと同じようにできるのでしょうか。
Cコンパイラはお持ちですか? あるならソース持ってきてコンパイルすればいいでしょうけど、
コンパイラがないならバイナリインストールすればいいです。

ただ、nkf -m でやるなら テンポラリファイル経由でデータを受け渡したり、
IPC::Open2 などを使わなきゃいけないので面倒です。毎回プロセスを起動しなければ
いけないので重くなりますし。

なので、http://www.cc.rim.or.jp/~ikuta/mime_pls/ を持ってきて
    require 'mimer.pl';
    $data = &mimedecode($data,'EUC');
とした方がいいと思います。
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=1999-09-16
に書いた MIME エンコードの逆ですね。

No. 508 # ひでさん [E-mail] 1999/11/02 (火) 23:03
突然現れて質問ばかりで申し訳ありません
今一つ教えてください
データーを分割して自動で読み取る為には?
たとえば1000のデータが入った@DATAがあるとします
このデーターを100ずつ順に読み取るには
read,seekを使って読み取る事は、可能だと思いますが
順に100ずつ1000のデータを読み取るにはどのような方法があるでしょうか
よろしくお願いいたします

No. 509 # 68user 1999/11/02 (火) 23:11
> たとえば1000のデータが入った@DATAがあるとします
配列 @DATA に既にデータが入っているのですか? なら splice を
使えばいいでしょう。「100ずつ順に」*何をしたいのか* が
わからないので、これ以上はなんとも言えません。

read/seek は、配列 @DATA が空で、ファイルから @DATA に
読み込むときに使うものです。でもまぁ perl なら、わざわざ
read/seek のような低レベルな関数を使う必要はないでしょう。

No. 510 # ひでさん [E-mail] 1999/11/02 (火) 23:28
ありがとうございます
実は、前の質問と関連がありまして
データーに入ったメールアドレスをBCCで送信する際に
一度に多くのデーターを打ち込むとサーバに負担が掛かると思い
たとえば100ずつ読み込んで送信をしたいというわけなんです
一般的に一度にどれくらいのBCCだったら遅れるんでしょうか?
サーバのレスポンスも関係があると思いますが・・。

No. 511 # 68user 1999/11/02 (火) 23:42
@DATA に1000個入っていて、100ずつ送信したいなら
    while (@DATA){
        @addrs = splice(@DATA,0,100);
        $CC = join(",\n ",@addrs);
        メール送信
    }
でいいです。

でもまぁ、1000 送るならそれなりに時間がかかりますが、負荷がうんぬんと
いうよりは、SMTPサーバが
    DNS(MX)引いて
    相手先に connect して
    SMTP しゃべって
    本文を送る
のに時間がかかる、という感じでしょうか。ほとんどは相手を待ってるだけです。

別に1000個 Bcc が書いてあっても、並行して1000のコネクションを
張るわけではないので(SMTPサーバの仕様にもよりますが)、マシンの
負荷はそんなに気にしなくてもいいでしょう。

それでも1000は多いと思うなら、100ごとに分割すればいいんじゃ
ないんでしょうか。ただしテストは入念にやって下さい。

No. 512 # ひでさん [E-mail] 1999/11/02 (火) 23:50
68userさん
重ね重ねありがとうございます
十分検討&テストしてやってみます
本当にありがとうございます

No. 513 # かりり 1999/11/03 (水) 02:33
本日付けで復帰しました
でも、CGIの使えないallesでした。(w
テレホの都合上。一年はアレスです。
webpageを一応作るので、リンクさせて下さいね。
友達のwebspaceを借りる予定なのでcgiは諦らめてません!!
あと、質問なんですけど、systemfileのddlem.dll
ってファイルが起動するたびに、「壊れています」と言う表示が出ます
不都合はないんですけど、これって大事なファイルですか?
スキャンかけてもエラーが出ないんですけど。

No. 514 # みのる [E-mail] 1999/11/03 (水) 04:45
はじめまして。みのると申します。ご教授願えれば幸いです。

環境) WindowsNT4 SunOS 4

上記環境で、NTのログファイルから一定時間内(00:00:00〜05:59:59)の行だけを
抽出したいのですが、条件にあう(この場合カラムがまちまちなので、大体の
カラム位置でヒットする)行を抽出する方法はありますでしょうか。
【split -l だと行数がわかっていないとだめなのでこの場合は当てはまらないですよね】
scriptを組もうと思ったのですが、ヒントになるサンプルをみつけることができず、
諦めてしまいました(^^;)。

とりあえず、条件にあう行だけをhead(偶然、ファイルの頭からだったので)で
取り出して急場をしのぎました。ただ、今回はviで開いたのですが、大きいサイズの場合
この方法では無理が生じてくると思うのです。

何か他にいい手だてはないものでしょうか。。。

No. 515 # 68user 1999/11/03 (水) 05:38
むぅ、なぜか繁盛している…。

> webpageを一応作るので、リンクさせて下さいね。
どうぞ〜。

> と、質問なんですけど、systemfileのddlem.dll ってファイルが
僕は UNIX 環境しか持ってないんですよ。あと一般論として、質問するときは
自分の環境 (OS名+バージョンなど) は必ず書いてください。Windows なら
    http://www.so-net.ne.jp/ClubHouse/room/pc_scramble_win/pc_scramble_win.html
で質問すればいいんでないでしょうか。

> 一定時間内(00:00:00〜05:59:59)の行だけを抽出したい
    % grep '0[0-5]:[0-5][0-9]:[0-5][0-9]' logfile
ではダメですか?

No. 516 # かりり 1999/11/03 (水) 07:50
どうもすみません。初心者みたいなことをしてしまいまして。以後気をつけます

No. 517 # みのる 1999/11/03 (水) 09:26
ありがとうございます。

どうしてgrepの正規表現に気づかなかったのだろうと恥ずかしい限りです。
明日、検討してみます。

No. 518 # 山井 孝雄 [E-mail] 1999/11/03 (水) 09:44
>> WindowsNTでもLinuxと同じようにできるのでしょうか。
早速のアドバイス、ありがとうございます。早速試してみます。
Cもありますので、再コンパイルの方法も試してみます。
今後ともよろしくお願いいたします。

No. 519 # みつる 1999/11/03 (水) 23:16
はじめまして。みつると申します。ご教授願えれば幸いです。

環境) Windows98

今、JSWDKを用いてJSPやServletを試しているのですが、
HTTPプロトコルを通じてどのようなデータが送受信さ
れているかわかりません。プロキシーサーバーをを自作して
リクエストを出力すればいいような気がしますが、既にこの
ような用途に使用できるソフトが存在すると思います。
どなたかご存知ないでしょうか?
よろしくお願いします。

No. 520 # 68user 1999/11/04 (木) 01:22
HTTP Proxy 自体はそんなに難しくないので、いろいろあるんでしょうが、
残念ながら僕は具体的なソフトウェア名を知りません。
# proxy って言うとすぐアングラ系になっちゃうのが嫌なので、
# 探したことがない。

mm さんがご存知かもしれないので、質問されてみてはいかがでしょうか。
    http://www2s.biglobe.ne.jp/~cru/library/zddbbs/cgi-bin/wwwboard.cgi

No. 521 # みつる 1999/11/04 (木) 07:09
ありがとうございます。

mmさんに質問してみます。

No. 522 # みのる 1999/11/04 (木) 23:56
68user さん、ありがとうございました。

% grep '0[0-5]:[0-5][0-9]:[0-5][0-9]' logfile
で無事該当ログを抽出することができました。

ところで、SunOS5.6にverupしたのですが、
"vipw"が利かなくなりました。shadowはviで編集及びbackupも
とれているのですが、"vipw"とすると"etc/passwd is busy"となり
編集不可能なのです。今は"vi"で編集しています。

crontabが上手く働いてないのでしょうか?

No. 523 # 68user 1999/11/05 (金) 03:22
Solaris の vipw の動作は知りませんが、一般論として `busy' と言われたなら
    ・前に実行した vipw のプロセスが残っていないか、ps -ef | grep vipw で確認
    ・fuser /etc/passwd で、/etc/passwd をオープンしっ放しのプロセスを調べる
    ・/tmp や /var/tmp などにロックファイル (というよりテンポラリファイルかな) が
        残っていないか調べる ( BSD なら /etc/ptmp* とか /etc/pw* など)
    ・truss vipw で、どこでどのファイルを読んだ後エラーになっているか調べる
てなところでしょうか。

> crontabが上手く働いてないのでしょうか?
僕は Solaris マシンでroot 権限を持ってないのでわかりませんが、
Solaris の vipw って cron が関わってくるんでしたっけ?

No. 524 # みのる 1999/11/09 (火) 11:51
68user さん、ありがとうございます。

ちょっと他の仕事が立込んでいますが、確認してみます。

No. 525 # hh 1999/11/09 (火) 20:23
お聞きしたいんですが、いくつかドライブがあるんですが、今、それぞれ、OSはwinddow95,window98,
Linuxにしたいですが、できますでしょうか。マシンはFujitsuのDos/Vです。ご存じなら、教えていただけませんか。
よろしくお願いいたします。

No. 526 # hh 1999/11/09 (火) 20:24
お聞きしたいんですが、いくつかドライブがあるんですが、今、それぞれ、OSはwinddow95,window98,
Linuxにしたいですが、できますでしょうか。マシンはFujitsuのDos/Vです。ご存じなら、教えていただけませんか。
よろしくお願いいたします。

No. 527 # 68user 1999/11/10 (水) 00:15
> 今、それぞれ、OSはwinddow95,window98, Linuxにしたいですが、
今 winddow95,window98, Linux が入ってるんですか?
これから winddow95,window98, Linux を入れたいんですか?

> できますでしょうか。
多分できると思いますが、Windows も Linux も使ってないので
確かなことは言えません。
    http://www.so-net.ne.jp/ClubHouse/room/pc_scramble/pc_scramble.html
で教えてもらえるでしょう。

No. 528 # hh 1999/11/10 (水) 10:39
68userさん
どうもありがとうございました。いま、OSはwindows95だけです。
これから、window98とLinuxを入れたいです。
教えていただいたURLも見てみます。

No. 529 # mmc 1999/11/10 (水) 16:24
2000年1月1日にセットしたいのですが?

No. 530 # みのる 1999/11/10 (水) 18:01
"vipw"とすると"etc/passwd file is busy"の件

/etc にテンポラリファイルが残っていました。"temp"で探していましたが、"tmp"でした。
ありがとうございました。

現在、Turbolinux4.2 インストールで奮闘しておりました。なんとか動くようになったものの、
時間表示が白くなり見えない状態です。なかなかサーバ構築までの道のりは遠いようです。。。

No. 531 # やまい [E-mail] 1999/11/10 (水) 18:33
名前を「やまい」元(山井 孝雄)に変えました。
またまたHELP依頼です。ご存じの方がおられましたら教えてください。

PERLにDBIとDBD(ODBC)を組み込もうとしています。
PERL5.003のときはうまくいっていたのですが
今回5.00503ではうまくいきません。
PERL(APi522e.exe)をインストールした後、
DBI(DBI-1.13.tar.gz)を展開しインストールまではうまくいきました。
DBD(DBD-ODBC-0.22.tar.gz)を展開した後、
perl makefile.pl は正常に実行できたのですが、
nmake で以下のエラーがでてストップしてしまいます。

    cl.exe -c -IC:/Perl/site/lib/auto/DBI -Od -MD -DNDEBUG -GX -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_CAPI -Od -MD -DNDEBUG -GX -DVERSION=\"0.22\" -DXS_VERSION=\"0.22\" -IC:\Perl\lib\CORE dbdimp.c
dbdimp.c
C:/Perl/site/lib/auto/DBI\DBIXS.h(403) : warning C4005: 'DBIS' : マクロが再定義されました。
dbdimp.c(31) : error C2106: '=' : 左のオペランドが、左辺値になっていません。
NMAKE : fatal error U1077: 'cl.exe' : リターン コード '0x2'
Stop.

なお、使用環境は
Windows 4.0 Server
ServisePack3
Visual C++ Version 5.0
です。

チェックポイント等がありましたら教えてください。





No. 532 # 匿名200x 1999/11/11 (木) 07:36
始めまして。
質問があります。
C言語(CGI)でファイルロック関数を作ろうと思うのですが
どうやらディレクトリがある,ないで判定すれば
プロセスが割り込んでくる確率も少ないらしいので
mkdir,rmdir,sleep関数を使って作ろうと思います。
でとりあえず各関数使ってみたら
「ヘッダファイルがてーぎされてへんよー!注意しなはれ〜」
みたいなエラーが出てまいりました。
私はWindows環境しかないので
FTPアップロード->コンパイルという手段で作成してます。
Windows環境なら"direct.h"をインクルード
すれば良いのですがどうやら違う(ヘッダファイルがない)みたいです。
サーバーの/usr/includeディレクトリとか覗けるので色々探してみましたが
お手上げ状態です。。。
そこでmkdir,rmdir,sleep関数のヘッダファイルの位置を
教えてほしいのですが…
# インクルードしなくても動くことは動くんですが。。。気に入らないです。
サーバーが何たらUNIXか何たらLinuxかがわかりません。
BSD系UNIX(???)(Linux???)たぶん何たらLinuxだと思うのですが。。
gccのバージョンは(gcc -vした結果)
>Reading specs from /usr/lib/gcc-lib/i386-pc-linux->gnulibc1/egcs-2.91.66/specs
>gcc version egcs-2.91.66 19990314 (egcs-1.1.2 release)
なんか情報が少なすぎますけど
「自分の環境ではこうですよ。」
でもかまいません。
よろしくお願いします。

No. 533 # goe 1999/11/11 (木) 11:47
サーバ上に、Windowsで圧縮したlzhファイルをおいて、サーバで解凍したいのですが、
xxx% lha x filename(圧縮ファイル名)
と、コマンドを入力しても実行されません。
lhaのツールがインストールされているか調べる方法等がわかりません。教えていただけますでしょうか?

No. 534 # イプサム 1999/11/11 (木) 13:23
はじめまして。
c言語関数で調べていることがあります。
子プロセスを生成するspawn関数というものがあります。
この関数が、POSIX準拠の関数か否かをご存知の方
いらっしゃいますか?
よろしくお願いいたします。

No. 535 # イプサム 1999/11/11 (木) 13:24
はじめまして。
c言語関数で調べていることがあります。
子プロセスを生成するspawn関数というものがあります。
この関数が、POSIX準拠の関数か否かをご存知の方
いらっしゃいますか?
よろしくお願いいたします。

No. 536 # イプサム 1999/11/11 (木) 13:24
はじめまして。
c言語関数で調べていることがあります。
子プロセスを生成するspawn関数というものがあります。
この関数が、POSIX準拠の関数か否かをご存知の方
いらっしゃいますか?
よろしくお願いいたします。

No. 537 # 68user 1999/11/11 (木) 19:20
> 2000年1月1日にセットしたいのですが?
BIOS で時間をセットすればいいでしょう。

> PERLにDBIとDBD(ODBC)を組み込もうとしています。
う〜ん、全然わからんです。Windows環境持ってない上に、こういう
エラーって、大抵の場合
    #ifdef WIN32
の書き忘れが原因だったりするんで、perl/Windows/DBI/DBD に精通していない
僕にはさっぱりわかりません。

> サーバーが何たらUNIXか何たらLinuxかがわかりません。
`i386-pc-linux' とあるので Linux なんでしょうけど、
OS名は uname -a でわかります。
# ディストリビューション名ってどうやって調べるんだろう?

> 「ヘッダファイルがてーぎされてへんよー!注意しなはれ〜」みたいなエラー
というのはあり得ないです。インクルードしなくても動くということは
「mkdir/rmdir/sleep という関数の宣言がされていない」という warning
(implicit declaration of function `mkdir') ですかね。エラーや warning は
訳さずそのまま書いて下さい。

で、インクルードファイルがわからないときは、man で確認して下さい。
    % man 2 mkdir
    % man 2 rmdir
    % man 3 sleep
とすると、
    NAME mkdir - make a directory file
    SYNOPSIS
        #include <sys/stat.h>
        int mkdir(const char *path, mode_t mode)
という情報が得られます。

> xxx% lha x filename(圧縮ファイル名)
> と、コマンドを入力しても実行されません。
「実行されない」とは何ですか? 「Command not found」になるんですか?
    % locate lha
で、ファイル名に `lha' を含むファイル一覧が表示されますが、
それでも見付からないなら本当にインストールされていないんでしょう。
管理者に頼むか、自分でインストールすることになります。

> 子プロセスを生成するspawn関数というものがあります。
> この関数が、POSIX準拠の関数か否かをご存知の方
うーん、わからんです。FreeBSD/Solaris ともに spawn という関数は
ないので、POSIX 準拠ではないと思うんですが…確信はありません。

No. 538 # PUYO [URL] 1999/11/12 (金) 00:49
初めまして。
ネットワークプログラミングの基礎知識 大変興味深く読ませていただきました。これからもがんばって下さい。

陰ながら応援しています。

No. 539 # 68user 1999/11/14 (日) 04:48
どもども。間違いなどありましたら、ぜひご指摘お願いします。

No. 540 # 日向 1999/11/14 (日) 14:03
はじめまして。
「ネットワークプログラミング」読ませて頂きました。
説明、サンプルプログラム共に大変分かりやすく、
すぐに自分なりに応用することができ、大変為になりました。^^

ただ、一つだけ分からなかったことがあります。
HTTPクライアントでPOSTメソッドに対応しようとしたのですが、

$message = "name=test&mail=test&url=test&message=test\r\n";
$len = length($message);

print SOCKET "POST /cgi-bin/mybbs.cgi HTTP/1.1\r\n";
print SOCKET "REFERER: (略)/cgi-bin/mybbs.cgi\r\n";
print SOCKET "Content-length: $len\r\n";
print SOCKET "\r\n";
print SOCKET $message;

とした所、実際にはPOSTされていないようなのです。
これは自分の掲示板(本のサンプルの真似ですが)に対してのPOSTですが、
REFERERチェックの入らない友人の掲示板でテストしてみてもPOSTされないようです。
ので、恐らくこちらのスクリプト側に誤りがあると思われるのですが…。
また、\r\nを\rや\nに変えても駄目でした。
どこが間違っているのでしょうか…?ご教授頂ければ幸いです。

ちなみにSunOS 5.6,Perl 5.004_04です。

No. 541 # 68user 1999/11/14 (日) 16:54
# GET ができるのに POST だけができないのなら、外してますが…
HTTP/1.1 では、Host ヘッダが必須になります。
    POST /cgi-bin/mybbs.cgi HTTP/1.1\r\n
    Host: 相手先のサーバ名\r\n
    Content-length: $len\r\n
    \r\n
    $message
でどうですか? これが原因なら、HTTP/1.0 にすればうまくいくはずです。
また、サーバのレスポンスは「400 Bad Request」となっているはずです。

それでもダメなら、
    #!/usr/local/bin/perl
    $|=1;
    sysread(STDIN, $input,$ENV{CONTENT_LENGTH});
    print "Content-type: text/plain\n\n";
    print "$input\n";
という、データを受けて表示するだけの CGI を相手に、いろいろ
試してみて下さい。

No. 542 # みのる 1999/11/15 (月) 15:35
いつも拝見しております。みのるです。(環境:SunOS5.6)
いきなりで大変心苦しいのですが、"passwd"が実行不可となってしまいました。

急に
-r-sr-sr-x 3 root 96392 Feb 24 1999 nispasswd*
-r-sr-sr-x 3 root 96392 Feb 24 1999 passwd*
-r-sr-sr-x 3 root 96392 Feb 24 1999 yppasswd*

となりroot権限で"passwd"コマンドが利かなくなってしまい、
chmod 555 passwd
でアクセス権を変更したのですが、
「passwd(SYSTEM): ○○○○ does not exist
アクセス権が与えられていません。」とエラーになってしまいます。
シンボリックリンクにすればよいのでしょうか???

No. 543 # 68user 1999/11/15 (月) 20:59
> -r-sr-sr-x 3 root 96392 Feb 24 1999 passwd*
これで正しいです。suid/sgid が立ってないと root 以外のユーザが
パスワード変更できなくなります。とりあえず
    % chmod 6555 /usr/bin/passwd
で元に戻して下さい。それでも動かないなら、そのときの症状を書いて下さい。

No. 544 # mm 1999/11/16 (火) 01:07
見逃してた…
spawn系の関数は、MS-DOSに特有のものです。

No. 545 # みのる 1999/11/16 (火) 12:10
下記コマンドでも同じエラーになりました。
昨日、リンクを外してしまったのですが、、、それが原因でしょうか。。。
昨日の時点では、同じノードでした。

# chmod 6555 /bin/passwd
# ls -ali | grep passwd
        313716 -r-xr-xr-x 1 root 96392 Nov 16 11:57 nispasswd*
        313666 -r-sr-sr-x 1 root 96392 Feb 24 1999 passwd*
        313717 -r-xr-xr-x 1 root 96392 Nov 16 11:57 yppasswd*

No. 546 # イプサム 1999/11/16 (火) 17:02
mmさん、ありがとうございます。
UNIX系では、無いのですかねぇ〜。
残念です。

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