# Failing start elasticsearch 6.2.2 on ubuntu due to java.security permission denied

**URL:** https://discuss.elastic.co/t/failing-start-elasticsearch-6-2-2-on-ubuntu-due-to-java-security-permission-denied/123902
**Category:** Elasticsearch
**Created:** [March 14, 2018, 12:26pm UTC](https://discuss.elastic.co/t/failing-start-elasticsearch-6-2-2-on-ubuntu-due-to-java-security-permission-denied/123902 "2018-03-14T12:26:24Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![gabriolo](https://avatars.discourse-cdn.com/v4/letter/g/49beb7/32.png) [@gabriolo](https://discuss.elastic.co/u/gabriolo)
#### Post date: [March 14, 2018, 12:26pm UTC](https://discuss.elastic.co/t/failing-start-elasticsearch-6-2-2-on-ubuntu-due-to-java-security-permission-denied/123902/1 "2018-03-14T12:26:25Z")

</div>

Dear sirs,  
I'm struggling at starting up Elastic search on Ubuntu.  
My Settings:  
Java\_HOME: /usr/lib/jvm/java-8-oracle  
Java version: java version "1.8.0\_161"  
Java(TM) SE Runtime Environment (build 1.8.0\_161-b12)  
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

I've installed it with dpkg:

dpkg -i elasticsearch-6.2.2.deb

I have add this java.policy inside /etc/elasticsearch:  
// Standard extensions get all permissions by default

```
grant codeBase "file:${{java.ext.dirs}}/*" {
        permission java.security.AllPermission;
        permission java.lang.RuntimePermission "createClassLoader";

};

// default permissions granted to all domains

grant {
        permission java.security.AllPermission;
        permission java.lang.RuntimePermission "createClassLoader";
};

```

And I have modified jvm.options to load it:

...

# specify our java policy

-Djava.security.policy=/etc/elasticsearch/java.policy

....

Needless to say, the server fail to start:

[2018-03-14T12:04:38,873][INFO][o.e.n.Node] [matenode] initializing ...  
[2018-03-14T12:04:39,037][INFO][o.e.e.NodeEnvironment] [matenode] using [1] data paths, mounts [[/ (/dev/root)]], net usable\_space [41.5gb], net total\_space [47gb], types [ext4]  
[2018-03-14T12:04:39,038][INFO][o.e.e.NodeEnvironment] [matenode] heap size [1007.3mb], compressed ordinary object pointers [true]  
[2018-03-14T12:04:39,039][INFO][o.e.n.Node] [matenode] node name [matenode], node ID [BoVpioMXS1SdzWD5sIaZBQ]  
[2018-03-14T12:04:39,040][INFO][o.e.n.Node] [matenode] version[6.2.2], pid[28594], build[10b1edd/2018-02-16T19:01:30.685723Z], OS[Linux/4.14.17-x86\_64-linode99/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0\_161/25.161-b12]  
[2018-03-14T12:04:39,040][INFO][o.e.n.Node] [matenode] JVM arguments [-Xms1g, -Xmx1g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.io.tmpdir=/tmp/elasticsearch.LMRahUA3, -XX:+HeapDumpOnOutOfMemoryError, -XX:HeapDumpPath=/var/lib/elasticsearch, -Djava.security.policy=/etc/elasticsearch/java.policy, -XX:+PrintGCDetails, -XX:+PrintGCDateStamps, -XX:+PrintTenuringDistribution, -XX:+PrintGCApplicationStoppedTime, -Xloggc:/var/log/elasticsearch/gc.log, -XX:+UseGCLogFileRotation, -XX:NumberOfGCLogFiles=32, -XX:GCLogFileSize=64m, -Des.path.home=/usr/share/elasticsearch, -Des.path.conf=/etc/elasticsearch]  
[2018-03-14T12:04:39,118][ERROR][o.e.b.Bootstrap] Exception  
java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "createClassLoader")  
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) ~[?:1.8.0\_161]  
at java.security.AccessController.checkPermission(AccessController.java:884) ~[?:1.8.0\_161]  
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) ~[?:1.8.0\_161]  
at java.lang.SecurityManager.checkCreateClassLoader(SecurityManager.java:611) ~[?:1.8.0\_161]  
at java.lang.ClassLoader.checkCreateClassLoader(ClassLoader.java:274) ~[?:1.8.0\_161]  
at java.lang.ClassLoader.(ClassLoader.java:316) ~[?:1.8.0\_161]  
at org.elasticsearch.plugins.ExtendedPluginsClassLoader.(ExtendedPluginsClassLoader.java:36) ~[plugin-classloader-6.2.2.jar:6.2.2]  
at ...

Is there anyone who could give me a suggestion?  
Many Thanks!

---

<div class="post-metadata">

### Author: ![gabriolo](https://avatars.discourse-cdn.com/v4/letter/g/49beb7/32.png) [@gabriolo](https://discuss.elastic.co/u/gabriolo)
#### Post date: [March 15, 2018, 3:53pm UTC](https://discuss.elastic.co/t/failing-start-elasticsearch-6-2-2-on-ubuntu-due-to-java-security-permission-denied/123902/2 "2018-03-15T15:53:15Z")

</div>

I reply to myself - maybe it could be useful for others. After turning on security debug ("-Djava.security.debug=all") I find out that the process failed to load "java.home/lib/security/java.security " with "Permission denied". Then, I find out that in my installation all the files inside "java.home/lib/security/" where actually symlinced to /etc/java-8-oracle/security/; and that all the real files had only "-w------" permission. So elasticsearch user could not read them. I add "r" permission to those files and - voilà - elasticsearch now starts up.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [April 12, 2018, 3:53pm UTC](https://discuss.elastic.co/t/failing-start-elasticsearch-6-2-2-on-ubuntu-due-to-java-security-permission-denied/123902/3 "2018-04-12T15:53:46Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
