Project

General

Profile

Tâche #14030

Scénario #13756: Assistance aux utilisateurs (45-47)

répertoire /tmp/zephir_temp manquant

Added by Thierry Bertrand over 5 years ago. Updated over 5 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
11/20/2014
Due date:
% Done:

100%

Estimated time:
1.00 h
Spent time:
Remaining (hours):
0.0

Associated revisions

Revision fd485362 (diff)
Added by Bruno Boiget over 5 years ago

Force le propriétaire de zephir_temp à nobody/nogroup.

  • appel à os.chown à la création du dossier dans une fonction
    susceptible d'être appelée par le backend.

ref #14030 @30m

Revision a86dd23e (diff)
Added by Bruno Boiget over 5 years ago

creolewrap.py : import de NOBODY_UID/GID depuis zephir.config

  • évite de faire un import dans zephir.web au niveau de utils

ref #14030 @5m

Revision 451ac65c (diff)
Added by Bruno Boiget over 5 years ago

chown ajouté aussi sur CreoleWrap.save

ref #14030 @15m

History

#1 Updated by Thierry Bertrand over 5 years ago

Sur 2 zephirs 2.5.1 le répertoire /tmp/zephir_temp est absent, ça empêche le frontend de se lancer.

Ce problème reapparait aussi au reboot.

A noter que ce sont 2 zephirs 2.5.0 "upgradés" en 2.5.1

#2 Updated by Scrum Master over 5 years ago

  • Status changed from Nouveau to En cours

#3 Updated by Scrum Master over 5 years ago

  • Assigned To set to Lionel Morin

#4 Updated by Bruno Boiget over 5 years ago

Le problème n'a pas pu être reproduit de notre côté.

J'ai détecté deux fonctions susceptibles d'être appelées depuis le backend dans lesquelles le répertoire est créé si il n'existe pas.
Dans ce cas, le répertoire appartient à root/root au lieu de nobody/nogroup, ce qui le rend inaccessible à l'application web.

Je n'ai pas reperé de cas concret d'utilisation pouvant aboutir à une utilisation par le backend avant création du répertoire par l'application web, mais dans le doute j'ai forcé le propriétaire du répertoire après création dans les fonctions en question.

#5 Updated by Bruno Boiget over 5 years ago

méthode pour tester 'manuellement' le comportement avec création du répertoire par le backend :

en tant que root sur un serveur aca.zephir-2.5.1-avecConf (mis à jour en candidate) :

* service zephir stop
* service zephir_web stop
* rm -rf /tmp/zephir_temp

lancer un prompt python:

>>> from zephir.backend.dictpool import init_dictpool; from zephir.backend.lib_backend import serveur_pool;s=serveur_pool(); d=init_dictpool(s); 
>>> serv=s[76];serv.check_dict('modif_config')  --> (récupère le serveur 76 et initialise sa configuration)
>>> serv.dico.save('/tmp/zephir_temp/maconf.eol')
Sortir du prompt python et verifier :
  • que le répertoire /tmp/zephir_temp existe
  • qu'il appartient bien à nobody/nogroup

#6 Updated by Bruno Boiget over 5 years ago

  • Estimated time set to 1.00 h
  • Remaining (hours) set to 1.0

La modification indiquée a été publiée en version candidate, mais il n'a pas été validé que cela corresponde au problème remonté à l'origine (thierry n'étant pas sur place ces derniers jours, il n'a pas pu donner plus de détails).

#7 Updated by Scrum Master over 5 years ago

  • Status changed from En cours to Résolu

#8 Updated by Lionel Morin over 5 years ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) changed from 1.0 to 0.0

#9 Updated by Daniel Dehennin over 5 years ago

  • % Done changed from 0 to 100

Also available in: Atom PDF