minidlna 的视频文件夹的权限?

jje*_*sse 10 permissions minidlna

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

但是,在我编辑minidlna.conf指向 /media/Media/Videos 文件夹并sudo service minidlna force-reload重新加载数据库后,我收到一个权限错误。

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

小智 14

我尝试按照此线程中的示例进行操作,但仍然无法使其正常工作。我最终在这篇文章中跌跌撞撞: 在 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]
Run Code Online (Sandbox Code Playgroud)

他将它指向他的主文件夹中的一个文件夹,它很喜欢,但不是保存媒体的第二个驱动器

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

他打开终端,进入……

sudo gedit /etc/default/minidlna
Run Code Online (Sandbox Code Playgroud)

...并编辑了文件...

# User and group the daemon should run as
USER=”root”
#GROUP=”minidlna”
Run Code Online (Sandbox Code Playgroud)

...然后保存并返回终端并输入...

sudo gedit /etc/minidlna.conf
Run Code Online (Sandbox Code Playgroud)

...并编辑了文件...

# Specify the user name or uid to run as.
user=root
Run Code Online (Sandbox Code Playgroud)

他使用...重新启动了服务

sudo service minidlna restart
Run Code Online (Sandbox Code Playgroud)

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


我希望这能帮助别人,因为它帮助了我。如果它对您有帮助,请访问他的页面并像我一样给他留言,这样他就知道他的页面有帮助!

更新:

这可以立即生效,但是如果您关闭机器电源然后重新启动它,则 minidnla 服务器不会为第二个驱动器提供服务,直到您运行:

sudo service minidlna restart
Run Code Online (Sandbox Code Playgroud)

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

将驱动器添加到 fstab 的另一种方法是在从 cron 重启时重新启动 minidlna 服务:

sudo crontab -e
Run Code Online (Sandbox Code Playgroud)

然后在文件末尾添加下一行:

@reboot sleep 60 && sudo service minidlna restart
Run Code Online (Sandbox Code Playgroud)


alk*_*isg 10

/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"
Run Code Online (Sandbox Code Playgroud)

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

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

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

sudo ln -sf /media/alkisg/mydisk/Photos /var/lib/minidlna/Photos
Run Code Online (Sandbox Code Playgroud)

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


Dan*_* W. 5

键入
sudo chown -R minidlna:minidlna /media/Media

为了让 minidlna 拥有 Media 中包含的所有文件和文件夹的所有权

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

重要
以 root 身份启动 minidlna!

sudo minidlna
Run Code Online (Sandbox Code Playgroud)

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

sudo service minidlna stop
sudo minidlna -R
sudo service minidlna restart
Run Code Online (Sandbox Code Playgroud)

看看它是否起来

service minidlna status
Run Code Online (Sandbox Code Playgroud)