![minidlna 的视频文件夹的权限是多少?](https://linux22.com/image/832657/minidlna%20%E7%9A%84%E8%A7%86%E9%A2%91%E6%96%87%E4%BB%B6%E5%A4%B9%E7%9A%84%E6%9D%83%E9%99%90%E6%98%AF%E5%A4%9A%E5%B0%91%EF%BC%9F.png)
我有一个安装为 /media/Media 的辅助硬盘,我想使用该硬盘上名为 Videos 的文件夹,并希望通过 共享此文件夹中的视频minidlna
。我一直minidlna
在/home/jonathan/Videos
使用较小的硬盘,我想将视频移动到较大的硬盘上。
但是,在我编辑我的minidlna.conf
以指向 /media/Media/Videos 文件夹并重新sudo service minidlna force-reload
加载数据库后,我收到权限错误。
有人能指出我需要在此文件夹上设置的正确权限吗?
答案1
我尝试按照此帖子中的示例操作,但仍然无法使其工作。最后我偶然发现了这篇文章: 在 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。缺点是,如果未插入驱动器,系统将不会自动启动,因为它会烦人地要求重试或忽略后才能继续启动。
将驱动器添加到 fstab 的另一种方法是从 cron 重新启动时重新启动 minidlna 服务:
sudo crontab -e
然后在文件末尾添加下一行:
@reboot sleep 60 && sudo service minidlna restart
答案2
/media/*
使用 udisks 自动挂载。如果是 NTFS 或 FAT,则只有活动用户可以访问它,因此 minidlna 用户无法访问它。
udisks 的权限是硬编码的,这很愚蠢,有一个关于它的错误报告:https://bugs.launchpad.net/ubuntu/+source/udisks/+bug/682589
sudo mount /dev/sdb1 /mnt
如果使用或安装磁盘/etc/fstab
,他可以设置他想要的任何权限,以便 minidlna 可以读取它。
因此,对于家用电脑,一个简单的解决方法是编辑/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
我要提醒自己,media_dir=
我更喜欢在 /var/lib/minidlna 下创建符号链接,而不是在 /etc/minidlna.conf 中添加条目,例如:
sudo ln -sf /media/alkisg/mydisk/Photos /var/lib/minidlna/Photos
...因为这样,我在 DLNA 客户端中浏览媒体文件夹时会获得额外的层次结构。
答案3
键入
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
答案4
我找到了另一个解决方案:父母媒体文件夹也必须可供 minidlna 访问。我尝试以 root 身份运行 minidlna,并ProtectHome=read-only
在 systemctlminidlna.service
文件中运行,但这些都不起作用。
就我而言,我的视频是media_dir=V,/srv/share/videos/library
。
我已经这样做了chmod -R a+xr /srv/share/videos/library
,但仍然收到权限被拒绝的消息。
我完成后chmod o+xr /srv/share/videos
,一切都顺利user=minidlna
。
希望这对某人有帮助。