J'ai un dossier pour lequel l'autorisation est définie sur 777, mais lorsque j'ajoute des fichiers ou des dossiers dans ce dossier. Les fichiers extraits ou la permission de dossier ne changent jamais. La permission du dossier de destination est 777 et je veux que ce que je vais ajouter dans ce dossier obtienne automatiquement la permission de 777.
Lorsque j'ajoute des fichiers ou des dossiers en extrayant .Zip dans ce dossier, les autorisations pour les dossiers/fichiers extraits ne changent pas automatiquement. Je dois toujours chmod pour ajouter récemment un fichier/dossier!
Ce que vous voulez s'appelle ACL - Listes de contrôle d'accès .
La liste de contrôle d'accès (ACL) fournit un mécanisme d'autorisation supplémentaire, plus flexible, pour les systèmes de fichiers. Il est conçu pour vous aider avec les autorisations de fichiers UNIX. La liste de contrôle d'accès vous permet d'accorder des autorisations pour tout utilisateur ou groupe à n'importe quelle ressource de disque.
Le paquet acl
devrait déjà être installé. Pour le vérifier, exécutez: dpkg -s acl
.
Pour utiliser les ACL, vous devez l'activer pour votre système de fichiers. Mais cela peut être déjà activé . Pour le vérifier, utilisez tune2fs -l
. Remplacez /dev/sda6
par votre système:
$ tune2fs -l /dev/sda6 | grep "Default mount options:"
Default mount options: user_xattr acl
Si vous voyez acl Word, il est déjà activé pour le périphérique /dev/sda6
.
Si vous ne voyez pas acl Word, exécutez tune2fs -o acl /dev/sda6
pour l'activer.
Pour modifier les ACL, utilisez la commande setfacl . Pour ajouter des autorisations, utilisez setfacl -m .
$ setfacl -m "u:username:rwx" /path/to/folder
Ceci définira rwx
ACL, pour l'utilisateur username
sur/chemin/vers/dossier. Cela signifie que tous les fichiers créés dans ce dossier auront l'autorisation rwx
pour username
.
$ setfacl -m "g:groupname:rwx" /path/to/folder
Ceci définira rwx
ACL, pour le groupe groupname
sur/chemin/vers/dossier. Cela signifie que tous les fichiers créés dans ce dossier auront l'autorisation rwx
pour le groupe groupname
.
$ setfacl -m "o:rwx" /path/to/folder
Cela définira rwx
ACL, pour les autres dossiers/path/to/folder. Cela signifie que tous les fichiers créés dans ce dossier auront l'autorisation rwx
pour les autres.
$ getfacl /path/to/folder
$ setfacl -m u:username:rwx,g:groupname:rwx,o:rwx /path/to/folder
The new object inherits the default ACL of the containing directory as its
access ACL.
If no default ACL is associated with a directory, the mode parameter to the func‐
tions creating file objects and the file creation mask (see umask(2)) are used to
determine the ACL of the new object:
The new object is assigned an access ACL containing entries of tag types
ACL_USER_OBJ, ACL_GROUP_OBJ, and ACL_OTHER. The permissions of these entries
are set to the permissions specified by the file creation mask.
Donc, si vous définissez une ACL par défaut, il s'agira de préféré ACL. Cela signifie que si ACL est défini sur user
ou group
, le nouveau fichier créé héritera par défaut acl de toute façon . Soyez prudent avec les ACL par défaut.
Pour définir la valeur par défaut acl, utilisez la touche -d
,
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
ou utilisez default
Word
$ setfacl -m default:u::rwx,default:g::rwx,default:o::rwx /path/to/folder
Soyez prudent avec la définition de la liste de contrôle d'accès par défaut. Par exemple si défini comme ceci:
$ setfacl -d -m o:--x /path/to/folder
et maintenant chercher cette ACL
$ getfacl /path/to/folder
# file: path/to/folder
# owner: c0rp
# group: c0rp
user::rwx
group::rwx
other::--x
default:user::rwx
default:group::rwx
default:other::--x
ACL par défaut pour le groupe et l'utilisateur sera rwx
automatiquement!
$ setfacl -b /path/to/folder
Cela supprimera tous les ACL du dossier
Si vous êtes uniquement utilisateur du système, je vous recommande d'utiliser la liste de contrôle d'accès par défaut.
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
Cela fera ce que vous voulez pour/chemin/vers/dossier
archlinux - https://wiki.archlinux.org/index.php/Access_Control_Lists
help.ubunt - https://help.ubuntu.com/community/FilePermissionsACLs