Projet

Général

Profil

Tâche #28547

Scénario #28342: Traitement express MEN (24-26)

Manage_schedule ne fonctionne pas avec un utilisateur autre que root et fait systématiquement un "apply"

Ajouté par Emmanuel GARETTE il y a environ 5 ans. Mis à jour il y a presque 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
06/06/2019
Echéance:
% réalisé:

100%

Restant à faire (heures):
0.0

Description

Si je fais un "manage_schedule -l" en utilisateur non privilégié j'ai une erreur :

yyyyyy@xxxxx $ manage_schedule -l
Tâches planifiées EOLE :
 * les tâches hebdomadaires se feront le jeudi à 02:06 (hors sauvegarde)
  - après sauvegarde
   + Mise à jour du serveur (majauto)
Tâches désactivées EOLE :
   + Liste des mises à jour disponibles (queryauto)
   + Reconfigure du serveur (y_reconfigureauto)
   + Arrêt du serveur (z_shutdownauto)
   + Redémarrage du serveur (z_rebootauto)
Traceback (most recent call last):
  File "/usr/share/eole/sbin/manage_schedule", line 88, in <module>
    main()
  File "/usr/share/eole/sbin/manage_schedule", line 85, in main
    apply_schedules()
  File "/usr/lib/python2.7/dist-packages/pyeole/schedule.py", line 68, in apply_schedules
    del_schedule(day, mode, old_filename)
  File "/usr/lib/python2.7/dist-packages/pyeole/schedule.py", line 61, in del_schedule
    unlink(old_filename)
OSError: [Errno 13] Permission denied: '/usr/share/eole/schedule/weekly/post/majauto'

1/ je ne comprends pas pourquoi ca fait un "del_schedule" au moment du liste, le -l fait un apply ?
2/ si la commande ne fonctionne pas en non root il faudrait une erreur explicite.

Révisions associées

Révision fcf5d4c2 (diff)
Ajouté par Joël Cuissinat il y a presque 5 ans

manage_schedule : fix "apply" call and check non root usage

Ref: #28547

Historique

#1 Mis à jour par Joël Cuissinat il y a presque 5 ans

Pour le point n°1, il faut étudier...

C'est simple, il n'y a pas de "sys.exit" après :

    if option.list:
        display_schedules()

Et ça rentre dans :

    if option.apply is not None:

Car False != None :
   parser.add_option("--apply", dest="apply", help=u"Active/désactive les scripts dans le schedule",
                      action='store_true', default=False)

Pour le point n°2, on peut ajouter l'extrait de code suivant :

from pyeole.ihm import only_root
only_root()

#2 Mis à jour par Joël Cuissinat il y a presque 5 ans

  • Sujet changé de Manage_schedule ne fonctionne pas avec un utilisateur autre que root à Manage_schedule ne fonctionne pas avec un utilisateur autre que root et fait systématiquement un "apply"
  • Tâche parente mis à #28342

#3 Mis à jour par Joël Cuissinat il y a presque 5 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Joël Cuissinat

#4 Mis à jour par Joël Cuissinat il y a presque 5 ans

  • Statut changé de En cours à Résolu
  • % réalisé changé de 0 à 100

Corrigé pour EOLE >= 2.6.0

#5 Mis à jour par Joël Cuissinat il y a presque 5 ans

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

Formats disponibles : Atom PDF