У меня есть дополнительный жесткий диск, который монтируется как / media / Media, и я хотел бы, чтобы у пользователя была папка Video, расположенная на этом диске, и я хотел бы поделиться видео, расположенными в этой папке, через minidlna. У меня есть minidlna, работающий с /home/jonathan/Videos, который находится на моем маленьком диске, и хотел бы вместо этого переместить видео на более крупные диски.
Однако после того, как я отредактировал свой minidlna.conf, чтобы указать на / media / Media / Video и sudo service minidlna force-reload, чтобы перезагрузить базу данных, я получаю ошибку permssions.
Может ли кто-нибудь указать мне на правильные разрешения, которые мне нужно установить в этой папке?
/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"
] Если вы указали учетную запись пользователя вместо корня, также запустите 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
... потому что таким образом я получаю дополнительный уровень иерархии при просмотре медиа-папок в DLNA-клиентах.
type sudo chown -R minidlna: minidlna / media / Media
, чтобы предоставить мини-домен всем файлам и папкам, содержащимся в Media
, затем перезапустить и принудительно повторно просмотреть server
ВАЖНО Запустите мини-интерфейс как root!
sudo minidlna
, чтобы пересканировать библиотеку после добавления файлов на ваш носитель используйте
sudo service minidlna stop
sudo minidlna -R
sudo service minidlna restart
, чтобы увидеть, если он поднят
service minidlna status
Я понимаю, что это старый вопрос, но если вы fstab внешний диск с настройками по умолчанию, пользователь в качестве параметров, а затем sudo chown -cR $ USER: minidlna / media / (your_mount point_here). Это должно поддерживать владение и группу путем перезагрузки, а также предоставлять группе minidlna по умолчанию, что сервер запускается с групповым доступом к файлам.
Я нашел другое решение: родительский пакет медиафайла должен быть доступен и для минидлны. Я попытался запустить minidlna как root, а ProtectHome = только для чтения в системном файле systemctl, но ничего из этого не удалось.
В моем случае мои видео были в media_dir = V, / srv / share / videos / library
Я сделал chmod -R a + xr / srv / share / videos / library, но все еще получал сообщение об отказе в разрешении
После того, как я сделал chmod o + xr / srv / share / videos - все это сработало, с user = minidlna
Надеюсь, это кому-то поможет.
У меня была такая же проблема, и я попытался исправить ее, используя этот пост. Но я не хотел, чтобы root запускал демон.
Примечание:
Я также подключаю съемный диск в пользовательском пространстве (без использования fstab). Я запускаю Ubuntu 16.04.02 LTSИтак, я редактировал /etc/default/minidlna, чтобы содержать
USER=<user>
GROUP=<group>
, затем /etc/minidlna.conf, чтобы содержать
user=<user>
I также необходимо было изменить разрешения для моего пользователя
chown <user>:<group> /var/cache/minidlna
chown <user>:<group> /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 (используя конфигурацию NAS в HDHomeRun SETUP).
Я думал, что Samba конфликтует, когда я перезагружаюсь, и мой DLNA-сервер больше не работает. Оказывается, я никогда не устанавливал 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
<root xmlns="urn:schemas-upnp-org:device-1-0"><specVersion><major>1</major><minor>0</minor></specVersion><dev
minidlnad[4401]: MS_MediaReceiverRegistrar</eventSubURL><SCPDURL>/X_MS_MediaReceiverRegistrar.xml</SCPDURL></service></service
minidlna.c:1302: debug: HTTP connection from 192.168.1.190:65260
minidlnad[4401]: clients.c:332: debug: Client found in cache. [Generic UPnP 1.0/entry 1]
minidlnad[4401]: upnphttp.c:889: debug: HTTP REQUEST: GET /icons/sm.png HTTP/1.1
minidlnad[4401]: Connection: Keep-Alive
minidlnad[4401]: User-Agent: User-Agent: Microsoft-DLNA DLNADOC/1.50
minidlnad[4401]: Host: 192.168.1.186:8200
minidlnad[4401]: [1B blob data]
minidlnad[4401]: upnphttp.c:1391: debug:
Sending small PNG icon
Я не уверен, почему он сообщит об этом как недоступный из-за блокировки порта, для меня это кажется странным поведением. Но отключить брандмауэр было все, что я сделал, чтобы он снова начал работать.
Чтобы разрешить мини-DLLNA повторную сканирование своей библиотеки, мы можем выпустить следующие команды:
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. Тогда нам могут потребоваться разные разрешения.