J'ai un certain répertoire dans lequel il y a un projet partagé par plusieurs utilisateurs. Ces utilisateurs utilisent SSH pour accéder à ce répertoire et modifier / créer des fichiers.
Ce projet ne doit être accessible en écriture qu'à un certain groupe d'utilisateurs: appelons-le "mon groupe". Au cours d'une session SSH, tous les fichiers / répertoires créés par l'utilisateur actuel doivent par défaut appartenir au groupe "mygroup" et disposer d'autorisations d'écriture de groupe.
Je peux résoudre le problème des autorisations avec umask
:
$ cd project
$ umask 002
$ touch test.txt
Le fichier "test.txt" est désormais accessible en écriture de groupe, mais appartient toujours à mon groupe par défaut ("mislav", identique à mon nom d'utilisateur) et non à "mon groupe". Je peux chgrp
récursivement définir le groupe souhaité, mais je voulais savoir s'il existe un moyen de définir un groupe implicitement comme umask change les autorisations par défaut pendant une session.
Ce répertoire spécifique est un dépôt git partagé avec une copie de travail et je souhaite git checkout
que les git reset
opérations définissent le masque et le groupe corrects pour les nouveaux fichiers créés dans la copie de travail. Le système d'exploitation est Ubuntu Linux.
Mise à jour: un collègue suggère que je devrais regarder getfacl / setfacl de POSIX ACL mais la solution ci-dessous combinée avec umask 002
dans la session en cours est assez bonne pour moi et est beaucoup plus simple.