[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] systemd service utilisateur



On Tue, Oct 27, 2015 at 01:19:08PM +0100, Sébastien NOBILI wrote:
> Le mercredi 21 octobre 2015 à 18:20, Alexandre Hoïde a écrit :
> > On Wed, Oct 21, 2015 at 03:54:49PM +0900, Charles Plessy wrote:
> > > de mon côté je tarde à répondre car il me semblait que systemd permettait
> > > d'isoler les utilisateurs les uns des autres (dans des « slices » ?), y compris
> > > au niveau des fichiers temporaires, mais je peine à retrouver où j'aurais pu
> > > lire une chose pareille...
> > 
> >   Si je comprends bien¹ (mais rien n'est moins sûr), le « contexte »
> > user.slice est invoqué/utilisé en arrière plan par systemd, pour les
> > processus utilisateurs (tel que mon usrtmp.service, par exemple).
> > Mais au niveau où je l'exploite, il me semble que ce devrait être
> > « transparent ».
> 
> J'ai compris son fonctionnement comme toi. Je n'ai pas encore lu trop de doc sur
> le sujet et ce que j'en ai compris est surtout empirique. Si ton service est
> lancé à l'ouverture de session par l'utilisateur (là je suppose puisque je n'ai
> pas lu la doc), alors l'isolation a déjà eu lieu et les différentes commandes
> lancées se trouvent dans le « slice ».
> 
> On voit tout ça à l'œuvre lorsqu'on ouvre une session (graphique ou non), des
> messages apparaissent sur les consoles (mais c'est peut-être parce que j'ai
> passé Systemd en debug), mais également lorsque des tâches cron sont lancées.
> 
> D'ailleurs ce second point me fait penser à un cas que tu devrais vérifier.
> Est-ce que ton service utilisateur est lancé également lors du démarrage de
> tâches cron d'un des utilisateurs qui l'aurait activé ?


  Oui, hé hé : Voilà un empirisme exigeant ! Mon intuition bordélique
me dirait que cron n'est pas exécuté avec l'identité des contrab's des
utilisateurs [et donc, logind ne verrait pas de connexion qui déclencherait
le default.target de l'utilisateur]… mais la question valait bien un
test (après avoir « enabled » le usrtmp.service pour l'utilisateur
« fictif » et déconnecté fictif partout) :

  $ sudo -u fictif contrab -l
  10 18 27 10 *  sleep 5 && [ -d /tmp/fictif_usrtmp ] && touch /tmp/test-cron-systemd-oui || touch /tmp/test-cron-systemd-non

et à 18h12 :
  $ ls /tmp/test-cron-systemd-*
  /tmp/test-cron-systemd-non

et en effet, journalctl ne montre aucun « starting » correspondant (ce
qui ne veut pas encore dire que mon intuition est la bonne… faudrait que
je RTFM cron comme il faut ^^).

  C'est sympa d'être venu prêter main forte à Charles pour me
démonologuer. Merci Sébastien.

-- 
 ___________________
| $ post_tenebras ↲ |       waouh !
| GNU        \ /    |      /
|          -- * --  |     o
| $ who ↲    / \    |_-- ~_|
| Alexandre Hoïde   |  _/| |
 -------------------


Reply to: