Å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:

  1. Kör det här kommandot:

    code language-none
    ps -ef | grep java
    
  2. Granska JVM-parametrarna som söker efter -Djava.io.tmpdir

I Windows, Linux eller Unix:

  1. Gå till https://aem-host:aem-port/system/console/jmx/java.lang%3Atype%3DRuntime

  2. Sök efter java.io.tmpdir på sidan.

  3. Kopiera värdet för java.io.tmpdir till Urklipp.

  4. 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.

  5. 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).

Orsak

Användaren som äger AEM java-processen har inte tillräcklig behörighet för att skriva i java-processens tillfälliga katalog.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f