Namazu-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: permission denied で mknmz が終了する.



Yasunori Tada <tada@xxxxxxxxxxxxxxxxxxxxxxxx> wrote:

>namazu-1.3.0.11 から 2.0 に乗り換えたところ,permission denied が発生
>するとインデックス作成途中で mknmz が終了するようになってしまいました.
(snip)
>上記環境で以下のようにインデックスを作ろうとすると,パーミッションが
>600 のファイルをインデックス化するところで permission denied が表示さ
>れたあと mknmz が終了してしまいインデックスがつくられません.

mknmzは対象ファイルのリストを作るときに perl の -r演算子

   -r  File is readable by effective uid/gid.

を用いてファイルが読み込み可能か確認します。もし読み込み不可
ならば、そのファイルを除外します。よって、インデックス作成の
途中で permission deniedで停止してしまうことはまずありません。

しかし、root権限で NFS上のファイルに対して mknmz を実行する
という多田さんの環境では、 -r は通過するけど実際に open する
ときに、 permission denied が起きてしまうわけですよね。


># hostname
>hostB
># whoami
>root

mknmz を root で動かす理由はあるのでしょうか? 一般ユーザで動
かせば「-r は通過するけど実際に open するときに、 permission
denied」という問題は起きないと思います。

あるいは、

| マシンは NFS server(ホスト名:hostA) と WWW server(ホスト名:hostB)で構
| 成されています.
| Web データは hostA に実体があり,そのデータのインデックスを hostB に作
| ろうとしています.
| 
|             NFS
|   hostA ---------- hostB
| Web データ      Namazu インデックス

この構成なら、 A でインデックスを作って NFS で B に export 
する、という方法がいいと思います。検索時に NFS 越しのアクセ
スが発生するのが嫌ならば Aで作ったインデックスを B にコピー
すればいいのではないかと。


>#そのほか気になったこと
>#1.メーリングリストの検索ページを www.namazu.org にリンクして欲しいです.

メイリングリストの検索サイト <http://ml.namazu.org/> は近い
うちに移転します。しばしお待ちください。


>#2.namazu.cgi の CGI 変数 lang が manual.html に書かれていません.無く
>#  なったのかと思いました.

すみません。 説明書の不備です。修正しておきます。


>#3.perl は全然使ったことがないのではずしてるかも知れませんが,
>#  mknmzrc-sample の $conf::WAKATI  = $CHASEN; は
>#  $conf::WAKATI  = $conf::$CHASEN; ではないのでしょうか?
>#  元のままだと
>#  Use of uninitialized value at /usr/local/bin/mknmz line 735
>#  と怒られるのですが.

mknmzrc-sample は ../pl/conf.pl から自動生成しています。生成
処理を修正しておきます。ご指摘ありがとうございました。

-- Satoru Takabayashi