|
>>3371 gaji なるほど、ftpd の挙動が変わったのですね。 > ls -aやdirなどは/bin/lsで処理され、lsはftpdの内部コマンドで > 処理される事が多い。 そういう実装が多かった、というのは確かかもしれません。 ただ、ProFTPD のように /bin/ls に一切頼らない ftp サーバもありますので、あくまで「多かった」という程度 だと思います。 > ftpのNLSTが内部コマンドを使用するか、/bin/lsを使用するかは > 設定可能なものでしょうか。 Solaris8, Solaris9 の ftpd を見る限りでは、そのような 設定はできないようです。 http://www.freebsd.org/cgi/man.cgi?query=ftpd&&manpath=SunOS+5.8&format=html http://www.freebsd.org/cgi/man.cgi?query=ftpd&&manpath=SunOS+5.9&format=html > ftp> ls ?????.txt local.txt > 200 PORT command successful. > 550 ?????.txt: No such file or directory. もしクライアント側が LIST を発行しているとしたら (ftp -d で確認できます)、LIST に対して 550 を返すのは RFC 違反ではないかなぁと思いました。 http://hp.vector.co.jp/authors/VA002682/rfc959j.htm より引用 以下の表では、それぞれのコマンドごとの成功・失敗の応答を一覧表にしてあ る。これらは、確実に忠実でなくてはならない。サーバーは応答中の文章を変更 してもよいが、その意味、コード番号により示される動作と指定されたコマンド 応答シーケンスは変更してはならない。 コマンド応答シーケンス LIST 125, 150 226, 250 425, 426, 451 450 500, 501, 502, 421, 530 この解釈が正しいなら、Sun に文句を言えば直してくれる かもしれません。 ただ、ftp は規格が曖昧で、実装依存の塊みたいなものなので、 ls してクライアント側で grep した方が後々のためにもよい かもしれません。ファイルに落として grep するとか、 ftp> ls . "|grep ^.....\.txt$ >hoge" とするとか。 |
|
>>3361 68user 68userさんのご助言通り、 ftpサーバをPCに入れてみました所、上手くいきました。 ありがとう御座いました! |
|
>>3371 gaji 確か、Solaris9からwu-ftpdベースになっている筈です。 以下man ftpaccess(4)から... /etc/ftpd/ftpaccess lslong /usr/bin/ls lsshort /usr/bin/ls lsplain /usr/bin/ls 上記3行を追加してみては如何でしょうか... 外していたらごめなさい。 ではでは |
|
>>3374 とーりすがり 情報の提供ありがとうございます。 試してみたいと思います。 >確か、Solaris9からwu-ftpdベースになっている筈です。 これは、私も何かの書籍で見た記憶があります。 また、何か情報がございましたらお願いします。 |
|
イーサカード(hme等)のインスタンス番号についてご教授ください。 hme0と認識されているカードをカード実装位置を変えずにhme5のようにインスタンス番号のみ変更することは可能でしょうか? |
|
送信サーバ認証が不要な SMTPサーバではサーバ外メール送信は実現できています。 しかし、送信サーバ認証が必要な SMTPサーバではサーバ外メールを送信できません。(Outlook Express ではサーバ外メール送信OK) SMTP AUTH と POP Before SMTP を試しました。 SMTP AUTH は NONE-SUPPORT のメッセージが返りました。 POP Before SMTP として、POPサーバに USER と PASS コマンドを使い認証を受けた後(正常終了)で QUIT の直後に、SMTPサーバ にconnectし、HELO, MAIL FROM: とコマンドを送信し、RCPT TO: で 550 5.7.1 と Relay エラーを出してしまいます。 POP Before SMTP を実現するためのコマンドシーケンスを教えてください。 VC++ 6.0 Windows98SE 宜しくお願い致します。 |
|
関数にリダイレクションを引数として渡したいのですが どうも上手くいきません。ご教示お願いいたします。(OS:HPUX) KANNSUU(){ echo "A" $1 tmp.txt } KANNSUU > 結果:"A > tmp.txt"と表示されてしまう。 |
|
>>3374 とーりすがり > 確か、Solaris9からwu-ftpdベースになっている筈です。 おお、ほんとうですね。 http://docs.sun.com/db/doc/816-3965/6ma7896j8?l=ja&q=wu-ftpd&a=view 知りませんでした。 ってゆーか、まわりに Solaris9 環境がなかったりするんですけどね。 >>3376 新米 > hme0と認識されているカードをカード実装位置を変えずにhme5の > ようにインスタンス番号のみ変更することは可能でしょうか? (Solaris かどうか書いてないのでわかりませんが) Solaris の ifconfig はいろんな設定ができるので、できるかもしれませんし、 できないかもしれません。 >>3377 foofoo > POP Before SMTP を実現するためのコマンドシーケンスを教えてください。 POP でアクセスすればそれでよいはずです。 その前に、調べ方が効率悪すぎです。 まずはサーバがどういう認証方法を取っているか調べましょう。それが できないなら、ethereal などのパケットアナライザを使って、Outlook が どういうふうに接続しているか調べましょう。 >>3378 リダイレクションを引きとして渡す eval を使って KANSUU(){ eval "echo 'A' $1 tmp.txt" } とします。しかし、そのうちメッセージやファイル名に空白や シングルクォート・ダブルクォートが入ってたら〜とかいう 話になると思うので、 KANSUU(){ if [ $2 = 0 ]; # file 出力モード echo $1 > tmp.txt else # 標準出力モード echo $1 fi } 的な書き方をお勧めしておきます。 |
|
>>3379 さん、ありがとうございました。 > POP でアクセスすればそれでよいはずです。 何かが悪いのでしょうが、前の記述通り、POP から SMTP の切替て RCPT TO:で 550 が発生してしまいます。 うまく行っている Outlook を ethereal でトレースしようと思います。 ethereal のようなトレースツールも知りたかったので大変うれしく思っています。 早速 ethereal をダウンロードしてトレースしてみます。 テスト後ご報告致します。 foofoo |
|
>>3379 68user 68userさん、大変ありがとうございました。 etherealを使いトレースしたところ、Outlook Expressは、POP Before SMTP ではなく、AUTH LOGIN コマンドを使っていることがわかりました。 < EHLO xnn000<CR><LF> > 250 < AUTH LOGIN > 334,334,235 < MAIL FROM: > 250 : : Outlook Expressと同じ手順でOKにはなりました。 新たに不明な点が出てきました。 AUTH LOGIN の前に発行するEHLO に不明なアドレスのパラメータがついていました。 そのアドレスは、レジストリーで調査してもWindowsに設定されたアドレスでもなく、Outlook Express の設定の中にも無い下記のようなアドレスでした。 EHLO xnn000<CR><LF> 注:x:a〜zまでの内の1文字 nn:00〜99までの数字 所持メールアドレスは、送信メールサーバで認証の必要なものは1つしか持ち合わせがないため、他のメールサーバの時にどうなるかを確認できません。 このアドレスの根拠についてご存知の方、教えてください。 宜しくお願いします。 |
|
>>3381 foofoo 記載ミス 失礼しました、コマンドを統一表記していませんでした。 EHLO 以外も、Trailer として <CR><LF> は全て付加されています。 |
|
お久しぶりです。質問です。 さいきん MovableType に手を染めたのですが、 結構快調に使えていたんですが、rebuild 時に 500 Internal Server Error になるようになりました。 ずっとエラーになっても、再構築はできてたっぽかったんですが、 このたびついに再構築じたいできなくなりました。 (いつまでたっても古いページのまま) ドキュメントを見ると index.html を index.html.new に 退避してから書き込み動作を行い、 それが終わったら new を index.html に変名するような仕様に なっているが、この場合 mt ルートディレクトリののパーミッションが 777 になってないといけない、とあったので、 みてみると、たしかに 755 だったので、777 にすると、 今度は書き込み動作をしようとするといきなり 500 になりました。 あわてて 755 に戻すと、書き込み動作時のエラーはなくなりましたが、 相変わらず再構築時にエラーになります。 で、ドキュメントに、index.html.new を作らない設定にするには mt.cfg の NoTempFiles 1 を非コメント化するようにと言われたので、 しましたが、効きません。 なお、ルートには確かに index.html と index.html.new があって、 index.html のタイムスタンプは最後に再構築できたときです。 パーミッションは両方 666 です。 Perl は 5.005_03、 UNIX は FreeBSD 4.5-RELEASE-p36 #2 です。何かわかりましたら教えてください。 あと、板違いの場合はよさげな板を教えてくだされば幸甚です。 よろしくお願いします。 |
|
<<3383 ティピカルな問題かも。 http://www2h.biglobe.ne.jp/~hnakamur/technolab/diary/2003/20030810.htm system 'ulimit'; とかどっかに入れたろか ;;; |
|
>>3381 foofoo > EHLO xnn000<CR><LF> > 注:x:a〜zまでの内の1文字 nn:00〜99までの数字 これについてはわかりません。 http://www.puni.net/~mimori/smtp/ref.html#ehlo には SMTPサーバは、実際にはTCP/IP接続のIPアドレスなどの情報から クライアントを識別すべきである。 とあるので、Outlook Express はあえて適当なホスト名を生成して いるのかもしれません。 自分の FQDN を知っているならそれを、知らないなら IP アドレスを 渡しておけばいいのではないでしょうか。 >>3383 ふくし > rebuild 時に 500 Internal Server Error になるようになりました これだけでは「理由はわからないがエラーになる」と言っているのと 同じなので、原因を調べましょう。 - web サーバのエラーログには何と出ているか - CGI として起動したときの truss や ktrace の結果はどうなるか - コマンドラインから実行するとこけるか もし原因が limit である可能性が濃いなら、さらに以下のことを 調べましょう。 - CGI として起動したときの limit 値は (apache なら設定ファイルに書いてあるかも) - コマンドラインから起動したときの limit 値 (シェルの limit 値) は - ソフトリミットか、ハードリミットか (ハードリミットなら変更不可) - suid などで他の権限になれるか。なれるとしたらそのリミット値は? - なぜこけるのか。 手元の Solaris で試した限りでは、 - datasize の制限なら、malloc(3) して、brk(2) したときに ENOMEM が返ってきてこける - stacksize の制限なら、segmentation fault でこける。 となりました。FreeBSD でも同じかどうかはわかりません。 > system 'ulimit'; とかどっかに入れたろか ;;; これだと子プロセスのシェルの limit 値は変わるかもしれませんが、 自分自身の limit 値は変わりません。 CPAN から setrlimit(2) するライブラリを拾ってくるか、自分で syscall で呼ぶ必要があります。 # ただし、ハードリミットならどうしようもありません。 |
|
>>3385 68user さん、いつもありがとうございます。 すみません、レンタルサーバー(さくらウェブ)が ログを見せてくれません。 telnet は使えるので、もう少しいろいろやってみます。 検索した限りでは同じサーバーで同病の人が多いので 制限のようですが、どのレベルでの制限かはまだわかりません。 |
|
>>3385 68user 68user さん、ありがとうございました。 コメントを参考に対処していきます。 |
|
fork関数とselect関数の違いが分かりません。誰か教えてくれませんか? |