Berechtigungen für Videoordner für minidlna?


10

Ich habe eine sekundäre Festplatte, die als / media / Media gemountet ist, und ich möchte einen Ordner namens Videos auf diesem Laufwerk verwenden, über den ich die in diesem Ordner befindlichen Videos freigeben möchte minidlna. Ich habe minidlnamit /home/jonathan/Videosdem auf meinem kleineren Laufwerk gearbeitet und möchte stattdessen die Videos auf die größeren Laufwerke verschieben.

Nachdem ich meine bearbeitet habe minidlna.conf, um auf den Ordner / media / Media / Videos zu verweisen und sudo service minidlna force-reloaddie Datenbank neu zu laden, wird ein Berechtigungsfehler angezeigt.

Kann mich jemand auf die richtigen Berechtigungen verweisen, die ich für diesen Ordner festlegen muss?


Um zu helfen, benötigen wir den genauen Fehler, den Sie erhalten. Wir müssen auch wissen, wie Sie formatiert haben, wie Sie Ihr Medienlaufwerk gemountet haben und wohin Ihre minidlna.conf zeigt. Ansonsten wird hier nur geraten. Die Minidlna-Methode zum erneuten Scannen der Bibliothek ist in meiner Antwort angegeben - keine Notwendigkeit force-reload.
Takkat

Wenn ich mindlna starte, nachdem ich meine minidlna.conf in piont in den Videoordner / media / media / Videos geändert habe, wird mir mitgeteilt, dass die Berechtigung verweigert wurde. Das Laufwerk ist eine sekundäre Festplatte und wird vom System gemountet, wenn ich mich anmelde / den Computer einschalte. Ich bin mir also nicht sicher, was Sie damit meinen, wie es gemountet wird
jjesse

Was ich dachte ist, dass unabhängig von den Berechtigungen Ihres Video-Verzeichnisses minidlna Lesezugriff haben sollte, da es als root ausgeführt wird. Dies gilt nicht für die minidlna-Datenbank, die im /var/lib/minidlnaBesitz einer Gruppe gespeichert ist minidlna. Daher müssen wir den Rescan -Rals Benutzer ausführen minidlna, oder wir können diese Bibliothek an einem anderen Ort ablegen (siehe mindlna.conf -> db_dir=). Ich habe meine in meinem Haus.
Takkat

Minidlna funktioniert also, solange ich / home / jjesse / Videos / verwende, da mein Verzeichnis gut funktioniert. Wenn ich jedoch auf / media / media / videos zeige, wird der Fehler "Permssions" angezeigt, daher die Frage, welche Berechtigungen ich für / media benötige / media / videos
jjesse

Auf meinen Systemen hier benötigen wir natürlich Leseberechtigungen für minidlna. Diese können von dem Benutzer / der Gruppe abhängen, mit dem Sie minidlna ausführen. Dies ist normalerweise der rootFall minidlna, kann aber auch als oder als beliebiger Benutzer ausgeführt werden, abhängig von Ihrem individuellen Setup.
Takkat

Antworten:


14

Ich habe versucht, den Beispielen in diesem Thread zu folgen, konnte es aber immer noch nicht zum Laufen bringen. Ich bin hier auf diesen Artikel gestoßen : minidlna unter Ubuntu ausführen und Schritt für Schritt folgen, und jetzt werden die Medien auf meinem zweiten Laufwerk über minidnla bereitgestellt. Wenn jemand anderes Probleme hat, schlage ich vor, dass Sie seinem Prozess folgen.

Ich habe seinen Text zitiert, falls seine Seite jemals verschwindet.


Er installierte einen Dienst namens minidlna, der das Streaming von Medien ermöglichen soll. Die Berechtigungen für den von ihm ausgewählten Ordner gefielen ihm jedoch nicht. Der Pfad lautet / 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]

Er zeigte auf einen Ordner in seinem Home-Ordner und es gefiel ihm ganz gut, aber nicht auf dem zweiten Laufwerk, auf dem sich die Medien befinden .

Er hat versucht, den Benutzer in der conf-Datei und in der Standarddatei als mich festzulegen. Aber schließlich entdeckte er, dass er den Benutzer als "root" festlegen musste, damit es funktioniert.

Er öffnete das Terminal und betrat ...

sudo gedit /etc/default/minidlna

... und die Datei bearbeitet ...

# User and group the daemon should run as
USER=”root”
#GROUP=”minidlna”

... dann gespeichert und zurück zum Terminal und eingegeben ...

sudo gedit /etc/minidlna.conf

... und die Datei bearbeitet ...

# Specify the user name or uid to run as.
user=root

Er startete den Dienst mit ...

sudo service minidlna restart

... im Terminal und diesmal gab es keinen Fehler bezüglich der Berechtigungen.


Ich hoffe das hilft jemandem wie es mir geholfen hat. Wenn es Ihnen hilft, besuchen Sie bitte seine Seite und hinterlassen Sie ihm einen Kommentar wie ich, damit er weiß, dass seine Seite hilft!

AKTUALISIEREN:

Dies funktioniert sofort, aber wenn Sie den Computer ausschalten und dann neu starten, wird das zweite Laufwerk erst vom Minidnla-Server bedient, wenn Sie Folgendes ausführen:

sudo service minidlna restart

Das Booten nach dem Start ist ein Problem mit dem Laufwerk im Benutzermodus und kann durch Hinzufügen des Laufwerks zu fstab behoben werden . Der Nachteil ist, dass das System nicht automatisch startet, wenn das Laufwerk nicht angeschlossen ist, da es ärgerlicherweise verlangt, es erneut zu versuchen oder zu ignorieren, bevor der Start fortgesetzt wird.

Eine Alternative zum Hinzufügen des Laufwerks zu fstab besteht darin, den minidlna-Dienst beim Neustart von cron neu zu starten:

sudo crontab -e

Fügen Sie dann die nächste Zeile am Ende der Datei hinzu:

@reboot sleep 60 && sudo service minidlna restart

9

/media/*wird mit udisks automatisch montiert. Wenn es sich um NTFS oder FAT handelt, erhält nur der aktive Benutzer Zugriff darauf, sodass der minidlna-Benutzer nicht darauf zugreifen kann.

Es ist albern, dass udisks die Berechtigungen fest codiert hat. Dazu gibt es einen Fehlerbericht: https://bugs.launchpad.net/ubuntu/+source/udisks/+bug/682589

Wenn man die Festplatte mit sudo mount /dev/sdb1 /mntoder mit /etc/fstabeinbindet, kann man beliebige Berechtigungen eingeben, damit minidlna sie lesen kann.

Für Heim-PCs besteht eine einfache Problemumgehung darin, sie zu bearbeiten /etc/default/minidlnaund entweder anzugeben, dass minidlna als Root oder als Benutzer ausgeführt wird, der diese Festplatten normalerweise bereitstellt.

# User and group the daemon should run as
USER="root"
#GROUP="minidlna"

Wenn Sie anstelle von root ein Benutzerkonto angegeben haben, führen Sie ebenfalls aus sudo chown -R user:user /var/lib/minidlna

Führen Sie aus, um die Bibliothek nach den Änderungen erneut zu scannen sudo service minidlna force-reload

Und eine Notiz für mich, anstatt media_dir=Einträge in /etc/minidlna.conf hinzuzufügen, ziehe ich es vor, Symlinks unter / var / lib / minidlna zu erstellen, z.

sudo ln -sf /media/alkisg/mydisk/Photos /var/lib/minidlna/Photos

... weil ich auf diese Weise beim Durchsuchen der Medienordner in DLNA-Clients eine zusätzliche Hierarchieebene erhalte.


Danke, ich habe endlich meine NTFS-Partition dazu gebracht, mit minidlna zu arbeiten. Ich habe meine Partition bereits über fstab gemountet, hatte aber die falschen Optionen. Da die NTFS-Partition nicht von einem Windows-System oder ähnlichem verwendet wird, habe ich nur die folgenden Optionen verwendet, um sie in fstab zu mounten: default, umask = 0000. Klappt wunderbar!
Bernd

4

Typ
sudo chown -R minidlna: minidlna / media / Media

um minidlna das Eigentum an allen in Media enthaltenen Dateien und Ordnern zu geben

Starten Sie dann den Server neu und erzwingen Sie einen erneuten Scan

WICHTIG
Starten Sie minidlna als root!

sudo minidlna

um die Bibliothek nach dem Hinzufügen von Dateien zu Ihrem Medienlaufwerk erneut zu scannen

sudo service minidlna stop
sudo minidlna -R
sudo service minidlna restart

um zu sehen, ob es geht

service minidlna status

Vielen Dank, ich habe die Änderungen vorgenommen und erhalte immer noch den gleichen Fehler. [2013/03/20 12:37:50] minidlna.c: 474: Fehler: Medienverzeichnis "/ media / Media / Videos /" nicht zugänglich! [Erlaubnis verweigert]
jjesse

1
Das ist sehr seltsam ... Ich muss mir mein eigenes Setup noch einmal ansehen, da Minidlna mit meinem externen Laufwerk als Medienpartition ausgeführt wird und ich denke, dies war die einzige Änderung, die ich vornehmen musste
Daniel W.

1
Eine Sache, die Sie tun können, um zu überprüfen, ob der Besitz tatsächlich geändert wurde, ist, 'ls -lh / media' einzugeben und zu prüfen, ob der Besitz (3. und 4. Element in der Liste) auf 'minidlna' gesetzt ist. Tun Sie dies auch für '/ media / Media 'und' / media / Media / Videos ', um zu sehen, ob die Änderungen rekursiv angewendet wurden
Daniel W.

Vielen Dank dafür, es sieht so aus, als ob die Änderung nicht rekursiv war. Jetzt zeigt das ls-lh minidlna als Besitzer und Gruppe. aber immer noch eine Erlaubnis verweigert. Ich
bin

Oh Mann, ich glaube, ich habe das Offensichtliche hier verpasst ... Sie scheinen Minidlna als Wurzel zu starten. Ich habe gerade die gleichen Fehler wie bei meinem Setup erhalten, nachdem ich es zum ersten Mal seit 2 Monaten neu gestartet habe. Sie müssen 'sudo minidlna' eingeben, das den Trick ausführen soll (vorausgesetzt, die richtigen Berechtigungen sind noch für die Ordner festgelegt)
Daniel W.

0

Mir ist klar, dass dies eine ältere Frage ist, aber wenn Sie das externe Laufwerk mit den Standardeinstellungen fben, Benutzer als Optionen und dann sudo chown -cR $ USER: minidlna / media / (your_mount point_here). Dies sollte den Besitz und die Gruppe durch Neustarts beibehalten und der Standard-Minidlna-Gruppe geben, dass der Server mit Gruppenzugriff auf die Dateien ausgeführt wird.


0

Ich habe eine andere Lösung gefunden: Das übergeordnete Element des Medienordners muss auch für minidlna zugänglich sein. Ich habe versucht, minidlna als root und ProtectHome = schreibgeschützt in der systemctl-Servicedatei auszuführen, aber nichts davon hat funktioniert.

In meinem Fall befanden sich meine Videos in media_dir = V, / srv / share / videos / library

Ich hatte chmod -R a + xr / srv / share / videos / library ausgeführt, erhielt aber immer noch die Meldung "Berechtigung verweigert"

Nachdem ich chmod o + xr / srv / share / videos gemacht hatte, funktionierte alles mit user = minidlna

Hoffe das hilft jemandem.


0

Ich hatte das gleiche Problem und versuchte es mit diesem Beitrag zu beheben. Aber ich wollte rootden Daemon nicht ausführen.

Hinweis :

  • Ich verbinde auch einen Wechseldatenträger im Userspace als (ohne Verwendung von fstab).
  • Ich verwende Ubuntu 16.04.02 LTS

Also habe ich bearbeitet, um /etc/default/minidlnazu enthalten

USER=<user>
GROUP=<group>

dann /etc/minidlna.confzu enthalten

user=<user>

Ich musste auch die Berechtigungen ändern, um meinen Benutzer zuzulassen

chown <user>:<group> /var/cache/minidlna
chown <user>:<group> /run/minidlna

Starten Sie dann den Dienst neu

sudo service minidlna restart

0

Ich bin auf einem NAS, den ich zu erstellen versuche, auf dasselbe Problem gestoßen. Ich denke das /etc/init.d/minidlnaSkript sollte nicht:

if [ -z $GROUP ]; then
   GROUP=$USER
fi

Aber mach ein

if [ -z $GROUP]; then
   GROUP=$(id -gn $USER)
fi

Weil sich die primäre Gruppe des Benutzers vom Benutzer unterscheiden kann. Insbesondere wenn Sie möchten, dass Benutzer teilen, möchten Sie, dass eine Gruppe, die sie teilen, auch die primäre Gruppe von minidlna ist.


0

Ich habe versucht, MiniDLNA als alternativen Speicherbereich für HDHomeRun RECORD auszuführen (unter Verwendung der NAS-Konfiguration in HDHomeRun SETUP).

Ich dachte, Samba kollidierte beim Neustart und mein DLNA-Server funktionierte nicht mehr. Es stellte sich heraus, dass ich nie firewalldeinen offenen Port 8200 eingestellt hatte. Ich hatte ihn gerade ausgeschaltet und vergessen, den Dienst zu deaktivieren (wahrscheinlich dachte ich, ich würde es später richtig machen und vergessen).

Ich benutze Fedora 27, übrigens.

Aus irgendeinem Grund meldet MiniDLNA das Medienverzeichnis als, not accessiblewenn Ihr Port nicht geöffnet ist. Beispiel -

Vor dem Ausschalten der Firewall:

# 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.

Nach dem Ausschalten der Firewall:

# 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

Ich bin mir nicht sicher, warum das Medienverzeichnis aufgrund eines blockierten Ports als unzugänglich gemeldet wird. Das scheint mir ein seltsames Verhalten zu sein. Aber das Deaktivieren der Firewall war alles, was ich getan habe, damit sie wieder funktioniert.


-1

Damit miniDLNA seine Bibliothek erneut scannen kann, geben wir möglicherweise die folgenden Befehle aus:

sudo service minidlna stop    # stop minidlna
sudo -u minidlna minidlna -R  # rescan the library
sudo service minidlna start   # restart minidlna

Beachten Sie, dass bei den Standardbibliothekseinstellungen die zweite Zeile unter dem Benutzer ausgeführt werden minidlnamuss, damit minidlna später auf diese Bibliothek zugreifen kann.

Abhängig von Ihren Einstellungen haben Sie möglicherweise einen anderen als den Standardspeicherort für die Bibliothek definiert /var/lib/minidlna. Dann benötigen wir möglicherweise andere Berechtigungen.


Vielen Dank für die Antwort, die mein Anliegen jedoch überhaupt nicht anspricht. Ich suche nach den Berechtigungen für den Ordner / das Laufwerk
jjesse
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.