回想時に相対パスを使用する

回想時に相対パスを使用する

私はrecollを使って自分のファイルをローカルにインデックス付けしており、これまでは非常にうまくいっています。ただし、必要に応じてファイルを移動できるように、パスがrecoll.confまたはrecoll indexディレクトリに相対的になるようにします。

可能ですか?

ベストアンサー1

これ取扱説明書には次のように説明されています。定義で相対パスを使用する方法に関するいくつかの情報dir:

抜粋

フィールド構文はフィールドと似ていますが、特別な条件もサポートしています。

dirファイルの場所に基づいて結果をフィルタリングするために使用されます(例 dir:/home/me/somedir:)。-dir指定されたディレクトリ(バージョン> = 1.15.8)にない結果を見つけることも可能です。チルダの拡張は通常通りに行われます(バージョン1.19〜1.19.11p1のバグを除く)。ワイルドカードは拡張されますが、パスフィルタでワイルドカードの重要な制限を確認してください。

相対パスも意味があります。たとえば、dir:share/doc一致/usr/share/docする/usr/local/share/doc

その機能と関連ディレクトリを検索する機能に加えて、設定ファイルがあるディレクトリにインデックスを固定する他の方法については言及していません。

ハッカー攻撃の可能性

考えられる考えの1つは、システムの最上位レベルを示すために、構成ファイルがあるディレクトリまたはインデクサーに「TOP」を参照することを望むディレクトリにシンボリックリンクを作成することです。その後、dir:設定ファイルへのパスとしてシンボリックリンクパスを指定できます。

$ ln -s /path/to/top/of/index /etc/recoll/somelink

このrecollシンボリックリンクが「TOP」として使用されていると仮定すると、データベースを移動するときにデフォルトでパスの変更可能な特性を「吸収」することができますが、インデックスが有効になるrecoll外部構成項目としてシンボリックリンクを使用できます。

 dir:/etc/recoll/somelink

ただし、これが機能していることを確認するにはテストを実行する必要があります。recollインデックスを構築するときは、パスのシンボリックリンクを尊重する必要があるのか​​、物理的な場所を決定して使用するのかわかりません。

おすすめ記事