Projet

Général

Profil

Tâche #14030

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

répertoire /tmp/zephir_temp manquant

Ajouté par Thierry Bertrand il y a plus de 10 ans. Mis à jour il y a plus de 10 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
20/11/2014
Echéance:
% réalisé:

100%

Temps estimé:
1.00 h
Temps passé:
Restant à faire (heures):
0.0

Révisions associées

Révision fd485362 (diff)
Ajouté par Bruno Boiget il y a plus de 10 ans

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

Révision a86dd23e (diff)
Ajouté par Bruno Boiget il y a plus de 10 ans

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

Révision 451ac65c (diff)
Ajouté par Bruno Boiget il y a plus de 10 ans

chown ajouté aussi sur CreoleWrap.save

ref #14030 @15m

Historique

#1 Mis à jour par Thierry Bertrand il y a plus de 10 ans

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 Mis à jour par Scrum Master il y a plus de 10 ans

  • Statut changé de Nouveau à En cours

#3 Mis à jour par Scrum Master il y a plus de 10 ans

  • Assigné à mis à Lionel Morin

#4 Mis à jour par Bruno Boiget il y a plus de 10 ans

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 Mis à jour par Bruno Boiget il y a plus de 10 ans

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 Mis à jour par Bruno Boiget il y a plus de 10 ans

  • Temps estimé mis à 1.00 h
  • Restant à faire (heures) mis à 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 Mis à jour par Scrum Master il y a plus de 10 ans

  • Statut changé de En cours à Résolu

#8 Mis à jour par Lionel Morin il y a plus de 10 ans

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) changé de 1.0 à 0.0

#9 Mis à jour par Daniel Dehennin il y a plus de 10 ans

  • % réalisé changé de 0 à 100

Formats disponibles : Atom PDF