2012-06-27 2 views
2

файла политики Нашей Java используется, чтобы быть просто:настройка Java политиков не работает для FilePermission

grant { 
    permission java.security.AllPermission; 
}; 

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

Ошибка Сейчас я получаю:

java.security.AccessControlException: access denied (java.io.FilePermission \\server.log write) 

Я попытался так много комбинаций вещей, таких как:

permission java.io.FilePermission "\\\\server.log", "write"; 
permission java.io.FilePermission "C:\\Temp\\logs\\server.log", "write"; 
permission java.io.FilePermission "\\server.log", "write"; 
permission java.io.FilePermission "${TEMP}${/}-", "write"; 
permission java.io.FilePermission "*", "read,write"; 

Единственное, что я могу заставить его работать использует:

grant { 
    permission java.security.AllPermission; 
}; 

Я получаю сообщение об ошибке «java.io.FileNotFoundException: \ server.log (имя файла, имя каталога или том la бель синтаксис неверен)»при использовании (даже если файлы существуют):

permission java.io.FilePermission "<<ALL FILES>>", "write"; 

Просто интересно, если кто-то есть другие идеи, чтобы попробовать. Я действительно не хочу прибегать к предоставлению всего права доступа к файлу, очевидно, что я что-то упускаю.

EDIT:

Я просто понял, что, возможно, это ключ в файле журнала:

log4j:ERROR setFile(null,false) call failed. 

Может быть, мне нужны разрешения для этого специально? Копаем вокруг Google сейчас ....

+0

Привет, сделал и решить эту проблему? – shifu

ответ

0

Вы пробовали permission java.io.FilePermission "file:${/}server.log", "read,write"?

+0

Я пробовал что-то подобное раньше и просто пробовал этот точный синтаксис и не повезло. – northpole

1

В документации Oracle есть некоторые примеры: https://docs.oracle.com/javase/8/docs/technotes/guides/security/spec/security-spec.doc3.html

permission java.io.FilePermission "myfile", "read,write"; 
permission java.io.FilePermission "/home/gong/", "read"; 
permission java.io.FilePermission "/tmp/mytmp", "read,delete"; 
permission java.io.FilePermission "/bin/*", "execute"; 
permission java.io.FilePermission "*", "read"; 
permission java.io.FilePermission "/-", "read,execute"; 
permission java.io.FilePermission "-", "read,execute"; 
permission java.io.FilePermission "<<ALL FILES>>", "read"; 

permission java.io.FilePermission "c:\\temp\\foo", "read,write,delete") 
\\this one works for me 
Смежные вопросы