Лучший способ установить разрешения Unix при развертывании файла war - PullRequest
4 голосов
/ 13 апреля 2010

У нас есть приложение-поставщик, где мы загружаем их обновления и разворачиваем файл войны.Мы развертываем файл war на сервере приложений Unix, на котором работает сервер приложений Oracle 9i.Я считаю, что когда мы развертываем файл войны, мы удаляем предыдущую установку, а затем разворачиваем новый файл войны.Когда мы развертываем файл war, иногда нам приходится вручную устанавливать разрешения для файлов unix для класса и других файлов.Мы делаем это, чтобы все пользовательские идентификаторы Unix могли запускать необходимые им процессы.Есть ли лучший способ сделать это?

Ответы [ 3 ]

0 голосов
/ 13 апреля 2010

На основании вашего комментария к ответу Стивена, как насчет установки umask в 000 для пользователя, который развертывает файл войны? (Это может быть oracleas, переменная umask часто устанавливается в .profile этого пользователя.) Umask (который теперь, вероятно, установлен на 027) маскирует права доступа к файлам, 000 ничего не маскирует, что приводит к разрешениям для других.

0 голосов
/ 13 апреля 2010

Всего несколько подсказок: Нет способа установить права доступа к файлам в war / jar.

Разрешения зависят от umask пользователя oracleas. Измени это и все будет готово.

Есть ли способ сохранить упаковку войны?

0 голосов
/ 13 апреля 2010

Я не очень разбираюсь в OAS ... но я предполагаю, что файлы, распакованные из файла war, будут принадлежать пользователю, к которому работает OAS. Это не правильно? Можете ли вы объяснить немного больше о том, что на самом деле происходит или почему это проблема?

После ваших дополнительных комментариев ниже ...

Похоже, ваша модель безопасности просто не совсем верна: вы связываете OAS и его данные с группой dba, но некоторые зависимости OAS (и его данных) не входят в эту группу. У меня есть несколько предложений:

  1. Создайте новую группу для OAS и ее зависимостей и оцените, какие пользователи в группе dba также должны быть в этой группе. При необходимости оставьте пользователя OAS в группе dba.
  2. Разверните файл war с помощью скрипта, который ожидает завершения развертывания и изменяет для вас разрешения.
  3. Исправьте ваши зависимости. Это похоже на то, что некоторые классы в файле war должны быть развернуты в другом месте - вне контекста приложения - и на них есть ссылки. Затем они могут иметь новую, более подходящую группу, в которую вы добавили бы пользователя пакетного процесса и пользователя OAS.
...