web-dev-qa-db-fra.com

Définir le groupe par défaut pour l'utilisateur quand ils créent de nouveaux fichiers?

Je me trouve souvent en train de chowner des fichiers tels que je les ai créés avec SSH et ils appartiennent à jm:jm par exemple.

Ensuite, pour autoriser Apache à y accéder, je dois par exemple faire chown jm:www-data.

Je suis sûr que je peux spécifier que lorsque je crée des fichiers, au lieu d'utiliser le groupe sous mon nom, spécifiez un autre?

Ou existe-t-il un meilleur moyen de gérer les utilisateurs/groupes?

34
JM at Work

Si vous voulez que tous les nouveaux fichiers d'un répertoire particulier appartiennent à un groupe particulier, appliquez simplement le bit setgid:

chgrp www-data /some/dir
chmod g+s /some/dir

Si vous souhaitez appliquer ce comportement à une arborescence de répertoires existante, vous pouvez le faire avec find:

find /some/dir -type d -exec chgrp www-data {} +
find /some/dir -type d -exec chmod g+s {} +

(Si les répertoires appartiennent déjà au groupe concerné, vous pouvez omettre la première commande dans ces deux exemples).

68
James Henstridge