68user's page 掲示板

Prev< No. 1236〜1254> Next  [最新発言に戻る] [過去ログ一覧]
No. 1236 # hsj 2000/10/07 (土) 02:25:23
@ミワさん
>それはlogディレクトリのことでしょうか?
いえ、そうではなくてsignal.logが書き込まれるディレクトリです。
web(nobody?)権限での書き込みができなければ動きませんよね。
・・・が、よく考えると
>全く飛んできませんでした。
とおっしゃってますし、とくにエラーになるとも書かれてませんね・・・。
と言うわけで、コレはハズしてそうです。
かき混ぜてスミマセン。

>これっておかしいですよね。
それは、ftpdがchrootされてるのでしょう。
セキュリティの確保が目的だと思います。
#CGIが使えるんだから、あまり意味が無いと言えば無いのですが(笑

No. 1237 # ミワ 2000/10/07 (土) 03:13:05
@hsj さん
>>全く飛んできませんでした。
>とおっしゃってますし、とくにエラーになるとも書かれてませんね・・・。

エラーにはなってないと思うんですが、ちょっと自信がないです。

>それは、ftpdがchrootされてるのでしょう。
>セキュリティの確保が目的だと思います。

なるほど、セキュリティの為に意図的に設定してあるんですね。


もしかして KeepAlive は関係しているのでしょうか?
http://japache.infoscience.co.jp/japanese_1_3/manual/keepalive.html

KeepAliveがoffに設定してあると、KeepAliveTimeoutが適応されて
Timeoutに移行する という解釈でいいのでしょうか?
#はずしてそうですが...

No. 1238 # 68user 2000/10/07 (土) 18:03:37
@aki さん
> /usr/adm/sm.bin/ に置いたらできるようになりました!
で終わってしまうと、スキルアップにつながらないので、
僕がどうやって調べたかってのを書いておきます。


パーミッションを落としたりして適当にいろいろ試してみるが、
FreeBSD 4.0-RELEASE では同じエラーを出せない。

というわけで、sendmail のソースを探す
        % locate /sendmail/
どうやら /usr/src/contrib/sendmail らしい。
        % cd /usr/src/contrib/sendmail
ソースから available for sendmail という文章を探す
        % grep "available for sendmail" */*
        smrsh/smrsh.c: fprintf(stderr, "%s: %s not available for sendmail programs\n",
smrsh って何? コマンドのようだが…
        % man smrsh
「smrsh - sendmail用に制限されたシェル」だそうな。特定の
ディレクトリに置いてあるプログラムしか、~/.forward や
/etc/aliases から呼び出せないらしい。

sendmail.cf から sh か smrsh を探す
        % egrep '/bin/(sh|smrsh)' /etc/mail/sendmail.cf
        Mprog, P=/bin/sh, F=lsDFMoqeu9, S=10/30, R=20/40, D=$z:/,
なるほど。FreeBSD のデフォルトでは /bin/sh を使っているので
同じエラーは出ないわけね。


あと、最初に質問した掲示板に、解決したことを書き込んでおく
べきでしょう。

No. 1239 # noiz [E-mail] 2000/10/10 (火) 11:52:41
はじめまして。
よろしくお願いします。

wwwboard.cgiを拝見して、これは...! と思っていただきました。
些末なことなのですが、自分の間借のWebスペースにテスト設置してみて
気付いたことを報告します。

コメントアウトしてスクリプトのご説明をされている部分で、
ディレクトリ配置のご説明でlockとされているディレクトリ名が
my変数の定義ではlockdirとなっていました。ありがたいことに
細かく動作チェックできるのですぐに修正できましたが、為念。

---

wwwboard.cgi設置に際して、自分の方に別の問題があります。
こちらでお聞きしていいものかどうか判断せずに書き込みしていますので、
不適当であれば無視してください。

問題
スクリプトの実行権限の種別が、所有者権限(個人のアカウント名)、
nobody権限のいずれでもなくwwwの権限となる。
書き込みはできるが、生成されるログのOwnerがwwwとなり、
ぼくのアカウントではログの削除ができなくなる (^^;

ぼくの方の環境 (ISPにWebページ用の領域を間借している形態です)
・WebサーバのOS : RS/6000
・CGI設置場所の制限 : 個人のhomeディレクトリ以下であればどこでも可
・wwwboard.cgiで使用するコマンドのうちnamazuとmd5が使用不可

動作チェックの出力の結果
http://www.ad.il24.net/~noiz/bbs/wwwboard.cgi?test

No. 1240 # tam [E-mail] 2000/10/10 (火) 14:43:51
フォローありがとうございます。
radiusのこともまだ知ったばかりですので、
知らないことがいっぱいです、もっと調べなければ...

No. 1241 # has 2000/10/10 (火) 15:01:06
@noizさん
はじめまして。
私も同じ掲示板を使っています。

削除に関しては、管理モードなどの追加(自作)をするのが
一番かも妥当なのかも知れません。
掲示板のログファイルの形式を見ていただくと、
一括方式にしろ分割方式にしろ、1件ごとの書き込みは
わかりやすい形式で保存されていると思いますので、
単純なサブルーチンでもって管理可能なのではないかと思います。

# 本当はどうするのがいいですかね>68user

No. 1242 # 68user 2000/10/10 (火) 22:57:49
ああ、僕を含めて 3人目のユーザを確認。ちゃんとサポートなんか
してみたりして。

> スクリプトの実行権限の種別が、所有者権限(個人のアカウント名)、
> nobody権限のいずれでもなくwwwの権限となる。
www は nobody と同じようなものだと思ってください。そのサイト
全てのユーザの CGI が www 権限で動きますので、状況は nobody と
変わりません。

> 書き込みはできるが、生成されるログのOwnerがwwwとなり、
> ぼくのアカウントではログの削除ができなくなる (^^;
ファイルの削除ができるかどうかは、ファイルのオーナーとは
関係ありません。そのファイルの置いてあるディレクトリに
Write パーミッションがあるかどうかです。

現状では umask 002 としていますので、
    separate_log/000/ (ディレクトリ)
    separate_log/000/00001 (ファイル)
のパーミッションは、それぞれ 775,664 になるはずです。

で、OS が BSD 系ならば削除はできるはずです。なぜなら、
    separate_log/ は owner:group が 68user:realuser で、パーミッションが 757
という状況で、ユーザ www が
    separate_log/000/ (ディレクトリ)
    separate_log/000/00001 (ファイル)
を作ろうとすると、
    separate_log/000/ は owner:group=www:realuser で、パーミッションが 775
    separate_log/000/00001 は owner:group=www:realuser で、パーミッションが 664
となるはずです。親ディレクトリのグループを引き継いでいる
ところがミソですね。

ところが、SysV 系では、作成したファイル・ディレクトリの
グループは、ファイル・ディレクトリ作成者の実効 GID となるので、
仮に CGI の実行が uid:gid=www:www で行われるとしたら
    separate_log/000/ は owner:group=www:www で、パーミッションが 775
    separate_log/000/00001 は owner:group=www:www で、パーミッションが 775
となり、separate_log/000/00001 は、CGI 経由でないと
消せなくなります。
# ここらへんの動作を決める要素は、他にも sgid bit があるけど、略。
# なお、Linux だと mount 時のオプションでどちらの挙動をするかを
# 決められます。

というわけで、まずは削除ができるかどうか試してみてください。
RS/6000 の OS が BSD 系ならば消せるでしょう。

# でも多分 AIX だろうから、SysV だよなぁ…。しかし、RS/6000 を
# 使っている ISPか。金持ちだ (いくらか知らんけど)。

> 削除に関しては、管理モードなどの追加(自作)をするのが
> 一番かも妥当なのかも知れません。
へい、作りまっせ〜。何か要望があれば今のうちに言ってください。
数日経ってやる気が失せる前に (笑)

> my変数の定義ではlockdirとなっていました
こちらも直します。

No. 1243 # aki 2000/10/11 (水) 13:49:24
68userさんありがとうございました
大変勉強になりました!
おかげさまでだんだんコツがつかめてきました〜

またひとつ、同じ流れで質問させてください
メールをプログラムに落とし、perlで処理をして転送と言う簡易な処理はできるようになったのですが、
ファイルのオープン処理やファイル作成などができません
デバックではうまく出来ているのですが・・・??

よろしければまた、お願いします

No. 1244 # noiz [E-mail] 2000/10/11 (水) 15:52:51
hasさん、68userさん、ありがとうございます。

ははあ、とりあえず www 権限は nobody 権限と考えていいんですね。
68user さんのご指摘通り、生成された分割ログのパーミッションは、
ディレクトリ=775、ファイル=644、となっています。で、結論から
言って削除できませんでした (泣笑)。Web サーバは FTP ポート
しか開放されていないので、Mac/Win の FTP クライアントで
ログファイルの削除を試してみましたが、Permission Denied で
はねられました。

>> 削除に関しては、管理モードなどの追加(自作)をするのが
>> 一番かも妥当なのかも知れません。
> へい、作りまっせ〜。何か要望があれば今のうちに言ってください。
> 数日経ってやる気が失せる前に (笑)

厚かましいのですが、ぜひぜひお願いします。ぼくはプログラム全般
ぜんぜん分からないので、ログまわりの改造をしていただけると使うのに
何のハードルもなくなってありがたいです。

また質問があるのですが、検索で使用する namazu は Perl 版で良いのでしょうか?

No. 1245 # noiz [E-mail] 2000/10/11 (水) 15:54:36
煩瑣になってすいません。ログファイルのパーミッションは以下のとおりです。
×644 ○664

No. 1246 # has 2000/10/11 (水) 21:48:58
> へい、作りまっせ〜。何か要望があれば今のうちに言ってください。
> 数日経ってやる気が失せる前に (笑)
んじゃあ、キャッシュのほう、情報を表示のに加えて、
削除とかもできるようにしといてもらえますか?
# ここのキャッシュ、合計100MBってちゃんと消さないと:-p

うちの方は、携帯から見やすいようにしたり、カレンダーなどと
組み合わせてみたりといろいろいじってしまい、
追加された機能を自分のに反映するのに苦労しそうです…。

No. 1247 # 68user 2000/10/11 (水) 22:45:51
せっせと作っております。機能設計書も詳細設計書も、
テスト仕様書もないプログラミングはなんと楽しいことか…。

@has
> んじゃあ、キャッシュのほう、情報を表示のに加えて、
> 削除とかもできるようにしといてもらえますか?
あい、了解です。あと、ソース送ってちょーだいな。
採り入れられる機能は採り入れます。


@noiz さん
> 検索で使用する namazu は Perl 版で良いのでしょうか?
namazu (の一部) は C言語で書かれているため、コンパイルが
必要です。ログインできないなら、あきらめた方がよいでしょう。

# プロバイダのマシンにコンパイラがあるかどうかわからないし、
# もしあったとしても namazu 環境を構築した経験がない
# なら、とても苦労するでしょう。

簡易検索機能でも付けるかなぁ…。


@aki さん
> メールをプログラムに落とし、perlで処理をして転送と言う
> 簡易な処理はできるようになったのですが、
メーリングリストサーバを自作しているんですか?

> ファイルのオープン処理やファイル作成などができません
> デバックではうまく出来ているのですが・・・??
実行権限が違うとか、環境変数が足りないとか、原因はいろいろ
考えられますので、これだけの情報ではわかりません。

/tmp あたりに適当にファイルを作ってみて、ファイルの
オーナーを確認したり、環境変数を全部表示させたりすれば
わかるかもしれません。

No. 1248 # noiz [E-mail] 2000/10/13 (金) 12:27:43
68userさん
ありがとうございます。結局 CGI の改造をお願いすることに
なってしまいましたが、嬉しいです。

はい、namazu で検索はあきらめます :-)
でも検索機能がなくてもぼくにはもったいないくらいです。

No. 1249 # ちゃいぱ 2000/10/14 (土) 01:39:14
いつもお世話になっています。
私の質問掲示板に.htaccessのdenyについての質問がきたのですが..,。
68userさん、ちょっと見てもらえますか。よろしくお願い致します。

http://www.parkcity.ne.jp/~chaichan/qanda/qa246.htm

No. 1250 # yuji 2000/10/15 (日) 05:07:25
どうも、ご無沙汰しております、yujiです。^^
現在、ソケットファイルを作成したいのですが、
その方法がわからず、困っております。
UNIXドメインソケットファイルの使い方はいろいろなサイトに記述されて
いるのですが、根本となるUNIXドメインソケットファイルの作成の
仕方について触れているサイトを見つけることができませんでした。^^;
もしなにかご存知でしたら、どうぞよろしくお願いします。
それでは、また。^^

No. 1251 # yuji 2000/10/15 (日) 05:40:06
どうも、yujiです。^^
下の記事の訂正なのですが、
簡単にUNIXドメインソケットファイルを
作成するコマンドはないのかなと思いまして。
すいませんが、よろしくお願いします。

No. 1252 # 68user 2000/10/15 (日) 09:39:15
@ちゃいぱさん
> 私の質問掲示板に.htaccessのdenyについての質問がきたのですが..,。
> 68userさん、ちょっと見てもらえますか。
えっと、こういう形での回答依頼はご勘弁を。答えたければ
答えるし、興味がなければ/知らなければ答えない、ということで。

今回の件に関しては、既にどなたかが書いておられますが
    deny from .XXXXX.ocn.ne.jp
というふうに先頭に . を付けるか、ホスト名が逆引きされて
いないならIP アドレスでの制限をする、くらいしか思い
付きませんでしたが、
    deny from dion.ne.jp
がうまくいっているなら外れっぽいですね。後は「どうやって
うまくいかないと確認したのか。その確認方法が間違っている
のではないか」くらいでしょうか。

@yuji さん
> 簡単にUNIXドメインソケットファイルを作成するコマンドは
> ないのかなと思いまして。
多分ないと思います。FIFO (名前付きパイプ) とは違って、ソケット
ファイルはサーバ側のプロセスが必ず存在していなければいけない
ので (必ずソケットに bind されていないといけない)、仮に
「作成するコマンド」があったとしても、その「ソケットファイルを
作成したプロセス」が終了した瞬間にソケットファイルは無効となります。

# という説明でいいのかしら…。FIFO は mkfifo や mknod コマンドで
# 作れます。念のため。

No. 1253 # ちゃいぱ 2000/10/15 (日) 13:33:54
いつもお世話になっています。
> こういう形での回答依頼はご勘弁を。
すみません、ついあまえちゃって、68userさんに振ってしまう私です...。
切り札使いすぎました。以後、気を付けます。

> その確認方法が間違っているのではないか
質問者に尋ねて見ます。
いつもながら、アドバイスありがとうございます。

違う意味で、今後もよろしくお願い致します。

No. 1254 # yamama 2000/10/15 (日) 22:42:39
http://virtys.virtualave.net/cgi-bin/so.cgi
こーゆー、SNMPに外部からアクセスできるかどうかを調べるには、
どしたらいいですか?

Perlでやりたいんですが。。
UNIXのコマンドとかあるのかな?

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