Pour faire suite au ticket 1398, je rencontre un problème lors de l’utilisation du script scenariserver4.2-cfg backup pour effectuer la sauvegarde de notre plateforme.
Les journaux scenari remontent l’erreur suivante: 1--- Exception : Thu Apr 20 10:07:16 CEST 2017[930] - chain/admin (http-nio-8080-exec-4) --- Permission not allowed : DO/admin/backup.db/dialog.adminOdb#BackupDb eu.scenari.commons.security.ScSecurityError: Permission not allowed : DO/admin/backup.db/dialog.adminOdb#BackupDb
La commande utilisée est la suivante : /bin/bash -c 'http_proxy="" scenariserver4.2-cfg backup'
Le contenu du fichier /etc/scenariserver4.2/cfg.conf webappUrl=http://127.0.0.1:8080/scenariserver4.2 webappUser=admin webappPasswd=<my_password> dataFolder=/var/lib/scenariserver4.2/data backupFolder=/var/backups/scenari/
Le dossier /var/backups/scenari existe et est accessible par l’utilisateur exécutant le script
Cette même commande a fonctionné hier, et j’ignore ce que j’ai pu modifier qui résulte dans cette erreur…
Il semble que le user « admin » utilisé pour effectuer le backup soit
reconnu et authentifié, mais il n’a pas les droits requis (Permission
not allowed).
Merci de la réponse, je vais vérifier ce point.
Je n’ai pas fait de modification sur l’utilisateur entre l’ancienne et la nouvelle version, mais vais vérifier tout de même.
Effectivement , l’utilisateur ‹ admin › n’avait plus de rôle associé dans l’application.
C’est rectifié, et la commande de sauvegarde fonctionne à présent.
Pour éviter que ce problème se reproduise, il est préférable d’utiliser un compte dédié à ces actions d’administration. Ce compte est alors géré exclusivement dans les fichiers de configuration du serveur, et en aucun cas coté UI.
Dans la configuration par défaut, c’est le compte « system » qui joue ce rôle :
forcedUser : permet de forcer la configuration de ce compte si celle-ci a été altérée lors de chaque re démarrage serveur ;
isReadOnly=« true » : rend toute modification du compte coté interface utilisateur impossible ;
isHidden=« true » : masque l’utilisateur dans les interfaces utilisateur
L’ajout d’un utilisateur de backup doit-il se faire en ajoutant une entrée dans /etc/scenariserver4.2/conf/universe/usermgr/odb/odb.xml ?
Ou bien ailleurs ?
Ensuite, pour changer l’exécution du backup de « admin » à ce nouvel utilisateur, dois-je juste modifier le fichier /etc/scenariserver4.2/cfg.conf ? Dois-je redéployer la webapp ensuite ?
Oui la gestion des utilisateurs par défaut et les mots de passes forcés ce fait bien dans /etc/scenariserver4.2/conf/universe/usermgr/odb/odb.xml
Une fois ce fichier modifié vous devez :
lancer la commande « sudo scenariserver4.2-cfg reconfig » pour que la configuration de scenariserver soit re-écrite
relancer le service Tomcat ou Jetty (ex : « sudo service tomcat8 restart ») pour que la nouvelle configuration soit prise en compte
Pour que la commande modifier le user utilisé par la commande scenariserver4.2-cfg backup il faut en effet modifier le fichier /etc/scenariserver4.2/cfg.conf