Environnement
Adobe Experience Manager, toutes versions
Problème
Une erreur se produit dans la variable error.log
qui signale "java.io.IOException: Autorisation refusée" et la trace de la pile contient java.io.File.createTempFile
dans .
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)
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.
Solution
Déterminer si le paramètre JVM -Djava.io.tmpdir
est défini sur le processus java.
Sous Linux:
Exécutez cette commande :
ps -ef | grep java
Examinez les paramètres JVM recherchant -Djava.io.tmpdir
Sous Windows, Linux ou Unix:
Accédez à http://aem-host:aem-port/system/console/jmx/java.lang%3Atype%3DRuntime
Rechercher java.io.tmpdir
sur la page.
Copiez la valeur de java.io.tmpdir
dans le Presse-papiers.
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.
Si vous n’avez pas trouvé de java.io.tmpdir
, puis accordez à l’utilisateur l’accès au répertoire temporaire du système d’exploitation par défaut.
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
).