# Node: "read file" debug: Error: EACCES: permission denied, open 'x.json'"

**URL:** <https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225>\
**Category:** General\
**Tags:** function-node\
**Created:** [27 November 2023 14:43 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225 "2023-11-27T14:43:55Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bitmage77](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bitmage77/32/85284_2.png) [@Bitmage77](https://discourse.nodered.org/u/Bitmage77)\
**Post date:** [27 November 2023 14:43 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/1 "2023-11-27T14:43:55Z")

</div>

Hello,  
i am very new and I hope someone can help me. I am using a Linux system with IO-Broker and Node-Red. Everything is running on the newest version. I created a ".json" on my linux system under "/home/user/x.json". I am trying to read the file inside Node-Red and I am always getting the following fault: "Error: EACCES: permission denied, open '/home/user/x.json'".

I did not find any solution in the internet. It always seem to be another "EACCES" fault. I hope someone can help me out?

My target is to read a .json file and use the information in node-red.

I saw this post here: [Node-red-contrib-persist on DietPi : EACCES: permission denied, open '/root/data/persistence.json' - #46 by devifast](https://discourse.nodered.org/t/node-red-contrib-persist-on-dietpi-eacces-permission-denied-open-root-data-persistence-json/28911/46)

but my /mnt folder is empty.

Thank you in advance 🙂

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [27 November 2023 14:56 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/2 "2023-11-27T14:56:37Z")

</div>

Welcome to the forum @Bitmage77

Is node-red running in a Docker container? If so then probably it does not have access to that part of the file system. I avoid docker whenever possible, it can make life difficult,

---

<div class="post-metadata">

**Author:** ![Bitmage77](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bitmage77/32/85284_2.png) [@Bitmage77](https://discourse.nodered.org/u/Bitmage77)\
**Post date:** [27 November 2023 15:00 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/3 "2023-11-27T15:00:47Z")

</div>

Hello,

thank you for your fast reply. I did not expect that tbh.

No, I am not using a docker container. I read about, but I did not understand it, so I decided to not use it 😃

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [27 November 2023 15:02 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/4 "2023-11-27T15:02:32Z")

</div>

How did you install node red?

---

<div class="post-metadata">

**Author:** ![Bitmage77](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bitmage77/32/85284_2.png) [@Bitmage77](https://discourse.nodered.org/u/Bitmage77)\
**Post date:** [27 November 2023 15:03 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/5 "2023-11-27T15:03:00Z")

</div>

I installed it via IO-Broker. As an adapter.

---

<div class="post-metadata">

**Author:** ![Bitmage77](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bitmage77/32/85284_2.png) [@Bitmage77](https://discourse.nodered.org/u/Bitmage77)\
**Post date:** [27 November 2023 15:11 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/6 "2023-11-27T15:11:51Z")

</div>

This is my path: /opt/iobroker/iobroker-data/node-red

I have a "settings.js" file inside the node-red folder path. Do I need to change something there maybe?

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [27 November 2023 15:12 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/7 "2023-11-27T15:12:33Z")

</div>

If it is not running in a container (I don't know anything about iobroker) then that suggests that the user running node red does not have read access to the folder. What does this command show  
`ls -l /home/user/x.json`  
Is it actually `user` or are you just showing us that rather than the user name?

---

<div class="post-metadata">

**Author:** ![Bitmage77](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bitmage77/32/85284_2.png) [@Bitmage77](https://discourse.nodered.org/u/Bitmage77)\
**Post date:** [27 November 2023 15:15 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/8 "2023-11-27T15:15:50Z")

</div>

- rwxrwxrwx l user user 65

This means ful access, right?

---

<div class="post-metadata">

**Author:** ![Bitmage77](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bitmage77/32/85284_2.png) [@Bitmage77](https://discourse.nodered.org/u/Bitmage77)\
**Post date:** [27 November 2023 15:22 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/10 "2023-11-27T15:22:54Z")

</div>

yes, I dont want to show my real user name thats why we use "User" here

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [27 November 2023 15:36 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/11 "2023-11-27T15:36:05Z")

</div>

Yes, that means full access rights to anyone, which is odd. I don't know enough about io broker or io broker adapters to know how node red is installed and run to be sure what to do next. If there is an io broker forum I suggest you ask there.

I still suspect that node-red is running inside a container. What does this command show?  
`which node-red`

---

<div class="post-metadata">

**Author:** ![Bitmage77](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bitmage77/32/85284_2.png) [@Bitmage77](https://discourse.nodered.org/u/Bitmage77)\
**Post date:** [27 November 2023 22:38 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/12 "2023-11-27T22:38:07Z")

</div>

I typed "which node-red" in my terminal. Nothing happened.  
I ran the command in my terminal under /opt/iobroker/iobroker-data/node-red and nothing happened.

Or what do you mean? My node-red version is v4.0.3.  
Thank you for your help. I am really stuck here.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [27 November 2023 22:52 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/13 "2023-11-27T22:52:28Z")

</div>

> [@Bitmage77](#):
>
> Or what do you mean? My node-red version is v4.0.3.

That is not a valid node-red version. 3.1.0 is the current/latest. That is probably the version iobroker gave to the wrapper for embedding node-red.

> [@Bitmage77](#):
>
> I typed "which node-red" in my terminal. Nothing happened.  
> I ran the command in my terminal under /opt/iobroker/iobroker-data/node-red and nothing happened

This is likely due to how iobroker embeds and executes node-red. I don't _think_ there are many folks here that run node-red that way.

If they have a forum, you may get more relatable advice there?

Or perhaps update the title of this post to include iobroker (to attract the users who are more familiar with how they do things?)

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [28 November 2023 10:26 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/14 "2023-11-28T10:26:44Z")

</div>

As a workaround, can you put the file under the directory where the node-red flow file is stored? It must have access to that area. Hopefully you know where that is in order to backup your flows file.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [28 November 2023 11:34 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/15 "2023-11-28T11:34:20Z")

</div>

> [@Colin](#):
>
> Hopefully you know where that is in order to backup your flows file.

The flow files might not be (directly) on a file system - they may be in a database or accessed via an endpoint (storage is [pluggable](https://nodered.org/docs/api/storage/), FlowFuse does this)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [27 January 2024 11:34 UTC](https://discourse.nodered.org/t/node-read-file-debug-error-eacces-permission-denied-open-x-json/83225/16 "2024-01-27T11:34:57Z")

</div>

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