GNU/Linux >> Tutoriels Linux >  >> Cent OS

Centos - Comment les autorisations ACL sont-elles traitées et dans quel ordre s'appliquent-elles à une action utilisateur donnée ?

CentOS 6.4

J'essaie de mieux comprendre comment les règles ACL du système de fichiers sont traitées et dans quel ordre les règles ACL s'appliquent.

Par exemple, supposons que les utilisateurs bob et joe appartiennent à un groupe appelé ventes. Disons également que j'ai un document de vente avec les détails suivants :

[[email protected] ~]# getfacl /home/foo/docs/foo.txt
getfacl: Removing leading '/' from absolute path names
# file: home/foo/docs/foo.txt
# owner: jane
# group: executives
user:: r--
user:bob:rw-
user:joe:rwx
group:sales:rwx
group::r--
mask::rwx
other::---

Ma question est la suivante :comment les autorisations sont-elles traitées dans un exemple comme celui-ci et quels privilèges d'accès sont prioritaires ?

Y a-t-il juste une recherche descendante et quelle que soit la règle qui correspond en premier est celle qui s'applique ?

Ou Linux applique-t-il l'accès en fonction de la règle la plus spécifique pour l'utilisateur en question ? Ou peut-être que la règle la plus restrictive et la plus applicable prime ?

Réponse acceptée :

C'est une sorte de vaste sujet et un peu trop à couvrir ici. Je vous renverrai au livre blanc sur les listes de contrôle d'accès POSIX sur Linux rédigé par Andreas Grünbacher des SuSE Labs. Il couvre assez bien le sujet et le décompose afin que vous compreniez comment fonctionnent les ACL.

Votre exemple

Examinons maintenant votre exemple et décomposons-le.

  • groupe (ventes)
  • membres du groupe de vente (bob, joe)

Maintenant, décomposons les autorisations sur le fichier /home/foo/docs/foo.txt . Les ACL encapsulent également les mêmes autorisations que la plupart des gens devraient connaître sous Unix, principalement les bits Utilisateur, Groupe et Autre. Alors sortons-les d'abord.

user:: r--
group::r--
other::---

Ceux-ci ressembleraient généralement à ceci dans un ls -l :

$ ls -l /home/foo/docs/foo.txt
-r--r----- 1 jane executives 24041 Sep 17 15:09 /home/foo/docs/foo.txt

Vous pouvez voir à qui appartient le fichier et quel est le groupe avec ces lignes ACL :

# owner: jane
# group: executives

Alors maintenant, nous entrons dans le vif du sujet des ACL :

user:bob:rw-
user:joe:rwx
group:sales:rwx

Cela montre que l'utilisateur bob a rw , tandis que l'utilisateur joe a rwx . Il y a aussi un groupe qui a aussi rwx semblable à Joe. Ces autorisations sont comme si la colonne utilisateur dans notre ls -l output avait 3 propriétaires (jane, bob et joe) ainsi que 2 groupes (cadres et ventes). Il n'y a pas de distinction autre que ce sont des ACL.

Enfin le mask ligne :

mask::rwx

Dans ce cas, nous ne masquons rien, c'est grand ouvert. Donc, si les utilisateurs bob et joe ont ces lignes :

user:bob:rw-
user:joe:rwx

Ensuite, ce sont leurs autorisations effectives. Si le masque était comme ça :

mask::r-x

Leurs autorisations effectives ressembleraient alors à ceci :

user:bob:rw-    # effective:r--
user:joe:rwx    # effective:r-x

Il s'agit d'un mécanisme puissant pour réduire les autorisations accordées de manière globale.

Connexes :Debian - Comment boucler le contenu d'une page Web complète ?

REMARQUE : Le propriétaire du fichier et les autres autorisations ne sont pas affectés par le masque de droits effectifs ; toutes les autres entrées le sont ! Donc, en ce qui concerne le masque, les autorisations ACL sont des citoyens de seconde classe par rapport aux autorisations Unix traditionnelles.

Références

  • getfacl(1) – Page de manuel Linux
  • Listes de contrôle d'accès POSIX sur le livre blanc Linux

Cent OS
  1. Journaux Docker :ce qu'ils sont et comment les utiliser (avec exemples)

  2. Comment trouver qui est connecté à votre système et ce qu'il fait

  3. Comment créer et supprimer un groupe d'utilisateurs sous Linux

  4. Priorité de l'utilisateur et du propriétaire du groupe dans les autorisations de fichier ?

  5. CentOS / RHEL :bases d'anacron (Qu'est-ce qu'anacron et comment le configurer)

Qu'est-ce qu'Umask et comment l'utiliser

Comment ajouter un utilisateur à un groupe sur RHEL 8 / CentOS 8

Comment ajouter et supprimer des utilisateurs sur CentOS 8

Comment ajouter et supprimer des utilisateurs sur CentOS 7

Comment activer le quota de disque d'utilisateur et de groupe sur CentOS 7 / RHEL 7

Comment ajouter et supprimer un utilisateur dans CentOS 8