Linux Newb Rclone Permissions Issues with Plex

What is the problem you are having with rclone?

I am having a similar issue with linux permissions on which user/group had access to my rclone mounted drive. Plex can only see the root folder and nothing below that directory. So if I had my files like mnt/movies/movie.mp4, plex can only see mnt/ and nothing below that.

I attempted to add the plex user into my user group and my user into the plex group. However, when I look at the mount for rclone which I think looks correct, I still can't get plex to see it correctly

Here is the output for ls -la

drwxrwxr-x.  1 user user           0 Mar  2 20:24  .
drwx------. 23 user user        4096 Mar  2 20:16  ..
drwxrwxr-x.  1 user user           0 Aug 22  2020 ' Music Backup'
-rw-rw-r--.  1 user user           0 Feb 26 10:26  .bash_history
drwxrwxr-x.  1 user user           0 Feb 26 10:25  .cache
drwxrwxr-x.  1 user user           0 Feb 26 10:25  .config
drwxrwxr-x.  1 user user           0 Dec  9  2018  Library
drwxrwxr-x.  1 user user           0 Mar  9  2019 'Movie Archive'
drwxrwxr-x.  1 user user           0 Dec 27  2018 'Movie Extras'
drwxrwxr-x.  1 user user           0 Jun  2  2017  Movies
drwxrwxr-x.  1 user user           0 Feb 26 10:26  .nx
drwxrwxr-x.  1 user user           0 Jul 31  2020 'Plex Preroll'
drwxrwxr-x.  1 user user           0 Jun  2  2017  TV

Run the command 'rclone version' and share the full output of the command.

[user@server ~]$ rclone version
rclone v1.57.0

  • os/version: rocky 8.5 (64 bit)
  • os/kernel: 4.18.0-348.12.2.el8_5.x86_64 (x86_64)
  • os/type: linux
  • os/arch: amd64
  • go/version: go1.17.2
  • go/linking: static
  • go/tags: none

Which cloud storage system are you using? (eg Google Drive)

Google Drive

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone mount -vvv GDrive: /home/user/mnt

The rclone config contents with secrets removed.

[GDrive]
type = drive
client_id = n/a
client_secret = n/a
scope = drive
token = n/a
root_folder_id = 

A log from the command with the -vv flag

[user@server ~]$ rclone mount -vvv GDrive: /home/user/mnt
2022/03/02 20:33:30 DEBUG : rclone: Version "v1.57.0" starting with parameters ["rclone" "mount" "-vvv" "GDrive:" "/home/user/mnt"]
2022/03/02 20:33:30 DEBUG : Creating backend with remote "GDrive:"
2022/03/02 20:33:30 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2022/03/02 20:33:31 DEBUG : Google drive root '': 'root_folder_id = 0AMID3-ofLBbzUk9PVA' - save this in the config to speed up startup
2022/03/02 20:33:31 DEBUG : Google drive root '': Mounting on "/home/user/mnt"
2022/03/02 20:33:31 DEBUG : : Root: 
2022/03/02 20:33:31 DEBUG : : >Root: node=/, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Lookup: name=".Trash"
2022/03/02 20:33:31 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Lookup: name=".Trash-1000"
2022/03/02 20:33:31 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/03/02 20:33:31 DEBUG : /: Lookup: name=".xdg-volume-info"
2022/03/02 20:33:31 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/03/02 20:33:31 DEBUG : /: Lookup: name="autorun.inf"
2022/03/02 20:33:31 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Attr: 
2022/03/02 20:33:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/03/02 20:33:31 DEBUG : /: ReadDirAll: 
2022/03/02 20:33:31 DEBUG : /: >ReadDirAll: item=18, err=<nil>
2022/03/02 20:33:31 DEBUG : /: Lookup: name="autorun.inf"
2022/03/02 20:33:31 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory

try adding --allow-other Allow access to other users
that will allow other processes to see the mount point.

Still not able to see the files correctly in plex

[user@Bserver ~]$ rclone mount -vvv --allow-other GDrive: /home/user/mnt
2022/03/02 21:12:28 DEBUG : rclone: Version "v1.57.0" starting with parameters ["rclone" "mount" "-vvv" "--allow-other" "GDrive:" "/home/user/mnt"]
2022/03/02 21:12:28 DEBUG : Creating backend with remote "GDrive:"
2022/03/02 21:12:28 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2022/03/02 21:12:29 DEBUG : Google drive root '': 'root_folder_id = 0AMID3-ofLBbzUk9PVA' - save this in the config to speed up startup
2022/03/02 21:12:29 DEBUG : Google drive root '': Mounting on "/home/user/mnt"
2022/03/02 21:12:29 DEBUG : : Root:
2022/03/02 21:12:29 DEBUG : : >Root: node=/, err=
2022/03/02 21:12:29 DEBUG : /: Lookup: name=".Trash"
2022/03/02 21:12:29 DEBUG : /: >Lookup: node=, err=no such file or directory
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: Lookup: name=".xdg-volume-info"
2022/03/02 21:12:29 DEBUG : /: >Lookup: node=, err=no such file or directory
2022/03/02 21:12:29 DEBUG : /: Lookup: name="autorun.inf"
2022/03/02 21:12:29 DEBUG : /: >Lookup: node=, err=no such file or directory
2022/03/02 21:12:29 DEBUG : /: Lookup: name=".Trash-1000"
2022/03/02 21:12:29 DEBUG : /: >Lookup: node=, err=no such file or directory
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Attr:
2022/03/02 21:12:29 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=
2022/03/02 21:12:29 DEBUG : /: ReadDirAll:
2022/03/02 21:12:29 DEBUG : /: >ReadDirAll: item=18, err=
2022/03/02 21:12:29 DEBUG : /: Lookup: name="autorun.inf"
2022/03/02 21:12:29 DEBUG : /: >Lookup: node=, err=no such file or directory

What's missing? I can you listing 18 items and there are files in there.

What you are expecting? What's not there?

Okay so from this screenshot, shouldn't it show what I have in the rclone mount when I used ls -la? I don't see any folders in this directory

I don't know what the ls -la output is. Can you share the full command you are running with the output?

I thought the fix was to add the plex user to my own user account, which I think I did but still plex can't see what is in this mount

This is output of the ls -la from my rclone mount:

[user@Server mnt]$ ls -la
total 76512713
drwxrwxr-x. 1 user user 0 Mar 2 20:24 .
drwx------. 23 user user 4096 Mar 2 20:16 ..
drwxrwxr-x. 1 user user 0 Aug 22 2020 ' Music Backup'
-rw-rw-r--. 1 user user 0 Feb 26 10:26 .bash_history
drwxrwxr-x. 1 user user 0 Feb 26 10:25 .cache
drwxrwxr-x. 1 user user 0 Feb 26 10:25 .config
drwxrwxr-x. 1 user user 0 Dec 9 2018 Library
drwxrwxr-x. 1 user user 0 Mar 9 2019 'Movie Archive'
drwxrwxr-x. 1 user user 0 Dec 27 2018 'Movie Extras'
drwxrwxr-x. 1 user user 0 Jun 2 2017 Movies
drwxrwxr-x. 1 user user 0 Feb 26 10:26 .nx
drwxrwxr-x. 1 user user 0 Jul 31 2020 'Plex Preroll'
drwxrwxr-x. 1 user user 0 Jun 2 2017 TV

Share the output of:

ls -al /home

[user@server mnt]$ ls -al /home
total 4
drwxr-xr-x. 4 root root 37 Mar 1 22:52 .
dr-xr-xr-x. 17 root root 236 Feb 28 17:05 ..
drwx------. 23 user user 4096 Mar 3 11:16 user
drwxr-xr-x. 3 root root 24 Mar 1 22:52 linuxbrew

Your home directory has no group permission or other permission.

Depending on how you want to secure things, you can plex to a group or open permissions up as that's really up to you.

If it's a server only you use, you can chmod -R 777 on which opens it up to everyone.

Got it, so even though the plex created user "plex" is added into my own user group, because of how the permissions are setup for that directory it won't inherit anything?

Linux permissions are a bit much at first.

This provides some good info:

User Groups and Permissions in Linux | Engineering Education (EngEd) Program | Section

So the permissions changed, but plex still can't see anything

[user@server ~]$ ls -al /home
total 4
drwxr-xr-x. 4 root root 37 Mar 1 22:52 .
dr-xr-xr-x. 17 root root 236 Feb 28 17:05 ..
drwxrwxrwx. 23 user user 4096 Mar 3 11:39 user
drwxr-xr-x. 3 root root 24 Mar 1 22:52 linuxbrew

Thanks for the link on the permissions, still reading it to try and understand everything

And as root, you can do something like this to validate:

runuser -u plex -- ls -al /home/user

If you get permissions errors there, you'll be able to debug a little easier.

I think we are getting closer here, the d just means it's a directory but not sure what the question marks mean

d?????????? ? ? ? ? ? mnt

That usually means you don't have something mounted with --allow-other.

Fuse based file systems are used based so usually only the user running it can see it.

Allow-other goes around that but makes it so everyone on the server can see it.

Success that was it, for some reason I thought that I had already added that flag when I first ran it but I guess I didn't it. Thank you again so much.

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