Разрешения для папки видео для минидлна?
У меня есть дополнительный жесткий диск, который смонтирован как /media/Media, и я хотел бы использовать папку "Видео", расположенную на этом диске, и я хотел бы поделиться видео, расположенными в этой папке, через minidlna
, я имею minidlna
работать с /home/jonathan/Videos
который находится на моем меньшем диске и хотел бы вместо этого переместить видео на большие диски.
Однако после того, как я отредактирую minidlna.conf
указать на папку /media/Media/Videos и сделать sudo service minidlna force-reload
для перезагрузки базы данных я получаю ошибку permssions.
Может кто-нибудь указать мне правильные разрешения, которые мне нужно установить для этой папки?
9 ответов
Я пытался следовать примерам в этой теме, но все еще не мог заставить его работать. В итоге я наткнулся на эту статью: запуск minidlna в Ubuntu и пошаговое выполнение этой инструкции, и теперь у меня есть носители на моем втором диске, обслуживаемые через 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. Недостатком является то, что система не будет загружаться автоматически, если диск не подключен, так как она будет раздражающе требовать повторной попытки или игнорирования перед продолжением загрузки.
/media/*
автоматически монтируется с удисками. Если это NTFS или FAT, только активный пользователь получает доступ к нему, поэтому пользователь minidlna не может получить к нему доступ.
Глупо, что udisks имеет жестко запрограммированные разрешения, об этом есть сообщение об ошибке: https://bugs.launchpad.net/ubuntu/+source/udisks/+bug/682589
Если монтировать диск с sudo mount /dev/sdb1 /mnt
или с /etc/fstab
Он может поставить любые разрешения, какие захочет, чтобы минидлна могла его прочитать.
Так что для домашних ПК одним из простых решений является редактирование /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=
Записи в /etc/minidlna.conf, я предпочитаю создавать символические ссылки в / var / lib / minidlna, например:
sudo ln -sf /media/alkisg/mydisk/Photos /var/lib/minidlna/Photos
... потому что таким образом я получаю дополнительный уровень иерархии при просмотре папок мультимедиа в клиентах DLNA.
Тип
sudo chown -R minidlna: минидлна / медиа / медиа
чтобы минидлно владеть всеми файлами и папками, содержащимися в медиа
затем перезапустите и повторно выполните принудительное сканирование сервера
ВАЖНЫЙ
Запустите минидлна как root!
sudo minidlna
пересканировать библиотеку после добавления файлов на носитель
sudo service minidlna stop
sudo minidlna -R
sudo service minidlna restart
чтобы увидеть, если это случилось
service minidlna status
Я нашел другое решение: родительская папка мультимедиа должна быть доступна и для минидлна. Я попытался запустить 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>
Я также должен был изменить разрешения, чтобы позволить моему пользователю
chown <user>:<group> /var/cache/minidlna
chown <user>:<group> /run/minidlna
Затем перезапустите сервис
sudo service minidlna restart
Я пытался запустить MiniDLNA в качестве альтернативного хранилища для HDHomeRun RECORD (используя конфигурацию NAS в HDHomeRun SETUP).
Я думал, что Samba конфликтует, когда я перезагружаюсь, и мой сервер DLNA больше не работает. Оказывается, я никогда не ставлю firewalld
чтобы иметь открытый порт 8200, я только что выключил его и забыл отключить службу (вероятно, подумав, что я сделаю это позже, и забыл).
Я использую Fedora 27, кстати.
По какой-то причине 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
Я не уверен, почему он сообщает о том, что каталог мультимедиа недоступен из-за блокировки порта, что кажется мне странным. Но отключение брандмауэра было все, что я сделал, чтобы он снова начал работать.
Я столкнулся с той же проблемой на NAS, которую пытаюсь создать. я думаю /etc/init.d/minidlna
скрипт не должен:
if [ -z $GROUP ]; then
GROUP=$USER
fi
Но сделать
if [ -z $GROUP]; then
GROUP=$(id -gn $USER)
fi
Потому что основная группа пользователя может отличаться от пользователя. Особенно, если вы хотите, чтобы пользователи делились, вы хотите, чтобы группа, которой они делятся, также была основной группой minidlna.
Я понимаю, что это старый вопрос, но если вы используете fstab для внешнего диска со значениями по умолчанию, укажите в качестве параметров пользователя, а затем sudo chown -cR $USER:minidlna /media/(your_mount point_here). Это должно поддерживать владение и группировку через перезагрузки, а также давать группу минидлин по умолчанию, которую сервер запускает с групповым доступом к файлам.
Чтобы позволить miniDLNA повторно сканировать свою библиотеку, мы можем выполнить следующие команды:
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
, Тогда нам могут понадобиться разные разрешения.