Namazu-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
permission denied で mknmz が終了する.
- From: Yasunori Tada <tada@xxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 25 Feb 2000 20:32:48 +0900
- X-ml-name: namazu-users-ja
- X-mail-count: 00005
多田@大阪大学です.
namazu-1.3.0.11 から 2.0 に乗り換えたところ,permission denied が発生
するとインデックス作成途中で mknmz が終了するようになってしまいました.
原因が分かったので報告します.対処法は正しいかどうか分かりませんが.
使用環境は以下の通りです.
FreeBSD-3.3R
namazu-2.0
ChaSen-2.02
detex-2.7
nkf-1.71
マシンは NFS server(ホスト名:hostA) と WWW server(ホスト名:hostB)で構
成されています.
Web データは hostA に実体があり,そのデータのインデックスを hostB に作
ろうとしています.
NFS
hostA ---------- hostB
Web データ Namazu インデックス
hostA のデータはクライアント(hostB)からは root 権限によるアクセスがで
きません.
(owner が root 以外でパーミッションが 600 のファイルにアクセスしようと
すると permission denied となります)
上記環境で以下のようにインデックスを作ろうとすると,パーミッションが
600 のファイルをインデックス化するところで permission denied が表示さ
れたあと mknmz が終了してしまいインデックスがつくられません.
# hostname
hostB
# whoami
root
# ls -l /www/test.txt
-rw------- 1 tada students 364 Feb 25 10:32 /www/test.txt
# pwd
/usr/local/namazu/index
# mknmz /www
10個のファイルがインデックス作成の対象として見つかりました
1/10 - /www/FreeBSD.html [text/html]
...snip
3/10 - /www/dvi2ps.txt [text/plain]
mknmz: /www/test.txt: Permission denied
#
調べたところ,ファイルオープンでエラーが出ると終了するようになっていた
ので,util.pl を書き換えて終了しないようにしました.
これでインデックスが作られるようになったのですが,エラーが出たら終了と
いうのは 2.0 の方針なんでしょうか? エラーの種類によっては終了すべきも
のもあるでしょうが,パーミッション程度のことなら無視して処理を続けて欲
しいのですが.
#それより namazu 用のアカウントを作るべきなのかな
#そのほか気になったこと
#1.メーリングリストの検索ページを www.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
# と怒られるのですが.
--- util.pl.org Fri Feb 25 10:45:20 2000
+++ util.pl Fri Feb 25 19:08:52 2000
@@ -116,7 +116,7 @@
return '';
}
} else {
- $fh = efopen($arg);
+ $fh = fopen($arg) || return '';
}
my $cont = "";
@@ -141,7 +141,7 @@
return '';
}
} else {
- $fh = efopen($arg);
+ $fh = fopen($arg) || return 0;
}
my $size = -s $fh;
return $size;
---
Yasunori Tada<tada@xxxxxxxxxxxxxxxxxxxxxxxx>