[minidlna] Problèmes avec l'utilisateur nobody (résolu)

Applications multimedia / jeux
Avatar de l’utilisateur
salan54
Hankyu
Messages : 10
Inscription : sam. 30 juil. 2011, 11:21

[minidlna] Problèmes avec l'utilisateur nobody (résolu)

Message par salan54 »

Bonjour,
J'ai voulu installer sur mon Archlinux le serveur dlna dont tout le monde dit le plus grand bien : minidlna.

Je souhaitais partager le répertoire Musique de mon home perso.
J'ai donc dans /etc/minidlna.conf une ligne :

Code : Tout sélectionner

media_dir=/home/salan54/Musique/
Depuis un patch de 08.2011, le serveur minidlna tourne sous l'user nobody (Avant, il semble qu'il tournait sous root) :
https://bugs.archlinux.org/task/25813?getfile=7459
J'ai donc modifié les droits d'accès à mon répertoire Musique :

Code : Tout sélectionner

chmod 777 /home/salan54/Musique
Néammoins, le daemon minidlna ne peut pas accéder à mon répertoire, ne peut pas écrire le PID, ne peut pas gèrer inotify etc... Voici un extrait de /var/log/minidlna.log :

Code : Tout sélectionner

[2011/10/22 22:21:04] daemonize.c:98: error: Unable to open pidfile for writing /var/run/minidlna.pid: Permission denied
[2011/10/22 22:21:04] minidlna.c:899: warn: Starting MiniDLNA version 1.0.22 [SQLite 3.7.8].
[2011/10/22 22:21:04] inotify.c:182: warn: WARNING: Inotify max_user_watches [8192] is low or close to the number of used watches [0] and I do not have permission to increase this limit.  Please do so manually by writing a higher value into /proc/sys/fs/inotify/max_user_watches.
En attendant de pouvoir trouver une solution, je fais tourner minidlna en root après avoir modifié /etc/conf.d/minidlna :
MINIDLNA_USER=root
Et ça tourne très bien ;-) Mais j'imagine qu'il doit être assez risqué de faire tourner un serveur upnp/dnla en user root ?

Ma question : le user 'nobody' n'ayant aucun droit, comment faire pour que le serveur minidlna puisse :
- scanner un répertoire personnel,
- écrire son pid

Merci d'avance pour vos éclaircissements car je débute sous Arch.
Dernière modification par salan54 le dim. 23 oct. 2011, 14:56, modifié 1 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17576
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [minidlna] Problèmes avec l'utilisateur nobody

Message par benjarobin »

Pour scanner ton répertoire, il suffit de que le chemin d'accès de /home/salan54/Musique possède au moins les droits 755
Donc ton problème est au niveau de /home/salan54, il faut donc faire

Code : Tout sélectionner

chmod 755 /home/salan54
chmod 755 /home/salan54/Musique
chmod -R o+r /home/salan54/Musique/*
Pour le /proc/sys/fs/inotify/max_user_watches je ne vois pas comment faire...
Pour le pid tu peux tenter de faire

Code : Tout sélectionner

touch /var/run/minidlna.pid
chown nobody /var/run/minidlna.pid
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
salan54
Hankyu
Messages : 10
Inscription : sam. 30 juil. 2011, 11:21

Re: [minidlna] Problèmes avec l'utilisateur nobody

Message par salan54 »

Merci Benjarobin,

En appliquant la modification des droits sur mon home et le répertoire Musique tel que tu l'as décrit, ainsi que la création d'un minidlna.pid sous les droits de nobody, ça marche parfaitement. Je n'ai plus le message /proc/sys/fs/inotify/max_user_watches qui devait donc être lié à cette histoire de droits sur les répertoires à scanner.

Ne me reste plus qu'à re-créer la database qui avait été initiée sous l'user root et tout devrait être fonctionnel :

Code : Tout sélectionner

[2011/10/23 14:52:42] minidlna.c:899: warn: Starting MiniDLNA version 1.0.22 [SQLite 3.7.8].
[2011/10/23 14:52:42] sql.c:41: error: SQL ERROR 8 [attempt to write a readonly database]
pragma default_cache_size = 8192;
[2011/10/23 14:52:42] minidlna.c:991: warn: HTTP listening on port 49200
Merci encore. Cordialement
Répondre