GNU/Linux >> Tutoriels Linux >  >> Linux

Comment forcer le groupe et les autorisations pour les fichiers créés dans un répertoire spécifique ?

Pour définir le groupe, donnez /var/www le setgid peu :

chgrp www-data /var/www
chmod g+s /var/www

Pour ajuster également les sous-répertoires :find /var/www -type d -exec chmod g+s {} +

Ainsi, tous les fichiers nouvellement créés hériteront du groupe du répertoire parent, au lieu de celui de l'utilisateur.

Pour définir les autorisations de groupe par défaut, vous devrez utiliser des ACL . Définissez une ACL "par défaut" :

setfacl -m "default:group::rwx" /var/www

Pour ajuster également les sous-répertoires :find /var/www -type d -exec setfacl -m d:g::rwx {} +

Remarque :Le système de fichiers doit avoir la prise en charge ACL activée. Parfois, il est activé par défaut; sur ext3 ou ext4 vous pourriez obtenir "Opération non prise en charge", auquel cas il doit être activé manuellement :

  • Pour un système de fichiers actuellement monté :mount -o remount,acl /

  • En permanence – un des méthodes ci-dessous :

    • au niveau fstab :éditez /etc/fstab avoir acl dans le champ des options

    • au niveau du système de fichiers :tune2fs -o acl /dev/diskname


Cela a peut-être bloqué quelques personnes avec la réponse "grawity" sur setgid, si le groupe du dossier est différent du vôtre, vous devrez peut-être exécuter chmod en tant que root, mais vous n'obtiendrez aucune erreur indiquant que vous devez le faire.

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir

$ chmod g+s dir                                    #no errors

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir  #but nothing changed

$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar  9 10:51 nosudo       #and the group is still wrong


$ sudo chmod g+s dir

$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar  9 10:44 dir  #the setgid bit is now on

$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke      0 Mar  9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar  9 10:51 withsudo #and group is set

Linux
  1. Linux - Comment définir les autorisations de fichier par défaut pour tous les dossiers/fichiers d'un répertoire ?

  2. Linux - Problèmes d'autorisations pour le répertoire partagé sur un serveur ?

  3. Comment gérer les autorisations/propriétés des fichiers et des répertoires sous Linux

  4. S'assurer que les nouveaux fichiers d'un répertoire appartiennent au groupe

  5. Comment définir les autorisations de fichier par défaut pour tous les dossiers/fichiers d'un répertoire ?

Comment modifier les autorisations pour les fichiers et les répertoires

Comment copier des fichiers et des répertoires sous Linux

Comment tarer des types de fichiers spécifiques (extensions) dans un répertoire

Comment compter le nombre de fichiers et de sous-répertoires dans un répertoire

Comment différencier un répertoire uniquement pour les fichiers d'un type spécifique ?

Comment configurer les autorisations Linux pour le dossier WWW ?