minidlna的video文件夹权限?

我有一个辅助硬盘安装为/ media / Media,我想用一个名为Videos的文件夹位于该驱动器上,我想通过minidlna分享这个文件夹上的video。 我有minidlna使用/home/jonathan/Videos ,这是在我的小驱动器上,并希望将video移动到更大的驱动器。

但是,当我编辑我的minidlna.conf指向/ media / Media / Videos文件夹并执行sudo service minidlna force-reload重新加载数据库后,我得到一个permssions错误。

有人能指出我需要在此文件夹上设置的正确权限吗?

我尝试了这个post中的示例,但仍然无法使其工作。 我最终在这篇文章中磕磕绊绊: 在Ubuntu上运行minidlna并一步一步地跟着它,现在我的第二个驱动器上的媒体通过minidnla提供。 如果其他任何人挣扎,我建议你按照他的过程。

我引用了他的文字,以防他的页面消失。


他安装了一个名为minidlna的服务,该服务应该允许媒体流。 但是,它不喜欢他所选文件夹的权限。 路径是/ 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] 

他把它指向他家庭文件夹中的一个文件夹,它很喜欢, 但不是第二个装有媒体的驱动器

他尝试在conf文件和默认文件中将用户设置为我。 但最终他发现他必须将用户设置为“root”以使其工作。

他打开终端进入……

 sudo gedit /etc/default/minidlna 

…并编辑了文件……

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

…然后保存并返回终端并进入…

 sudo gedit /etc/minidlna.conf 

…并编辑了文件……

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

他使用…重启了服务

 sudo service minidlna restart 

…在终端中,这次没有关于权限的错误。


我希望能帮助我,因为它帮助了我。 如果它对你有帮助,那么请访问他的页面并给我留言,就像我这样做,所以他知道他的页面有帮助!

更新:

这可以直接使用,但如果你关闭机器然后重新启动它,minidnla服务器不会提供第二个驱动器,直到你运行:

 sudo service minidlna restart 

从启动开始工作是用户模式驱动器问题,可以通过将驱动器添加到fstab来修复。 缺点是如果未插入驱动器,系统将无法自动启动,因为在继续启动之前,它会烦人地要求重试或忽略。

/media/*使用udisks自动挂载。 如果它是NTFS或FAT,则只有活动用户才能访问它,因此minidlna用户无法访问它。

愚蠢的是,udisks的权限是硬编码的,有关于此的错误报告: https ://bugs.launchpad.net/ubuntu/+source/udisks/+bug/682589

如果使用sudo mount /dev/sdb1 /mnt/etc/fstab安装磁盘,他可以放置他想要的任何权限,以便minidlna可以读取它。

因此对于家用PC,一个简单的解决方法是编辑/etc/default/minidlna ,并指定minidlna将以root身份运行,或者指定通常安装这些磁盘的用户。

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

如果您指定的是用户帐户而不是root用户,请运行sudo chown -R user:user /var/lib/minidlna

要在更改后重新扫描库,请运行sudo service minidlna force-reload

并且给自己一个注释,而不是在/etc/minidlna.conf中添加media_dir=条目,我更喜欢在/ var / lib / minidlna下创建符号链接,例如:

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

…因为这样我在浏览DLNA客户端中的媒体文件夹时获得了额外的层次结构。

类型
sudo chown -R minidlna:minidlna / media / Media

为了给媒体中包含的所有文件和文件夹的minidlna所有权

然后重新启动并强制重新扫描服务器

重要
以root身份启动minidlna!

 sudo minidlna 

将文件添加到媒体驱动器使用后重新扫描库

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

看它是不是

 service minidlna status 

我意识到这是一个较旧的问题,但是如果你使用默认设置,用户作为选项,然后sudo chown -cR $ USER:minidlna / media /(your_mount point_here)。 这应该通过重新启动来维护所有权和组,并为运行服务器的默认minidlna组提供对文件的组访问权限。

我找到了另一个解决方案:媒体文件夹的父级也必须可以访问minidlna。 我尝试以root身份运行minidlna,并且在systemctl服务文件中使用ProtectHome =只读,但这些都不起作用。

在我的情况下,我的video是在media_dir = V,/ srv / share / videos / library中

我做过chmod -R a + xr / srv / share / videos / library但仍然收到Permission Denied消息

在我做了chmod o + xr / srv / share / videos之后 – 一切都运行了,用户= minidlna

希望这有助于某人。

我有同样的问题,并尝试使用这篇文章修复它。 但是我不希望root运行守护进程。

注意

  • 我也在用户空间连接可移动磁盘(不使用fstab)。
  • 我正在运行Ubuntu 16.04.02 LTS

所以我编辑了/etc/default/minidlna来包含

 USER= GROUP= 

然后在/etc/minidlna.conf中包含

 user= 

我还必须更改权限以允许我的用户

 chown : /var/cache/minidlna chown : /run/minidlna 

然后重启服务

 sudo service minidlna restart 

我在尝试创建的NAS上遇到了同样的问题。 我认为/etc/init.d/minidlna脚本不应该:

 if [ -z $GROUP ]; then GROUP=$USER fi 

但是做一个

 if [ -z $GROUP]; then GROUP=$(id -gn $USER) fi 

因为用户的主要组可能与用户不同。 特别是当您希望用户共享时,您希望他们共享的组也是minidlna的主要组。

我试图将MiniDLNA作为HDHomeRun RECORD的替代存储区域运行(在HDHomeRun SETUP中使用NAS配置)。

当我重新启动并且我的DLNA服务器不再工作时,我认为Samba存在冲突。 结果我从来没有设置firewalld有一个开放的端口8200,我刚关闭它并忘记禁用该服务(可能以为我会在以后正确地做并忘记)。

我正在使用Fedora 27,BTW。

出于某种原因,如果您的端口未打开,MiniDLNA会将媒体目录报告为not accessible 。 示例 –

在关闭firewalld之前:

 # systemctl status minidlna systemd[1]: Started MiniDLNA is a DLNA/UPnP-AV server software. minidlna.c:620: error: Media directory "/home/local/Downloads" not accessible [Permission denied] minidlna.c:620: debug: Using locale dir '/usr/share/locale' and locale langauge en_US.UTF-8/en_US.UTF-8 minidlna.c:1048: warn: Starting MiniDLNA version 1.2.1. 

关闭firewalld之后:

 # systemctl status minidlna 10/X_MS_MediaReceiverRegistrar.xml 

我不确定为什么它会报告媒体目录由于端口被阻塞而无法访问,这对我来说似乎是一种奇怪的行为。 但禁用防火墙是我为它重新开始工作所做的一切。

要让miniDLNA重新扫描其库,我们可能会发出以下命令:

 sudo service minidlna stop # stop minidlna sudo -u minidlna minidlna -R # rescan the library sudo service minidlna start # restart minidlna 

请注意,使用默认库设置时,需要在用户minidlna下运行第二行,以便让minidlna稍后可以访问此库。

根据您的设置,您可能已经定义了库的位置,而不是默认的/var/lib/minidlna 。 然后我们可能需要不同的权限。