Accorder une autorisation d'écriture par défaut au groupe sur tous les fichiers et dossiers nouvellement créés


15

Disons que nous avons 2 utilisateurs: a et b, qui font tous deux partie du groupe général.

J'aimerais que tout fichier ou dossier créé par A ait une autorisation d'écriture sur le groupe GENERAL.

Comment puis-je le faire?

Par exemple, le fichier nouvellement créé est défini comme:

-rw-r--r-- 1 a general

Cela ne donne pas la permission d'écrire au général du groupe


Vous pourriez être intéressé par cette réponse: stackoverflow.com/questions/3175303/…
Gavriel

2
Je ne veux pas le faire à partir de Java. Ce n'est pas la bonne façon de le faire
Dejel

"Je ne veux pas le faire à partir de Java. Ce n'est pas la bonne façon de le faire." C'est presque une déclaration philosophique. Cela s'applique partout ...
GargantuChet

Réponses:


15

Oui, vous pouvez changer cela umask. Le umaskdétermine quelles sont les autorisations par défaut pour un fichier nouvellement créé.

Vous pouvez ajouter umask g+wà la fin de votre fichier de configuration shell ( ~/.bashrcpar exemple).

Mais en réalité, ce n'est pas une pratique recommandable. Dans le cas où vous souhaitez garantir l'intégrité d'un fichier et que vous oubliez de mettre à jour les permissions du fichier, il sera modifiable par le groupe. C'est contraire au principe de sécurité des «valeurs initiales sécurisées».

Ce que vous pourriez faire à la place, c'est rendre tout le fichier nouvellement créé d'un répertoire spécifique accessible en écriture par le groupe. Vous pouvez le faire en manipulant les ACL du répertoire. Par exemple setfacl -dm u::rw,g::rw,o::r ~/shared,.

Regardez ces articles pour référence: /server/349145/can-i-override-my-umask-using-acls-to-make-all-files-created-in-a-given-director et /programming/580584/setting-default-permissions-for-newly-created-files-and-sub-directories-under-a .


Et si je ne sais pas quel sera le répertoire? Depuis, disons que j'ai le dossier TEST. Tous les fichiers créés par A seront sous TEST. Cependant, il pouvait créer un dossier 20130515 et sous celui-ci pour localiser le fichier nouvellement créé. il devrait donc être pour tout fichier et dossier créé récursivement sous le dossier TEST
Dejel

2
les ACL par défaut héritent des nouveaux sous-répertoires et s'appliquent aux fichiers créés dans ces répertoires. Donc, si vous avez /srv/TESTdéfini les ACL par défaut sur ce répertoire, alors quand /srv/TEST/20130515il aura les mêmes ACL par défaut que le répertoire parent.
Bratchley

Ce pourrait aussi être une bonne idée de s'exécuter sudo chmod g+s [dir]afin que les fichiers appartiennent au groupe
linuxgnuru
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.