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"
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
manage_schedule : fix "apply" call and check non root usage
Ref: #28547
Historique
#1 Mis à jour par Joël Cuissinat il y a plus de 6 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 plus de 6 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 plus de 6 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Joël Cuissinat
#4 Mis à jour par Joël Cuissinat il y a plus de 6 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 plus de 6 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) mis à 0.0