![Ubuntu 14.04 LTS 上的 minidlna 无法访问 /media 文件夹](https://linux22.com/image/976063/Ubuntu%2014.04%20LTS%20%E4%B8%8A%E7%9A%84%20minidlna%20%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE%20%2Fmedia%20%E6%96%87%E4%BB%B6%E5%A4%B9.png)
我的 minidlna 程序正在尝试访问 /media 文件夹以将驱动器安装在那里。我已调整 minidlna.conf 文件以专门查找这些驱动器。我访问它们并收到拒绝访问消息。当它们位于 /media 文件夹中时,我无法更改文件夹权限。
我尝试了以下方法:
- 将 minidlna.conf 中的用户更改为当前用户 效果:无法访问文件,权限被拒绝
2.在 minidlna.conf 中将用户更改为“root” 效果:“坏用户错误”
在minidlna.conf文件中注释掉用户效果:无法访问文件,权限被拒绝。
将测试文件夹从 /media 文件夹移动到 /home 文件夹 4.5 更改了 /home 文件夹的权限,使每个人都可以访问所有内容,效果:无法访问文件,权限被拒绝。
基本上,无论我做什么,minidlna 程序都无法访问 /media 文件夹中安装的驱动器。我找不到在不更改驱动器位置的情况下更改目录路径的方法。我的蓝光设备可以看到 minidlna 程序创建的文件夹,但这些文件夹是空的。有没有办法卸载并重新安装到不同的目录?(也许是自动安装规则?)
任何帮助都将不胜感激。请理解,我成为 Ubuntu 用户已有大约 72 小时了。
附言
我也尝试过 mediatomb、serviio 和 ushare。到目前为止,minidlna 最接近实现这一目标。
答案1
我遇到了类似的问题并且所有权限都是如此。
为需要访问媒体的用户创建一个组
sudo groupadd mediausers
(使用适当的组名代替“mediausers”)
添加媒体管理员用户来管理媒体,您应该使用此用户通过 FTP 将媒体传输到媒体文件夹
sudo useradd --ingroup mediausers mediaadmin
将您的媒体存储在非系统分区上,并将该分区挂载到非系统默认文件夹中,我们将创建一个,分配所有权并修复其权限
sudo cd /media
sudo mkdir servedmedia
sudo mount /path/to/partition /media/servedmedia
sudo chown -R mediaadmin:mediausers servedmedia
sudo chmod -R 775 servedmedia
“-R” 表示递归到文件夹中,这样所有内容都会更改。775 是所有者和组的读/写/执行权限,普通用户的读和执行权限。建议仔细检查并只将执行权限分配给文件夹而不是文件。对于文件,应该是“chmod 774 -filename-”,对于文件夹,应该是“chmod 775 -folder name-”,或者使用 FileZilla 的属性分别修复文件夹和文件。对于需要浏览或更改文件夹的用户,必须允许文件夹上的“执行”。允许普通用户对所有文件执行是不可取的,也是不好的做法,所以最后一行确实很糟糕,但可以工作。
为了使该挂载点在启动后仍然存在,请查找如何将该分区添加到 /etc/fstab
检查 minidlna 用户是否存在
sudo id -u minidlna
如果返回“没有这样的用户”,请添加 minidlna 可以使用的用户并将其添加到 mediausers 组并禁止其登录,因为它是系统用户并且不需要登录(-L)或主文件夹(-M)
sudo useradd -M --ingroup mediausers minidlna
sudo usermod -L minidlna
您必须验证 minidlna 是否已配置为使用该用户
sudo nano /etc/minidlna.conf
找到以下行:
# Specify the user name or uid to run as (root by default).
# On Debian system command line option (from /etc/default/minidlna) overrides this.
user=minidlna
更改它(或者,如果您的用户是“minidlna”,则保留它)
在该文件中,查找
# Path to the directory you want scanned for media files.
#
# This option can be specified more than once if you want multiple directories
# scanned.
#
# If you want to restrict a media_dir to a specific content type, you can
# prepend the directory name with a letter representing the type (A, P or V),
# followed by a comma, as so:
# * "A" for audio (eg. media_dir=A,/var/lib/minidlna/music)
# * "P" for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)
# * "V" for video (eg. media_dir=V,/var/lib/minidlna/videos)
# * "PV" for pictures and video (eg. media_dir=PV,/var/lib/minidlna/digital_camera)
media_dir=/media
确保“media_dir”读取媒体的路径(/media/servedmedia)
在关闭它之前,请查找
# Automatic discovery of new files in the media_dir directory.
#inotify=yes
取消注释“#inotify=yes”,使其显示“inotify=yes”
使用 Ctrl-X / Y / [enter] 关闭并保存
确保 minidlna 在启动时启动
systemctl enable minidlna
启动(或重新启动)minidlna 守护进程
systemctl restart minidlna
iNotify 存在一些问题,但这些问题可以通过不同的 Google 搜索找到。默认最大值为 1000,因此只有当您的服务器中充斥着文件更改时,这才会成为问题。
答案2
我在挂载 NTFS 分区时遇到了类似的问题。由于您无法更改权限,我猜我们谈论的是 FAT 或 NTFS 分区,也可能是 USB 设备?这是 udisks 中的一个错误,带有硬编码选项:https://bugs.launchpad.net/ubuntu/+source/udisks/+bug/682589
我通过 /etc/fstab 安装所需设备,从而实现了 minidlna 的访问。请务必添加选项“default,umask=0000”。如果设备自动安装,只需卸载它们并mount -a
在终端中运行命令即可。
请参阅此答案以了解更多信息:https://askubuntu.com/a/408871/32228