# Accessdenied expcetion on snapshot directory

**URL:** <https://discuss.elastic.co/t/accessdenied-expcetion-on-snapshot-directory/224083>\
**Category:** Elasticsearch\
**Created:** [March 18, 2020, 11:04am UTC](https://discuss.elastic.co/t/accessdenied-expcetion-on-snapshot-directory/224083 "2020-03-18T11:04:45Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Arp](https://avatars.discourse-cdn.com/v4/letter/a/d26b3c/32.png) [@Arp](https://discuss.elastic.co/u/Arp)\
**Post date:** [March 18, 2020, 11:04am UTC](https://discuss.elastic.co/t/accessdenied-expcetion-on-snapshot-directory/224083/1 "2020-03-18T11:04:45Z")

</div>

Hi,

I am trying to set up a snapshot directory.  
I created /home/user/elastic and put this into the configuration file:  
path.repo: "/home/user/elastic"

If I then restart, I get the error. I googled a lot around and I always found two possibilities. Change the owner or the attribute.  
So I tried changing the owner to elasticsearch, user, root and also tried 777 as an attribute for the directory. I still get the error message when I want to restart the service.

Any advice please?  
Thanks.

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [March 18, 2020, 2:57pm UTC](https://discuss.elastic.co/t/accessdenied-expcetion-on-snapshot-directory/224083/2 "2020-03-18T14:57:22Z")

</div>

please share more information, like the user running elasticsearch as (maybe from a `ps` output), if that repo is an NFS share or not, and if you have configured that directory on all your hosts.

Also, share the **full** logfile output please.

Thanks!

---

<div class="post-metadata">

**Author:** ![Arp](https://avatars.discourse-cdn.com/v4/letter/a/d26b3c/32.png) [@Arp](https://discuss.elastic.co/u/Arp)\
**Post date:** [March 18, 2020, 4:33pm UTC](https://discuss.elastic.co/t/accessdenied-expcetion-on-snapshot-directory/224083/3 "2020-03-18T16:33:04Z")

</div>

Hi,

It is a fresh installation of Elasticsearch 7.6.1 on Red Hat 8.  
I did not do anython with Elasticsearch, just installed and checked if it is working.  
Next I added

path.repo: ["/home/user/elastic/snapshot"]

to the elasticsearch.yml file.

If I try to restart the service (service elasticsearch restart)  
I get

> [2020-03-18T17:30:44,434][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [pc] uncaught exception in thread [main]  
> org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Unable to access 'path.repo' (/home/user/elastic/snapshot)  
> at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:174) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:125) ~[elasticsearch-cli-7.6.1.jar:7.6.1]  
> at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.6.1.jar:7.6.1]  
> Caused by: java.lang.IllegalStateException: Unable to access 'path.repo' (/home/user/elastic/snapshot)  
> at org.elasticsearch.bootstrap.FilePermissionUtils.addDirectoryPath(FilePermissionUtils.java:70) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:313) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:252) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Security.configure(Security.java:121) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:216) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) ~[elasticsearch-7.6.1.jar:7.6.1]  
> ... 6 more  
> Caused by: java.nio.file.AccessDeniedException: /home/user/elastic  
> at sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) ~[?:?]  
> at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]  
> at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) ~[?:?]  
> at sun.nio.fs.UnixFileSystemProvider.checkAccess(UnixFileSystemProvider.java:313) ~[?:?]  
> at java.nio.file.Files.createDirectories(Files.java:765) ~[?:?]  
> at org.elasticsearch.bootstrap.Security.ensureDirectoryExists(Security.java:389) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.FilePermissionUtils.addDirectoryPath(FilePermissionUtils.java:68) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:313) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:252) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Security.configure(Security.java:121) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:216) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349) ~[elasticsearch-7.6.1.jar:7.6.1]  
> at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) ~[elasticsearch-7.6.1.jar:7.6.1]  
> ... 6 more

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [March 19, 2020, 2:24pm UTC](https://discuss.elastic.co/t/accessdenied-expcetion-on-snapshot-directory/224083/4 "2020-03-19T14:24:50Z")

</div>

Can you share the permissions from `/home/`, `/home/user` and `/home/user/elastic`? Thanks.

---

<div class="post-metadata">

**Author:** ![Arp](https://avatars.discourse-cdn.com/v4/letter/a/d26b3c/32.png) [@Arp](https://discuss.elastic.co/u/Arp)\
**Post date:** [March 19, 2020, 2:40pm UTC](https://discuss.elastic.co/t/accessdenied-expcetion-on-snapshot-directory/224083/5 "2020-03-19T14:40:45Z")

</div>

/home/: drwxr-xr-x. 3 root root  
/home/user/: drwx------. 17 user user  
/home/user/elastic: drwxrwxr-x 3 elasticsearch elasticsearch

Why would it matter what the permissions outside the /home/user/elastic folder are?

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [March 19, 2020, 2:50pm UTC](https://discuss.elastic.co/t/accessdenied-expcetion-on-snapshot-directory/224083/6 "2020-03-19T14:50:53Z")

</div>

change the `/home/user` permissions to make it accessible for the elasticsearch user/group.

Sample (works under osx):

```auto
cd /tmp
mkdir -p foo/bar/baz
sudo chown root foo/bar
sudo chmod 700 foo/bar
cd foo/bar/baz
cd: permission denied: foo/bar/baz

```

same problem here...

---

<div class="post-metadata">

**Author:** ![Arp](https://avatars.discourse-cdn.com/v4/letter/a/d26b3c/32.png) [@Arp](https://discuss.elastic.co/u/Arp)\
**Post date:** [March 19, 2020, 2:56pm UTC](https://discuss.elastic.co/t/accessdenied-expcetion-on-snapshot-directory/224083/7 "2020-03-19T14:56:30Z")

</div>

for convenience I made a chmod 777 on /home/user, and that appears to work. But why the user directory, if I want it to be in /home/user/elastic/snapshot/ ?

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [March 19, 2020, 3:07pm UTC](https://discuss.elastic.co/t/accessdenied-expcetion-on-snapshot-directory/224083/8 "2020-03-19T15:07:57Z")

</div>

This is how posix permissions work. Directories can only be traversed with the executable permission set for the reader.

There are more details to it like privileged processes changing into such a dir and then dropping privileges or using hardlinks, but the above matches for behaviour in Elasticsearch.

---

<div class="post-metadata">

**Author:** ![Arp](https://avatars.discourse-cdn.com/v4/letter/a/d26b3c/32.png) [@Arp](https://discuss.elastic.co/u/Arp)\
**Post date:** [March 19, 2020, 3:10pm UTC](https://discuss.elastic.co/t/accessdenied-expcetion-on-snapshot-directory/224083/9 "2020-03-19T15:10:37Z")

</div>

Ok ... Thanks!

---

<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 16, 2020, 3:10pm UTC](https://discuss.elastic.co/t/accessdenied-expcetion-on-snapshot-directory/224083/10 "2020-04-16T15:10:46Z")

</div>

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