Problème

Une erreur est observée dans le journal d'erreur qui signale « java.io.IOException: Autorisation refusée » et la trace d'appels 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)

Environnement

Toutes versions de AEM :

Cause

L'utilisateur propriétaire du processus Java AEM ne dispose pas des autorisations adéquates pour écrire dans le répertoire temporaire des processus Java.

Résolution

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

    Sous Linux:

     a. Exécutez cette commande.

    ps -ef | grep java 

    b. Vérifiez les paramètres JVM recherchant -Djava.io.tmpdir.

    Sous Windows, Linux ou Unix :

     a. Allez à http://aem-host:aem-port/system/console/jmx/java.lang%3Atype%3DRuntime.

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

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

  3. Accédez à ce chemin sur le système d’exploitation et accordez à l’utilisateur propriétaire du processus Java l’accès complet à l'écriture et la lecture de ce dossier.

  4. 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.  Sous Linux et Unix, ce répertoire est /tmp par défaut.  Sous Windows, le répertoire se trouve dans le répertoire racine de l’utilisateur, par exemple C:\Users\aemuser\AppData\Local\Temp.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne