Tengo un determinado directorio en el que hay un proyecto compartido por varios usuarios. Estos usuarios usan SSH para obtener acceso a este directorio y modificar / crear archivos.
Este proyecto solo debe poder escribirse para un determinado grupo de usuarios: llamémoslo "mygroup". Durante una sesión SSH, todos los archivos / directorios creados por el usuario actual deberían ser propiedad del grupo "mygroup" y tener permisos de escritura grupales.
Puedo resolver el problema de permisos con umask
:
$ cd project
$ umask 002
$ touch test.txt
El archivo "test.txt" ahora se puede escribir en grupo, pero aún pertenece a mi grupo predeterminado ("mislav", igual que mi nombre de usuario) y no a "mygroup". Puedo establecer chgrp
recursivamente el grupo deseado, pero quería saber si hay alguna forma de establecer implícitamente algún grupo como umask cambia los permisos predeterminados durante una sesión.
Este directorio específico es un repositorio git compartido con una copia de trabajo y yo quiero git checkout
y git reset
operaciones para ajustar la máscara correcta y el grupo de nuevos archivos creados en la copia de trabajo. El sistema operativo es Ubuntu Linux.
Actualización: un colega sugiere que debería buscar getfacl / setfacl de POSIX ACL, pero la solución que se muestra a continuación umask 002
en la sesión actual es lo suficientemente buena para mí y es mucho más simple.