У нас есть приложение веб-службы Java, которое использует log4j для ведения журнала. Возникает исключение, когда log4j пытается удалить свои скользящие файлы журнала.
Exception:java.security.AccessControlException: access denied
(java.io.FilePermission /var/opt/SUNWappserver/domains/domain1/
applications/j2ee-modules/ourwebservice/WEB-INF/logs/IMWrapper.log.10 delete)
Когда мы делаем ls в каталоге, учетная запись службы имеет доступ для чтения и записи файлов и каталога.
Из некоторого начального поиска в Google кажется, что нам, возможно, придется изменить файл security.policy, чтобы служба могла удалять файлы. Какие-либо предложения?




В качестве быстрого исправления вы можете запустить приложение, используя файл политики со следующим содержимым:
grant {
permission java.security.AllPermission;
};
используя опцию командной строки:
-Djava.security.policy = file: <your_policy_file>
См. эта ссылка для получения дополнительной информации о том, как настроить файл политики для получения требуемых прав доступа.
Обновлено: Извините, но я не знаю, как настроить ваше веб-приложение для использования этого файла политики, но, по крайней мере, ссылка должна намекать на получение необходимых прав ...