GNU/Linux >> Tutoriels Linux >  >> Linux

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

J'ai trouvé :Appliquer les autorisations par défaut

Extrait de l'article :

  1. Définissez le setgid bit, de sorte que les fichiers/dossiers sous seront créés avec le même groupe que

    chmod g+s <directory>
    
  2. Définir les ACL par défaut pour le groupe et autre

    setfacl -d -m g::rwx /<directory>
    setfacl -d -m o::rx /<directory>
    

Ensuite, nous pouvons vérifier :

getfacl /<directory>

Sortie :

# file: ../<directory>/
# owner: <user>
# group: media
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x

Ceci est un ajout à la réponse de Chris, il est basé sur mon expérience sur ma plate-forme Arch Linux.

Utilisation du commutateur par défaut (-d ) et le commutateur de modification (-m ) ne modifiera que les autorisations par défaut mais laissera intactes celles existantes :

setfacl -d -m g::rwx /<directory>

Si vous souhaitez modifier toute la structure des autorisations du dossier, y compris celles existantes (vous devrez créer une ligne supplémentaire et la rendre récursive avec -R ):

setfacl -R -m g::rwx /<directory>

ex.

setfacl -R -m g::rwx /home/limited.users/<directory> // gives group read,write,exec permissions for currently existing files and folders, recursively
setfacl -R -m o::x /home/limited.users/<directory> //revokes read and write permission for everyone else in existing folder and subfolders 
setfacl -R -d -m g::rwx /home/limited.users/<directory> // gives group rwx permissions by default, recursively
setfacl -R -d -m o::--- /home/limited.users/<directory> //revokes read, write and execute permissions for everyone else. 

(CRÉDIT marquer d'écrire dans les commentaires pour la syntaxe de la ligne Révoquer tous les privilèges)


Ajoutez-vous/utilisateur connecté au groupe www-data, afin que nous puissions travailler avec les fichiers créés par le serveur www-data

sudo usermod -a -G www-data $USER

Doit redémarrer/se reconnecter pour que le groupe nouvellement ajouté prenne effet

cd /var/www

Ajoutez www-data en tant que membre du groupe du dossier html et votre utilisateur en tant que propriétaire, afin que nous le possédions ainsi qu'un membre du groupe

sudo chown -R $USER:www-data html

Mettez votre nom d'utilisateur à la place de USER

Définissez les autorisations de lecture, d'écriture et d'exécution selon les besoins, (ugo) u=utilisateur, g=groupe, o=autres

sudo chmod 750 html

Définissez le GID de html, maintenant, les fichiers nouvellement créés en html hériteront des autorisations de propriété :

sudo chmod g+s html

Cela crée les règles par défaut pour les fichiers/répertoires nouvellement créés dans le répertoire html et les sous-répertoires.

sudo setfacl -R -d -m u::rwX -m g::rX -m o::000 html

Faites en sorte que SELinux soit installé, ignorez l'exigence de contexte www-data afin qu'il autorise les autorisations d'écriture

sudo setsebool -P httpd_unified 1

répertorier le répertoire pour voir les nouvelles autorisations appliquées

ls -ld html

Renvoie ceci

drwxrwsr-x+   3 html www-data

Le + à la fin signifie que l'ACL, la liste de contrôle d'accès, est définie sur le répertoire.

Référence :Lien vers le forum


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

  2. Comment restaurer la propriété par défaut du groupe/utilisateur de tous les fichiers sous /var ?

  3. Comment définir le type de fichier par défaut Png pour une analyse simple ?

  4. Découvrez comment modifier les autorisations pour les fichiers et les dossiers

  5. Comment définir le mot de passe des fichiers Zip avec la commande dans tous les systèmes d'exploitation ?

Comment copier des fichiers et des répertoires sous Linux

Comment trouver un fichier sous Linux dans tous les répertoires de manière récursive

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

Comment définir un pseudo par défaut pour les nouvelles connexions irssi ?

Comment forcer des autorisations spécifiques pour les nouveaux fichiers/dossiers sur le serveur de fichiers Linux ?

setfacl pour réinitialiser le fichier aux autorisations par défaut ?