Ubuntu 14.04 LTS 上的 minidlna 无法访问 /media 文件夹

Ubuntu 14.04 LTS 上的 minidlna 无法访问 /media 文件夹

我的 minidlna 程序正在尝试访问 /media 文件夹以将驱动器安装在那里。我已调整 minidlna.conf 文件以专门查找这些驱动器。我访问它们并收到拒绝访问消息。当它们位于 /media 文件夹中时,我无法更改文件夹权限。

我尝试了以下方法:

  1. 将 minidlna.conf 中的用户更改为当前用户 效果:无法访问文件,权限被拒绝

2.在 minidlna.conf 中将用户更改为“root” 效果:“坏用户错误”

  1. 在minidlna.conf文件中注释掉用户效果:无法访问文件,权限被拒绝。

  2. 将测试文件夹从 /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

相关内容