2007年6月25日

[Namazu-users-ja 981] Re: samba上のインデックス作成時の権限エラー

寺西です。

Syuta Yanagita wrote:
>
> > 問題のファイルのみを対象にして、--debug オプション付きで実行した
> > 結果を見せてください。
>
> 添付いたします。


添付ファイルの漢字コードが Shift_JIS なのは何故でしょうか?

添付ファイルの中身を解析すると、やはり -r が通過するけれども、
load_document の util::readfile 内の open でエラーが発生して
終了となっているようでした。

> 該当のファイルになると作成が停止され、NMZ.errファイルのみ残して
> インデックスファイルが削除されています。

誤解がないようにあえて再び書いておきますが、通常は

> > mknmzは対象ファイルのリストを作るときに perl の -r演算子
> >
> > -r File is readable by effective uid/gid.
> >
> > を用いてファイルが読み込み可能か確認します。もし読み込み不可
> > ならば、そのファイルを除外します。よって、インデックス作成の
> > 途中で permission deniedで停止してしまうことはまずありません。

ということです。
ですので、-r は通過するけど実際に open するときに、 permission denied
が起きてしまうということは、異常事態です。
異常事態が起こった場合には、インデックスを残しません。(そのイン
デックスに問題が含まれる可能性があるためです。)

また、smbmount したディスクのファイルに対するインデックスの作成
に関しては特にサポートしていません。

> > Windows 側でファイルを作成しているユーザーとファイルの権限設定、
> > smbmount で指定したユーザー、smbmount のオプション、
> > mknmz を実行しているユーザーはどのようになっていますか。
>
> mknmz は root で実行しておりました。

root 以外で実行すると大丈夫ということはありませんか?

> smbmount で使用したユーザーは、Windowsサーバーの一般ユーザーです。
> (Admin権限でマウントすることは諸事情で不可能です)

もちろん Admin 権限でマウントするべきではないでしょう。

> # たぶん、util::canopen を改良すればスキップできるようになるとは
> # 思いますけど。

ということで pl/util.pl の canopen を次のように修正すると良いで
しょう。
つまり、次の行をコメントアウトします。

return (-r $file) if ($English::OSNAME ne "MSWin32");

これで、-r ではなく、実際にファイルを open して確認するようになり
ます。そのため、エラー終了することはなくなりますが、パフォーマンス
は落ちます。
ローカルディスクのファイルのみインデックスする場合は、ここをコメント
アウトする必要はありません。(念のため)


sub canopen($)
{
my ($file) = @_;

my $fh;

# return (-r $file) if ($English::OSNAME ne "MSWin32");

$fh = new IO::File $file, "r";

return 0 if (!defined $fh);

$fh->close();

return 1;
}

--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E

_______________________________________________
Namazu-users-ja mailing list
Namazu-users-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-users-ja

投稿者 xml-rpc : 2007年6月25日 18:26
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/60685
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。