Scenariserver4.2-cfg backup Erreur 500 ou 403


#1

Bonjour,

Je rencontre le problème suivant sur la config que je suis en train de finir de monter.

  • Installation d’un Scserver DB 4.2 sur une debian 9 via apt install.
  • coté client tout tourne bien
  • Je suis en train d’automatiser les backup avec l’idée d’utiliser des tar incrémentaux pour permettre le retour en arrière heure par heure. Donc avec lancement de la commande scenariserver4.2-cfg backup dans un cron toutes les heures suivie du tar qui va bien.

J’ai pu faire pas mal de tests fonctionnels la semaine dernière et là bizarrement la commande scenariserver4.2-cfg backup me génère à présent des erreurs.

  • J’ai tenté de définir webappUser=admin ou webappUser=system dans le fichier /etc/scenariserver4.2/cfg.conf.
  • J’ai également forcé les mots de passes de ces 2 comptes dans le fichier odbWithLdap.xml via <forcedUser …/>

Quand c’est le compte admin qui est utilisé j’obtiens le message d’erreur suivant :

SCENARIserver 4.2 extras
Backuping SCENARIserver 4.2 database to /var/lib/scenariserver4.2/backup ...
curl: (22) The requested URL returned error: 500

ERROR while putting SCENARIserver 4.2 in backup mode..
Aborting.

avec en log

1--- Error : Thu Feb 21 17:57:08 CET 2019[421] - chain/admin (http-nio-8080-exec-1) ---
Copy file /var/lib/scenariserver4.2/data/db/index.0.ocl failed.

2--- Exception : Thu Feb 21 17:57:08 CET 2019[421] - chain/admin (http-nio-8080-exec-1) ---
Aucun fichier ou dossier de ce type
java.io.IOException: Aucun fichier ou dossier de ce type
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:1012)
    at eu.scenari.orient.service.adminodb.SvcAdminOdb$1.call(SvcAdminOdb.java:146)
    at eu.scenari.orient.service.adminodb.SvcAdminOdb$1.call(SvcAdminOdb.java:130)
    at com.orientechnologies.orient.core.storage.OStorageAbstract.callInLock(OStorageAbstract.java:167)
    at com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.callInLock(ODatabaseWrapperAbstract.java:310)
    at eu.scenari.orient.service.adminodb.SvcAdminOdb.startBackup(SvcAdminOdb.java:130)
    at eu.scenari.orient.service.adminodb.SvcAdminOdbDialog.xExecuteDialog(SvcAdminOdbDialog.java:330)
    at eu.scenari.core.dialog.DialogBase.executeDialog(DialogBase.java:92)

Quand j’utilise le compte system j’obiens :

SCENARIserver 4.2 extras
Backuping SCENARIserver 4.2 database to /var/lib/scenariserver4.2/backup ...
curl: (22) The requested URL returned error: 403

ERROR while putting SCENARIserver 4.2 in backup mode..
Aborting.

et en log

1--- Exception : Thu Feb 21 18:33:48 CET 2019[140] - chain/system (http-nio-8080-exec-7) ---
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
    at eu.scenari.commons.extpoints.ExtPoints.checkPermission(ExtPoints.java:466)
    at eu.scenari.core.universe.Universe.checkPermission(Universe.java:196)
    at eu.scenari.orient.service.adminodb.SvcAdminOdbDialog.xExecuteDialog(SvcAdminOdbDialog.java:329)
    at eu.scenari.core.dialog.DialogBase.executeDialog(DialogBase.java:92)

Rien de méchant pour le moment le serveur n’est pas en exploitation et je peux accéder aux data mais du coup je me demande ce qui a pu se passer, probablement une mauvaise manip de ma part das un fichier de config Qcq.

Si vous aviez une idée…


#2

Salut Franck,

Le compte ‘system’ ne dispose manifestement pas les droits pour permettre de lancer un backup, tu dois donc rester avec le compte ‘admin’.

“Aucun fichier ou dossier de ce type” indique que tu as un problème avec ton dossier cible du backup: ce dossier doit exister en amont, existe-t-il ? Le user avec lequel tu lance le serveur java a-t-il les droits en écriture dessus ?


#3

Bonjour Franck,

Chez nous on tourne avec un compte dédié aux backups qui a les droits gestionnaires sur l’ensemble du serveur, mais cela devrait marcher aussi bien avec le compte admin. (pour le compte system, d’après le message, il n’a pas les droits)

Copy file /var/lib/scenariserver4.2/data/db/index.0.ocl failed
(...)
java.io.IOException: Aucun fichier ou dossier de ce type

Sous quel utilisateur tourne tomcat ? Est-ce que cet user a les droits de lecture sur le fichier, et les droits d’écriture sur le répertoire de destination des backups ? Est-ce que le répertoire de destination existe bien.

a+

Stéphane


#4

Bonjour Sylvain, Stéphane,

Merci pour vos réponses. Concernant system, j’avais testé ça suite à une discussion sur le forum dans laquelle Antoine évoqué ce compte mais ça avait marché avec admin auparavant.
Dans les manip que j’ai faites j’avais changé par mégarde les droits sur le file system et l’utilisateur tomcat8 n’était plus propriétaire des dossiers backup et data mais seulement de leur contenu. En lui redonnant les droits.tout est rentré dans l’ordre.

Merci encore pour votre aide.
Franck