Разрешение файла для пути синонимов ElasticSearch - PullRequest
0 голосов
/ 05 июня 2018

Я застрял здесь, вероятно, из-за моего недостаточного опыта работы с пользователями и группами.

Я использую ElasticSearch в Laravel 5.2 и настраиваю файл синонимов, который по умолчанию находится в / etc / ES / analysis каталог.Я хочу обновить его время от времени, поэтому я решил переместить его в каталог storage Laravel.После этого я бы снова открыл узел, чтобы мне не приходилось переиндексировать каждый раз, когда я добавляю синоним.

Теперь моя проблема заключается в том, что я не могу добавить этот каталог как synonyms_path в мой каталог.В настройках узла я получаю сообщение об ошибке:

Причина: java.security.AccessControlException: доступ запрещен ("java.io.FilePermission" "/ var / www / laravelproject / storage / app /asticquent_synonyms.txt "" read ")

Возможно, потому что ES и Web-сервис запущены разными пользователями или что-то в этом роде !?Я пытался настроить разрешения безрезультатно.Всё хранилище в Laravel настроено так, что оно будет доступно для чтения любому, в любом случае.

Также я не могу получить к нему доступ, не могу записать в / etc /asticsearch/ анализ из моего веб-приложения.И в любом случае наличие файла синонимов за пределами моего настоящего проекта кажется неправильным.

Может ли кто-нибудь подсказать мне, что я могу сделать, чтобы обойти эту проблему?

1 Ответ

0 голосов
/ 19 декабря 2018

На самом деле, это проблема политики безопасности Java, для ее решения вам нужно найти, где находится vjm : Обычно он должен быть в: /usr/lib/jvm/java-8-oracle/jre/lib/security/java.policy Редактировать файл с разрешением sudo и затем добавитьэта конфигурация предоставления, в конце файла политики.

grant {
    permission java.io.FilePermission "/var/www/laravelproject/storage/app/elasticquent_synonyms.txt", "read,write";
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...