Permissions for Video folder for minidlna?

I have a secondary hard drive that is mounted as /media/Media and I would like to user a folder called Videos located on that drive that I would like to share the videos located on this folder out via minidlna. I have minidlna working with /home/jonathan/Videos which is on my smaller drive and would like to instead move the videos to the larger drives.

However after I edit my minidlna.conf to point to the /media/Media/Videos folder and do a sudo service minidlna force-reload to reload the database I get a permssions error.

Can someone point me to the correct permissions I need to set on this folder?


I tried following the examples in this thread but still could not get it to work. I ended up stumbling on this article here: Running minidlna on Ubuntu and followed it step by step and I now have the media on my second drive being served through minidnla. If any one else struggles I suggest you follow his process.

I have quoted his text in case his page ever disappears.


He installed a service called minidlna which is supposed to allow streaming of media. However, it didn’t like the permissions on his chosen folder. The path is /media/jw/drive2/foo.

jw@FooPC:~$ sudo service minidlna restart
* Restarting DLNA/UPnP-AV media server minidlna
[2014/07/23 21:03:30] minidlna.c:594: error: Media directory "/media/jw/drive2/foo" not accessible [Permission denied]

He pointed it to a folder in his home folder and it liked that just fine, but not the 2nd drive that holds the media.

He tried setting the user as me in the conf file and in the default file. But eventually He discovered he had to set the user as “root” to make it work.

He opened terminal and entered ...

sudo gedit /etc/default/minidlna

...and edited the file...

# User and group the daemon should run as
USER=”root”
#GROUP=”minidlna”

...then saved and back to terminal and entered...

sudo gedit /etc/minidlna.conf

... and edited the file...

# Specify the user name or uid to run as.
user=root

He restarted the service using...

sudo service minidlna restart

... in terminal and this time there was no error about permissions.


I hope that helps someone as it helped me. If it helps you then please visit his page and leave him a comment like I did so he knows that his page is helping!

UPDATE:

This works straight away but if you power off the machine and then restart it the second drive is not served by the minidnla server until you run:

sudo service minidlna restart

Getting it to work from bootup is a user-mode drive problem and can be fixed by adding the drive to fstab. The downside is that the system will not boot automatically if the drive is not plugged in, as it will annoyingly demand to retry or ignore before continuing to boot.

An alternative to adding the drive to fstab is to restart the minidlna service at reboot from cron:

sudo crontab -e

then add the next line at the end of the file:

@reboot sleep 60 && sudo service minidlna restart

/media/* is automounted with udisks. If it's NTFS or FAT, only the active user gets access to it, so the minidlna user cannot access it.

It's silly that udisks has the permissions hardcoded, there's a bug report about that: https://bugs.launchpad.net/ubuntu/+source/udisks/+bug/682589

If one mounts the disk with sudo mount /dev/sdb1 /mnt or with /etc/fstab, he can put whatever permissions he wants so that minidlna can read it.

So for home PCs one easy workaround is to edit /etc/default/minidlna, and either specify that minidlna will run as root, or as the user that usually mounts those disks.

# User and group the daemon should run as
USER="root"
#GROUP="minidlna"

If you specified a user account instead of root, also run sudo chown -R user:user /var/lib/minidlna

To rescan the library after the changes, run sudo service minidlna force-reload

And a note to myself, rather than adding media_dir= entries in /etc/minidlna.conf, I prefer creating symlinks under /var/lib/minidlna, e.g.:

sudo ln -sf /media/alkisg/mydisk/Photos /var/lib/minidlna/Photos

...because that way I get an extra level of hierarchy when browsing the media folders in DLNA clients.


type
sudo chown -R minidlna:minidlna /media/Media

in order to give minidlna ownership of all files and folders contained in Media

then restart and force-rescan the server

IMPORTANT
Start minidlna as root!

sudo minidlna

to rescan library after adding files to your media drive use

sudo service minidlna stop
sudo minidlna -R
sudo service minidlna restart

to see if it's up

service minidlna status

I found another solution: the parent of the media folder has to be accessible to minidlna too. I tried running minidlna as root, and ProtectHome=read-only in the systemctl service file but none of this worked.

In my case my videos were in media_dir=V,/srv/share/videos/library

I had done chmod -R a+xr /srv/share/videos/library but was still getting the Permission Denied message

After I did chmod o+xr /srv/share/videos - it all worked, with user=minidlna

Hope this helps someone.