Erreur d’autorisation refusée de la part de java.io.File.createTempFile

Si vous obtenez une erreur de refus de permission de java.io.File.createTempFile, découvrez si le paramètre JVM -Djava.io.tmpdir est défini sur le processus java. Si vous n’avez pas trouvé de paramètre java.io.tmpdir, accordez à l’utilisateur l’accès au répertoire temporaire par défaut du système d’exploitation.

Description description

Environnement

Adobe Experience Manager (AEM) (toutes versions)

Problème/Symptômes

Une erreur se produit dans le error.log qui signale java.io.IOException: Permission denied et la trace de la pile contient 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)

Résolution resolution

Découvrez si le paramètre JVM -Djava.io.tmpdir est défini sur le processus Java.

Sous Linux :

  1. Exécutez cette commande :

    code language-none
    ps -ef | grep java
    
  2. Examinez les paramètres JVM recherchant -Djava.io.tmpdir.

Sous Windows, Linux ou Unix :

  1. Accédez à https://aem-host:aem-port/system/console/jmx/java.lang%3Atype%3DRuntime

  2. Recherchez java.io.tmpdir sur la page.

  3. Copiez la valeur de java.io.tmpdir dans le Presse-papiers.

  4. Accédez à ce chemin d’accès sur le système d’exploitation et accordez à l’utilisateur propriétaire du processus Java un accès complet en lecture/écriture à ce dossier.

  5. Si vous n’avez pas trouvé de paramètre java.io.tmpdir, accordez à l’utilisateur l’accès au répertoire temporaire par défaut du système d’exploitation.

    • Sous Linux et Unix, ce répertoire est /tmp par défaut.
    • Sous Windows, le répertoire se trouve sous le répertoire racine de l’utilisateur (par exemple : C:\Users\aemuser\AppData\Local\Temp).

Cause

L’utilisateur propriétaire du processus java AEM ne dispose pas des autorisations appropriées pour écrire dans le répertoire temporaire du processus java.

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