Travailler en groupe

Bonjour,
je travaille sur un projet avec un étudiant, nous avons tous deux accès au projet, mais se posent constamment des problèmes de droits d'accès car nous n'appartenons pas au même groupe. Par exemple:

drwxrwx---+ 13 mhennion mhennion 2,9M Nov  4 09:54 RASflow_IFB
-rw-rw----+  1 mhennion  mhennion  1,9K Oct 16 15:43 SampleSheet.csv
-rw-rw----+  1 ahamraoui ahamraoui   52 Oct 16 15:20 fastq.md5
...

Du coup on jongle avec les chmod, mais ce n'est pas très pratique. Est-ce qu'il est possible de créer des groupes? ou est-ce que vous avez une autre solution pour travailler à plusieurs?
Merci d'avance!

Magali

Bonjour,

Ce n'est en effet pas les groupes telle qu’ils apparaissent avec un ls -l qui gèrent les droits sur les espaces projets.

Pour cela, nous utilisons les ACL.

Et normalement, si votre étudiant a été ajouté à votre projet, vous ne devriez pas avoir à gérer des chown. De quel espace projet s'agit-il ?

OK merci. Ca vient peut-être d'une mauvaise utilisation alors. C'est pour le projet "repeats".
Différents cas:

  • Il clone un repo depuis Github, je ne peux alors pas éditer les fichiers.
  • Il lance un pipeline snakemake qui crée un dossier, je ne peux alors pas écrire dedans.
  • Je copie un fichier depuis un autre projet (mais j'ai peut-être fait cp -p?), il ne peut pas l'ouvrir.
(base) [mhennion @ clust-slurm-client 13:40]$ RASflow_IFB : cat slurm_output/slurm-13* | grep ermission
PermissionError: [Errno 13] Permission denied: '/shared/projects/repeats/RASflow_IFB/results/H9/mapping_hisat2/counting_featureCounts/DEA_DESeq2'
Failed to set marker file for job started ([Errno 13] Permission denied: '/shared/mfs/data/projects/repeats/RASflow_IFB/.snakemake/metadata/L3NoYXJlZC9wcm9qZWN0cy9yZXBlYXRzL1JBU2Zsb3dfSUZCL3Jlc3VsdHMvSDkvbWFwcGluZ19oaXNhdDIvY291bnRpbmdfZmVhdHVyZUNvdW50cy9ERUFfREVTZXEyL1RhYmxlcy9kZWFfbmFpdmVfcHJpbWVkLnRzdg=='). Snakemake will work, but cannot ensure that output files are complete in case of a kill signal or power loss. Please ensure write permissions for the directory /shared/mfs/data/projects/repeats/RASflow_IFB/.snakemake
Fatal error: cannot open file 'scripts/dea_genome.R': Permission denied

Des conseils?

Je confirme que vous avez bien les droits tous les 2 sur ce projet.
Nous allons voir ça rapidement

En fait quand je copie depuis un autre projet, le groupe reste celui du 1er projet (ici bi4edc, auquel mon étudiant n'a pas accès).

[mhennion @ clust-slurm-client 14:27]$ RASflow_IFB : pwd
/shared/projects/repeats/RASflow_IFB
[mhennion @ clust-slurm-client 14:29]$ RASflow_IFB : getfacl /shared/projects/bi4edc/RASflow_IFB/scripts/dea_genome_clean.R
getfacl: Removing leading '/' from absolute path names
# file: shared/projects/bi4edc/RASflow_IFB/scripts/dea_genome_clean.R
# owner: mhennion
# group: mhennion
user::rw-
group::rwx			#effective:rw-
group:bi4edc:rwx		#effective:rw-
mask::rw-
other::---

[mhennion @ clust-slurm-client 14:30]$ RASflow_IFB : cp  /shared/projects/bi4edc/RASflow_IFB/scripts/dea_genome_clean.R scripts/
[mhennion @ clust-slurm-client 14:30]$ RASflow_IFB : getfacl scripts/dea_genome_clean.R 
# file: scripts/dea_genome_clean.R
# owner: mhennion
# group: mhennion
user::rw-
group::rwx			#effective:rw-
group:bi4edc:rwx		#effective:rw-
mask::rw-
other::---

Bonjour @Mag ,

Je n'arrive pas a reproduire le souci sans faire de cp -p, c'est possible que ca ai était fait a un moment et que du coup ca mélange un peu les acl dans l'arborescence du répertoire.

Pour réparer, vous pouvez essayer d'ajouter dans votre .bashrc la fonction suivante :

repairacl () {
   if [ -n "$1" -a -d /shared/projects/"$1" ]
   then
       getfacl /shared/projects/"$1" | setfacl --set-file=- -R /shared/projects/"$1"
   else
       echo 'usage: repairacl <project_name>'
   fi
}

Normalement, si vous avez les bon droits sur les deux projets ca devrait permetre de resoudre le souci, par exemple avec mon compte:

(base) [fgerbes@clust-slurm-client ~]$ getfacl /shared/projects/my_test
getfacl: Removing leading '/' from absolute path names
# file: shared/projects/my_test
# owner: root
# group: root
user::rwx
group::rwx
group:my_test:rwx
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:my_test:rwx
default:mask::rwx
default:other::---

(base) [fgerbes@clust-slurm-client ~]$ cp -rp /shared/projects/taskforce/fge /shared/projects/my_test
(base) [fgerbes@clust-slurm-client ~]$ getfacl /shared/projects/my_test/fge
getfacl: Removing leading '/' from absolute path names
# file: shared/projects/my_test/fge
# owner: fgerbes
# group: fgerbes
user::rwx
group::rwx
group:taskforce:rwx
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:taskforce:rwx
default:mask::rwx
default:other::---

(base) [fgerbes@clust-slurm-client ~]$ repairacl my_test
getfacl: Removing leading '/' from absolute path names
(base) [fgerbes@clust-slurm-client ~]$ getfacl /shared/projects/my_test/fge
getfacl: Removing leading '/' from absolute path names
# file: shared/projects/my_test/fge
# owner: fgerbes
# group: fgerbes
user::rwx
group::rwx
group:my_test:rwx
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:my_test:rwx
default:mask::rwx
default:other::---

(base) [fgerbes@clust-slurm-client ~]$ 

Dites moi si ça fonctionne ou pas :wink: si ça fonctionne pas je changerai les droits en tant que root.

A part ça @gildaslecorguille , je suis plutot contre mettre un cron pour regler ce genre de souci, parcequ'on ne sait pas combien il y'a de fichier dans chacun des repertoires projets et qu'on a vu ailleurs que changer les acl sur une grosse arborscence pouvait etre trés long, trés trés long

On parlait de l'arborescence Conda :wink:

Merci pour votre réponse. La fonction repairacl a l'air d'avoir bien réparé les droits sur le projet (on l'a fait tourné chacun une fois). Je vous tiens au courant si on rencontre encore des soucis. Merci beaucoup!!