Åtkomst nekad från java.io.File.createTempFile
Om du får ett fel om nekad behörighet från java.io.File.createTempFile ska du ta reda på om JVM-parametern -Djava.io.tmpdir har angetts för java-processen. Om du inte hittade någon java.io.tmpdir-parameter ger du användaren åtkomst till den tillfälliga standardkatalogen för operativsystemet.
Beskrivning description
Miljö
Adobe Experience Manager (AEM) (alla versioner)
Problem/symtom
Ett fel inträffar i error.log som rapporterar java.io.IOException: Permission denied och stackspårningen innehåller java.io.File.createTempFile.
01.06.2017 16:34:02.631 *ERROR* [ qtp1085110594-4453] org.apache.felix.http.jetty Exception while processing request to /system/console/configMgr/com.adobe.cq.experiencelog.impl.ExperienceLogConfigServlet (java.io.IOException: Permission denied)
java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createTempFile(File.java:2024)
at org.apache.felix.cm.file.FilePersistenceManager._store(FilePersistenceManager.java:699)
at org.apache.felix.cm.file.FilePersistenceManager.store(FilePersistenceManager.java:660)
at org.apache.felix.cm.impl.CachingPersistenceManagerProxy.store(CachingPersistenceManagerProxy.java:242)
at org.apache.felix.cm.impl.ConfigurationImpl.storeNewConfiguration(ConfigurationImpl.java:462)
at org.apache.felix.cm.impl.ConfigurationImpl.<init>(ConfigurationImpl.java:183)
Upplösning resolution
Ta reda på om JVM-parametern -Djava.io.tmpdir är inställd på Java-processen.
I Linux:
-
Kör det här kommandot:
code language-none ps -ef | grep java -
Granska JVM-parametrarna som söker efter
-Djava.io.tmpdir
I Windows, Linux eller Unix:
-
Gå till https://aem-host:aem-port/system/console/jmx/java.lang%3Atype%3DRuntime
-
Sök efter
java.io.tmpdirpå sidan. -
Kopiera värdet för
java.io.tmpdirtill Urklipp. -
Gå till den sökvägen i operativsystemet och ge användaren som äger java-processen fullständig läs-/skrivåtkomst till den mappen.
-
Om du inte hittade någon
java.io.tmpdir-parameter ger du användaren åtkomst till den tillfälliga standardkatalogen för operativsystemet.- I Linux och Unix är den här katalogen som standard
/tmp. - I Windows ligger katalogen under användarens hemkatalog (till exempel:
C:\Users\aemuser\AppData\Local\Temp).
- I Linux och Unix är den här katalogen som standard
Orsak
Användaren som äger AEM java-processen har inte tillräcklig behörighet för att skriva i java-processens tillfälliga katalog.