Ho una determinata directory in cui è presente un progetto condiviso da più utenti. Questi utenti utilizzano SSH per ottenere l'accesso a questa directory e modificare / creare file.
Questo progetto dovrebbe essere scrivibile solo per un determinato gruppo di utenti: chiamiamolo "mygroup". Durante una sessione SSH, tutti i file / directory creati dall'utente corrente dovrebbero appartenere per impostazione predefinita al gruppo "mygroup" e disporre di autorizzazioni scrivibili per gruppo.
Posso risolvere il problema delle autorizzazioni con umask
:
$ cd project
$ umask 002
$ touch test.txt
Il file "test.txt" è ora scrivibile in gruppo, ma appartiene ancora al mio gruppo predefinito ("mislav", lo stesso del mio nome utente) e non a "mygroup". Posso chgrp
ricorsivamente impostare il gruppo desiderato, ma volevo sapere c'è un modo per impostare implicitamente un gruppo come umask cambia le autorizzazioni predefinite durante una sessione.
Questa directory specifica è un repository git condiviso con una copia di lavoro e desidero git checkout
e git reset
operazioni per impostare la maschera e il gruppo corretti per i nuovi file creati nella copia di lavoro. Il sistema operativo è Ubuntu Linux.
Aggiornamento: un collega suggerisce che dovrei esaminare getfacl / setfacl di POSIX ACL ma la soluzione di seguito combinata con umask 002
la sessione corrente è abbastanza buona per me ed è molto più semplice.