Solrコアを作成する必要がある複数のユーザーを処理します。

Solrコアを作成する必要がある複数のユーザーを処理します。

私たちのアプリケーションサーバー(glassfish 4)はユーザーglassfishで実行されます。私たちのsolr 5サーバーはユーザーsolrとして実行されます。 glassfish と solr の両方が同じ物理サーバー上で実行されます。

glassfishで実行されているアプリケーションはsolrコアを作成できる必要があります。これを行うには、1)アプリケーションは事前定義されたsolr設定を/var/solr/dataディレクトリにコピーします。 2) REST API を介して solr コマンドを実行して solr コアを生成します。

ただし、フォルダは権限0755を持つglassfishが所有しています。この権限により、solrユーザーはデータディレクトリを作成し、コアを正しく作成できません。

0777にアップロードされたフォルダを手動で設定してコアを作成すると、コアは正常に作成されます。

この問題を解決する最も適切な方法は何ですか?

Solrがこの状況を処理できるメカニズムがあればいいのに、何も見つからないようです。

答え1

/var/solr/dataユーザーsolrをディレクトリに割り当てられたグループに追加したり、solrユーザーとglassfishユーザーを含む独自のグループを作成したり、ディレクトリに割り当てられたグループをこの新しいグループに変更したりできます。これにより、ディレクトリに775権限を設定できます。

または、ファイルアクセスリストを使用して追加のユーザーまたはグループレベルの権限を付与することもできます。まず、コマンドを使用してFACLが有効になっていることを確認しますsudo tune2fs -l /dev/[fs identifier] | grep -i "default mount options"acl右側にオプションがない場合は、FACLを有効にしてsudo tune2fs -o acl /dev/[fs identifier]ファイルシステムを再起動または再マウントする必要があります。 FACLが有効になったら、このsetfaclコマンドを使用して追加の権限を付与できます。したがって、他のユーザーを追加する場合、setfacl -m "u:[username]:[permissions]" [file/directory][permission]はrwxの組み合わせであり、[file / directory]は絶対パスまたは相対パスになります。たとえば、setfacl -m "u:solr:rwx" /var/solr/datasolr ユーザーにはフォルダに対するフルアクセス権が付与されます。

そして完了する+にはls -lgetfaclコマンド-xのフラグは、setfaclFACLリストから項目を削除するために使用されます。

関連情報