Работа с несколькими пользователями, которым необходимо создать ядра Solr

У нас есть сервер приложений (glassfish 4), работающий под пользователем glassfish. У нас есть наш сервер solr 5, работающий под пользователем solr. И glassfish, и solr работают на одном физическом сервере.

Приложение, работающее внутри Glassfish, должно иметь возможность создавать ядро ​​solr. Для этого 1) приложение копирует предопределенную конфигурацию solr в каталог / var / solr / data . 2) Выдает команду solr через REST API для создания ядра solr.

Однако папка принадлежит glassfish с разрешениями 0755. Из-за этих разрешений пользователь solr не может создать каталог данных и правильно создать ядро.

Если я вручную настрою загружаемую папку на 0777 и создаю ядро, ядро ​​будет создано успешно.

Что было бы наиболее подходящим способом решения этой проблемы?

Я ожидал, что у solr есть механизм, позволяющий справиться с подобными ситуациями, но я не могу ничего найти.

0
30.08.2017, 17:25
1 ответ

Вы можете добавить пользователя solr в группу, назначенную каталогу /var/solr/data, или создать собственную группу, содержащую пользователей solr и glassfish, и изменить группу, назначенную каталогу, на эта новая группа. Таким образом, вам нужно будет установить только 775 разрешений для каталога.

Кроме того, вы можете использовать списки доступа к файлам для предоставления дополнительных разрешений на уровне пользователя или группы. Сначала проверьте, включены ли FACL, с помощью команды sudo tune2fs -l /dev/[идентификатор fs] | grep -i "параметры монтирования по умолчанию". Если aclне указан справа, вам необходимо включить FACL с помощью sudo tune2fs -o acl /dev/[идентификатор fs], а затем перезагрузить или перемонтировать файловую систему. Когда FACL включены, вы можете предоставить дополнительные разрешения с помощью команды setfacl; поэтому добавление дополнительного пользователя будет setfacl -m "u:[имя пользователя]:[разрешения]" [файл/каталог], где [разрешения] - любая комбинация rwx и [файл/каталог] может быть либо абсолютный или относительный путь. Так, например, setfacl -m "u:solr:rwx" /var/solr/dataпредоставит пользователю solr полные права доступа к папке.

И, просто для завершения, вы можете узнать, какие файлы имеют FACL, установленный с помощью +, который появится после обычных разрешений, перечисленных при выполнении ls -l. Затем вы можете использовать команду getfaclдля файла, чтобы просмотреть дополнительные разрешения, которые у него есть. Флаг -xв команде setfaclиспользуется для удаления записей из списка FACL.

1
28.01.2020, 02:45

Теги

Похожие вопросы