Comment emprisonner (chroot) un processus?

Bonjour à tous !

Je travaille actuellement sur un projet d’hébergeur, et notre gestionnaire qui permet l’arrêt des serveurs ou le démarrage est nodeJS.

Voila un problème que nous avons rencontrer, et que nous n’arrivons pas à résoudre:

Si un processus X est lancé, il peut lire en dehors de son dossier ou il est lancé. Et c’est ca que nous aimerions éviter.

J’ai chercher un peu au niveau des permissions ou autre, mais je n’arrive à aucun essaie concluant, n’étant pas un expert de cela, je me permet de venir poser la question ici.

Pour le moment on ne fait que des hébergements de jeux (et pas ouvert au public), mais nous avons prévu aussi de faire des hébergeur de site WEB. (J’ai trouvé ca pour les hébergement WEB: https://www.deltasight.fr/php-fpm-chroot-apache-2-4/)

J’ai trouvé ceci: https://stackoverflow.com/questions/15852387/node-prevent-child-process-from-going-in-to-parent-directory mais ca ne marche pas (ou plus ?), j’ai donc tenté de creusé la piste du « chroot » aussi, mais je ne trouve aucune explication.

Merci à vous de votre aide !

Alors toutes mes excuses mais je ne peux que me marrer en croisant le titre de ton post et ton avatar! :rofl:

Le mec original emprisonne tout ce qui bouge et maintenant il s’en prends aux processus de son pc :rofl:

Ok c’est pas correct :crazy_face: :arrow_right: :door:

Ahah pas de soucis :stuck_out_tongue: je comprends :joy: dommage que tu n’es pas là solution en tout cas :frowning:

Oui c’est vrai j’en ai oublié l’important, in-cor-ri-gi-ble! :pensive:

Bref, quand tu dis

tu penses X de Xorg ou X signifie "n’importe lequel dont celui dont tu veux te servir?

Ce processus est-il lancé en root ou en simple utilisateur? Si root, est-il possible de le lancer en simple user selon ce qu’il fait?

Pour essayer de mieux cerner ton problème, je te dois bien ça :wink:

Le X signifie effectivement n’importe quelle processus, lancer via un serveur nodeJS (mais je pense vraiment que mon souci de situe au niveau des permissions).
Par exemple, avec nodeJS on lance deux serveurs Minecraft, l’un dans le dossier /home/mc/1 l’autre dans le dossier /home/mc/2, bah le serveur 2, si il a des plugin ou un jar modifier peut lire et écrire dans le dossier du serveur 1.
Il est lancé par un user bien défini, dans le cas de l’exemple, ça serait mc l’user.

J’espère avoir était plus clair !