Project

General

Profile

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"

Added by Emmanuel GARETTE over 4 years ago. Updated about 4 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
06/06/2019
Due date:
% Done:

100%

Remaining (hours):
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.

Associated revisions

Revision fcf5d4c2 (diff)
Added by Joël Cuissinat over 4 years ago

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

Ref: #28547

History

#1 Updated by Joël Cuissinat over 4 years ago

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 Updated by Joël Cuissinat over 4 years ago

  • Subject changed from Manage_schedule ne fonctionne pas avec un utilisateur autre que root to Manage_schedule ne fonctionne pas avec un utilisateur autre que root et fait systématiquement un "apply"
  • Parent task set to #28342

#3 Updated by Joël Cuissinat over 4 years ago

  • Status changed from Nouveau to En cours
  • Assigned To set to Joël Cuissinat

#4 Updated by Joël Cuissinat over 4 years ago

  • Status changed from En cours to Résolu
  • % Done changed from 0 to 100

Corrigé pour EOLE >= 2.6.0

#5 Updated by Joël Cuissinat about 4 years ago

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

Also available in: Atom PDF