Page 1 sur 1

/var/run en tmpfs sur current

Publié : 15 février 2020, 14:47
par Thomas
Bonjour,

Certaines applis comme tor vont créer un fichier pid dans /var/run/nomappli/nomappli.pid. Dans le cas de tor, le dossier /var/run/tor doit exister et doit appartenir à tor:tor pour que le démon se lance.

Or depuis la mise à jour du 13/02, /var/run est monté en tmpfs et est donc vidé à l'arrêt de l'OS.
Thu Feb 13 20:17:58 UTC 2020
a/sysvinit-scripts-2.1-noarch-29.txz: Rebuilt.
rc.S: make /var/run a bind mount to /run. Thanks to Robby Workman.
(…)
De ce fait, /var/run/tor n'existe plus et le démon ne démarre plus au démarrage de l'OS.

À votre avis, quelle est la meilleure solution à adopter pour résoudre ce problème ?

Re: /var/run en tmpfs sur current

Publié : 15 février 2020, 15:33
par Seb
Salut,

Perso, je créerais le dossier depuis le rc.tor ou ce qui en tient lieu, avant de démarrer le démon.

Code : Tout sélectionner

if mkdir -mMODE /var/run/tor 2>/dev/null; then
   chown tor:tor /var/run/tor
fi
...

Re: /var/run en tmpfs sur current

Publié : 15 février 2020, 15:43
par Thomas
Je suppose que tu as raison. Merci de ton retour très rapide !

Re: /var/run en tmpfs sur current

Publié : 15 février 2020, 15:52
par Thomas
Mais pour connaître le bon dossier, ajouter une variable dans /etc/default/tor pourrait être utile. Voici ce qu'on pourrait ajouter :

Code : Tout sélectionner

TOR_USER=tor
TOR_GROUP=tor
TOR_PID_PATH=/var/run/tor
Qu'en pensez-vous ?

Re: /var/run en tmpfs sur current

Publié : 15 février 2020, 16:04
par Seb
Je ne connais pas du tout tor (enfin, à part utiliser le socket tor-browser...). Mais de toute façon, si je comprends bien ton message intial, tu n'as pas le choix du dossier ni de l'utilisateur. C'est déjà ce à quoi s'attend le démon. Du coup c'est redondant, non ? (Peut-être que quelque chose m'échappe... ;) )

Re: /var/run en tmpfs sur current

Publié : 15 février 2020, 16:14
par Thomas
Dans le cas de tor, tu peux choisir dans le fichier de conf où sera stocké le PID et quel user exécute le démon. Du coup je ne peux pas mettre le dossier et l'user en dur dans rc.tor.
Mais cela s'applique, dans mon cas, également à mpd que je lance via un rc.mpd et dont l'user est mpd. J'ai eu par le passé le même cas avec opendmarc et opendkim avant que je ne les remplace par rspamd.

C'est pourquoi je cherche une bonne solution générique qui pourra s'appliquer à tous les services qui peuvent en avoir besoin. Pour l'instant ton idée de l'intégrer directement dans le rc.truc-en-d me semble la plus adaptée. Et pour que le script sache quel dossier créé et quels droits lui donner, ma solution avec /etc/default/truc me parait pas mal.

Re: /var/run en tmpfs sur current

Publié : 15 février 2020, 18:29
par Seb
Du coup, tu fais le joint comment ? J'imagine que tu sources /etc/default/truc dans le rc.tor, il faut donc que le fichier soit raccord avec ce qui est dans la conf de tor. Si j'ai bon, il vaut mieux directement piquer dans la conf, pour tout piloter à partir de là :

Code : Tout sélectionner

unset user group pid_path
while read var val; do
   case "$var" in
      User) user="$val"; group=$(id -ng "$user") ;;
      PidFile) pid_path="${val%/*}" ;;
   esac
done <conf_de_tor.conf

if mkdir -mMODE $pid_path 2>/dev/null; then
   chown "$user:$group" "$pid_path"
fi
J'ai absolument pas testé, mais voilà en gros l'idée. :)

Re: /var/run en tmpfs sur current

Publié : 15 février 2020, 18:44
par Thomas
Pour l'instant j'ai fait au plus simple, c'est-à-dire sans lien entre /etc/default/tor et la conf /etc/tor/torrc. C'est sûr que c'est plus logique de faire le lien entre les deux, cependant même dans les SBo le lien n'est pas fait. Si j'avais décidé de ne pas utiliser /var/run/tor/tor.pid qui est le pid par défaut, j'aurais dû modifier à la main rc.tor. Même chose pour les autres services que j'ai énuméré.

Je laisse comme ça pour l'instant et on verra quelle sera la méthode retenue par les mainteneurs des SBo.

En tout merci beaucoup Seb ! :)

Bon week-end !

Re: /var/run en tmpfs sur current

Publié : 15 février 2020, 18:51
par Seb
De rien, bon week-end à toi aussi. ;)