Forum Linux.général Droits de lecture/écriture

Posté par  . Licence CC By‑SA.
Étiquettes :
2
13
mai
2017

Bonjour,

J’ai une instance VC1S chez Scaleway, le serveur est Debian Jessie (x86_64-debian-jessie-2016-04-06_15:26).

Sur ça, je fais tourner un serveur fossil : c’est un exécutable autonome qui gère un dépôt, lui aussi un fichier autonome.

Fossil m’indique, dans le panneau d’administration, que :

    WARNING: Device "/dev/null" is not available for reading and writing.
    WARNING: Device "/dev/urandom" is not available for reading. This means that the pseudo-random number generator used by SQLite will be poorly seeded.

Le serveur, appelé fossil, est dans usr/bin.
Le dépôt, appelé repo.fossil, se trouve dans /root/repo.

Pour lancer le serveur, je fais :

    fossil open repo.fossil
    nohup fossil server &

La première commande ouvre le dépôt, le seconde lance fossil en mode serveur.

Dans /dev, entre autres choses, il y a :

    crw-rw-rw- 1 root root 1, 3 Apr 8 2016 null
    crw-rw-rw- 1 root root 1, 9 Apr 8 2016 urandom

L’instance Debian est celle par défaut. Je n’ai procédé à aucune modification… Je me suis contenté de copier fossil dans usr/bin et le dépôt dans /root/repo.

Outre les deux messages d’erreur dans le panneau d’administration, si je clone le dépôt et que je modifie quelque chose, lorsque je commite, fossil, au moment de la synchronisation, m’indique:

    Error: not authorized to write
    Autosync failed.

Une idée de ce qu’il conviendrait de faire ?

  • # utiliser un autre gestionnaire de depot ?

    Posté par  . Évalué à 1.

    Une idée de ce qu’il conviendrait de faire ?

    arreter d'utiliser un "fossile" et utiliser un gestionnaire de depot "moderne" ? :D

  • # etrange tes commandes

    Posté par  . Évalué à 2.

    tu fais un OPEN avant de lancer le serveur ?

    ne faudrait-il pas :
    - lancer le serveur avant de lui passer des commandes
    - faire l'init du depot avant de l'ouvrir
    - puis ouvrir le depot ?

    la documentation ici

    https://www.fossil-scm.org/xfer/doc/trunk/www/quickstart.wiki

    dit
    fossil init nouveauprojet

    • [^] # Re: etrange tes commandes

      Posté par  . Évalué à 1.

      Oui, il faut d’abord ouvrir un dépôt, puisque le serveur se rapporte à un dépôt.
      Ouvrir un dépôt crée les fichiers selon le dernier état du dépôt et crée un fichier temporaire qui signale que le dépôt est ouvert avec des données qui lui sont utiles.

      Le dépôt a été initialisé et rempli avec les fichiers sur mon PC. Puis je l’ai copié sur le serveur, l’ai rouvert et lancé le serveur.

      Avec Fossil, il n’y que 3 fichiers pour tout gérer:
      — l’exécutable,
      — le dépôt, qui est un fichier SQLite,
      — un fichier temporaire SQLite, quand le dépôt est ouvert.

  • # La réponse…

    Posté par  . Évalué à 3.

    On m’a donné la réponse sur la liste de Fossil.

    En fait, il s’avère que Fossil se lance par défaut dans un chroot jail s’il est lancé par root.
    Donc, trois solutions:

    Si on est content du chroot jail, faire:

    mkdir dev
    mknod dev/null c 1 3
    mknod dev/urandom c 1 9

    Si on n’est pas content du chroot jail, lancer le serveur avec l’option --nojail…

    Ou bien, ne pas lancer le serveur avec root mais avec un autre utilisateur. (Option retenue.)

    L’ironie de l’histoire, c’est que je voulais d’abord tester en root pour ne pas être ennuyé par les questions de droit…

  • # merci pour la découverte

    Posté par  (site web personnel) . Évalué à 2.

    Merci pour ce post qui m'a fait découvrir fossil

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.