J'ai un disque dur secondaire monté en tant que/media/Media et j'aimerais utiliser un dossier appelé Vidéos situé sur ce disque et que je souhaite partager les vidéos situées sur ce dossier via minidlna
. minidlna
travaille avec /home/jonathan/Videos
qui se trouve sur mon lecteur plus petit et souhaite déplacer les vidéos vers les lecteurs plus grands.
Cependant, après avoir modifié mon minidlna.conf
pour qu'il pointe vers le dossier/media/Media/Videos et que je fasse un Sudo service minidlna force-reload
pour recharger la base de données, j'obtiens une erreur permssions.
Quelqu'un peut-il m'indiquer les autorisations appropriées que je dois définir sur ce dossier?
J'ai essayé de suivre les exemples de ce fil, mais je ne pouvais toujours pas le faire fonctionner. J'ai fini par tomber sur cet article ici: Exécuter minidlna sur Ubunt et l'ai suivi étape par étape et j'ai maintenant les médias sur mon deuxième disque en cours de diffusion via minidnla. Si quelqu'un d'autre se débat, je vous suggère de suivre son processus.
J'ai cité son texte au cas où sa page disparaîtrait jamais.
Il a installé un service appelé minidlna, censé permettre la diffusion en continu de médias. Cependant, il n’a pas aimé les autorisations sur le dossier choisi. Le chemin est/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]
Il l'a pointé vers un dossier de son dossier personnel et cela lui a plu, , mais pas le deuxième disque contenant le support .
Il a essayé de définir l'utilisateur comme moi dans le fichier de configuration et dans le fichier par défaut. Mais finalement, il a découvert qu'il devait définir l'utilisateur comme "racine" pour que cela fonctionne.
Il ouvrit le terminal et entra ...
Sudo gedit /etc/default/minidlna
... et édité le fichier ...
# User and group the daemon should run as
USER=”root”
#GROUP=”minidlna”
... puis enregistré et retour au terminal et entré ...
Sudo gedit /etc/minidlna.conf
... et édité le fichier ...
# Specify the user name or uid to run as.
user=root
Il a redémarré le service en utilisant ...
Sudo service minidlna restart
... dans le terminal et cette fois il n'y avait pas d'erreur sur les autorisations.
J'espère que ça aide quelqu'un comme ça m'a aidé. Si cela vous aide, visitez sa page et laissez-lui un commentaire, comme il l'a fait pour qu'il sache que sa page l'aide!
Cela fonctionne immédiatement, mais si vous éteignez la machine puis la redémarrez, le second disque n’est pas servi par le serveur minidnla tant que vous n’avez pas exécuté:
Sudo service minidlna restart
Le faire fonctionner à partir du démarrage est un problème de lecteur en mode utilisateur et peut être résolu en ajout du lecteur à fstab . L'inconvénient est que le système ne démarrera pas automatiquement si le lecteur n'est pas branché, car il vous demandera de réessayer ou d'ignorer avant de continuer à démarrer.
/media/*
est monté automatiquement avec udisks. S'il s'agit de NTFS ou de FAT, seul l'utilisateur actif y a accès, de sorte que l'utilisateur minidlna ne peut pas y accéder.
C'est idiot que udisks ait les permissions en dur, il y a un rapport de bogue à ce sujet: https://bugs.launchpad.net/ubuntu/+source/udisks/+bug/682589
Si on monte le disque avec Sudo mount /dev/sdb1 /mnt
ou avec /etc/fstab
, il peut mettre toutes les autorisations voulues pour que minidlna puisse le lire.
Donc, pour les ordinateurs personnels, une solution de contournement facile consiste à éditer /etc/default/minidlna
et à spécifier que minidlna sera exécuté en tant que root ou en tant qu’utilisateur qui monte habituellement ces disques.
# User and group the daemon should run as
USER="root"
#GROUP="minidlna"
Si vous avez spécifié un compte d'utilisateur au lieu de root, exécutez également Sudo chown -R user:user /var/lib/minidlna
Pour réanalyser la bibliothèque après les modifications, exécutez Sudo service minidlna force-reload
Et une note personnelle, plutôt que d’ajouter des entrées media_dir=
dans /etc/minidlna.conf, je préfère créer des liens symboliques sous/var/lib/minidlna, par exemple:
Sudo ln -sf /media/alkisg/mydisk/Photos /var/lib/minidlna/Photos
... parce que j'obtiens un niveau de hiérarchie supplémentaire lors de la navigation dans les dossiers multimédia des clients DLNA.
type
Sudo chown -R minidlna: minidlna/media/Media
afin de donner à minidlna la propriété de tous les fichiers et dossiers contenus dans Media
puis redémarrez et forcez de nouveau le serveur
IMPORTANT
Commencez minidlna en tant que racine!
Sudo minidlna
faire une nouvelle analyse de la bibliothèque après avoir ajouté des fichiers à votre lecteur multimédia
Sudo service minidlna stop
Sudo minidlna -R
Sudo service minidlna restart
pour voir si c'est en place
service minidlna status
J'ai trouvé une autre solution: le parent du dossier multimédia doit également être accessible à minidlna. J'ai essayé d'exécuter minidlna en tant que root et ProtectHome = en lecture seule dans le fichier de service systemctl mais rien de tout cela n'a fonctionné.
Dans mon cas, mes vidéos étaient dans media_dir = V,/srv/share/videos/library
J'avais fait chmod -R a + xr/srv/share/videos/library mais je recevais toujours le message Permission Denied
Après avoir fait chmod o + xr/srv/share/videos - tout a fonctionné, avec user = minidlna
J'espère que ça aide quelqu'un.
J'ai eu le même problème et j'ai essayé de le réparer en utilisant ce post. Mais je ne voulais pas que root
exécute le démon.
Note:
J'ai donc édité /etc/default/minidlna
pour qu'il contienne
USER=<user>
GROUP=<group>
alors /etc/minidlna.conf
à contenir
user=<user>
J'ai également dû modifier les autorisations pour autoriser mon utilisateur
chown <user>:<group> /var/cache/minidlna
chown <user>:<group> /run/minidlna
Puis redémarrez le service
Sudo service minidlna restart
Je me rends compte que c’est une question plus ancienne, mais si vous utilisez le lecteur externe avec les valeurs par défaut, utilisateur en tant qu’options, puis Sudo chown -cR $ USER: minidlna/media/(your_mount point_here). Cela devrait permettre de conserver la propriété et le groupe lors des redémarrages et d'indiquer au groupe minidlna par défaut que le serveur est exécuté avec un accès de groupe aux fichiers.
J'essayais d'exécuter MiniDLNA en tant que zone de stockage alternative pour HDHomeRun RECORD (en utilisant NAS config dans HDHomeRun SETUP).
Je pensais que Samba était en conflit lorsque j'ai redémarré et que mon serveur DLNA ne fonctionnait plus. Il s'avère que je n'ai jamais défini firewalld
pour ouvrir un port 8200; je l'avais juste éteint et j'avais oublié de désactiver le service (pensant probablement que je le ferais correctement plus tard et en oubliant).
J'utilise Fedora 27, BTW.
Pour une raison quelconque, MiniDLNA signale le répertoire multimédia comme étant not accessible
si votre port n’est pas ouvert. Exemple --
Avant de désactiver le pare-feu:
# 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.
Après avoir désactivé le pare-feu:
# 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
Je ne suis pas sûr de savoir pourquoi le répertoire de média serait signalé comme inaccessible à cause d'un port bloqué, cela me semble un comportement étrange. Mais tout ce que j'ai fait pour désactiver le pare-feu a été rétabli.
J'ai rencontré le même problème sur un NAS que j'essaie de créer. Je pense que le script /etc/init.d/minidlna
ne devrait pas:
if [ -z $GROUP ]; then
GROUP=$USER
fi
Mais fais un
if [ -z $GROUP]; then
GROUP=$(id -gn $USER)
fi
Parce que le groupe principal de l'utilisateur peut différer de l'utilisateur. Particulièrement lorsque vous souhaitez que les utilisateurs partagent, vous souhaitez qu'un groupe qu'ils partagent soit également le groupe principal de minidlna.