GNU/Linux >> Tutoriels Linux >  >> Linux

Puis-je remplacer mon umask à l'aide d'ACL pour rendre lisibles tous les fichiers créés dans un répertoire donné ?

Solution 1 :

Oui, les ACL peuvent le faire.

  1. Assurez-vous que votre système de fichiers est monté avec acl . Pour vérifier cela, tapez mount . Vous devriez voir acl parmi d'autres autorisations, par exemple

    /dev/sda1 on / type ext4 (rw,errors=remount-ro,acl)
    

    S'il n'est pas monté avec acl, ouvrez /etc/fstab , et ajoutez acl à la liste des options :

    # /etc/fstab: static file system information.
    #
    # <file system> <mount point>   <type>   <options>       <dump>  <pass>
    /dev/sda1       /          ext3     noatime,errors=remount-ro,acl 0       1
    

    Maintenant, remontez le système de fichiers en cours d'exécution avec les nouvelles options :

    mount -v -o remount /
    
  2. Installez les utilitaires acl. Sur ubuntu/debian, c'est :

    sudo apt-get install acl
    
  3. Vos nouveaux amis ont setfacl et getfacl . Utilisez setfacl pour changer l'acl par défaut d'un répertoire :

    setfacl -d -m o:r foo
    

    -d définit par défaut, -m modifie acl, et o:r accorde à « autre » le droit de lire. Définir default sur un répertoire équivaut à peu près à définir setgid sur un répertoire, mais au lieu que les fichiers nouvellement créés héritent du groupe, ils héritent de l'acl. Ensemble, setgid et acl peuvent être puissants, car vous pouvez accorder des autorisations par défaut à un groupe et faire en sorte que les fichiers nouvellement créés appartiennent à ce groupe, pour un umask par répertoire efficace basé sur un groupe.

  4. Vérifiez votre travail :ls -l devrait maintenant afficher un "+" supplémentaire indiquant la présence d'acl en plus des autorisations de fichiers standard.

    % ls -la foo/
    drwxr--r--+
    

    Vous pouvez obtenir des informations détaillées sur l'acl en utilisant getfacl .

    % getfacl foo
    # file: foo
    # owner: you
    # group: you
    user::rwx
    group::r--
    other::r--
    default:user::rwx
    default:group::---
    default:other::r--
    

Solution 2 :

Vous pouvez également forcer un umask pour le répertoire en définissant la propriété mask ACL comme ceci :

setfacl -d -m mask:07 .

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

  2. Pourquoi Rm peut-il supprimer les fichiers en lecture seule ?

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

  4. Compter le nombre de fichiers dans un répertoire en utilisant C

  5. Décompressez tous les fichiers dans un répertoire

Utiliser un index pour accélérer grep ?

Comment puis-je copier de manière récursive tous les fichiers pdf d'un répertoire (et de ses sous-répertoires) dans un seul répertoire de sortie?

Pouvez-vous modifier les autorisations sur tous les fichiers sauf un répertoire sous Linux ?

Afficher tous les fichiers du répertoire d'un site Web ?

Supprimer tous les fichiers aléatoires sauf 1000 dans un répertoire

Comment puis-je supprimer tous les fichiers d'un répertoire lorsqu'il signale une liste d'arguments trop longue