il n’empêche que le workflow devrait être de mettre à jour le dossier git en tant qu'utilisateur puis de faire les copie dans le système en tant que root, avoir des fichiers avec les permissions root dans /home/ n'est pas conseillé du tout.
C'est ce qu'on fait avec une installation standard : git pull et make en tant qu'utilisateur puis sudo make install qui copie et attribue les bonnes permissions aux fichiers dans les répertoires systèmes.
Dans le cas de jbe ça ressemble fort à un raccourci :
1. on donne les permissions root sur le poste source
2. on copie sur un autre ordi
3. les permissions root sont conservé car l'UID est le même pour tous les root sur tous les postes alors qu'on ne connaît pas l'UID de l’élève qui permettrait d'avoir les permissions correctes.
La solution que je propose :
1. Créer un groupe avec un GID déterminé sur tous les postes y compris la source
2. Ajouter tous les élèves à ce groupe.
3. Attribuer les permissions des fichiers à copier pour ce groupe sur le poste source
4. Copier les fichiers vers les postes élèves
5. Les permission pour le groupe sont conservé (GID similaire) donc les élèves peuvent utiliser les fichiers sans pour autant avoir des permissions root.
Pour créer un groupe avec un gid déterminé :
Code: Select all
sudo addgroup --gid 10001 les_eleves
#et s'y ajouter
sudo adduser $(whoami) les_eleves
Code: Select all
git clone https://github.com/Rentlau/WorkFeature.git workfeature_macro
#la première fois puis git pull
chgrp -R les_eleves ./workfeature_macro
cp workfeature_macro/* ~/.FreeCAD/Macro/
#process de copie vers les postes élèves