ACL Linux. Que sont les ACL Linux et √† quoi servent-elles ? - ūüŹÜ Serveurs g√©r√©s

BLOG

7 décembre 2022

ACL Linux. Que sont les ACL Linux et à quoi servent-elles ?

Surmontez les limitations du syst√®me de fichiers Linux avec les listes de contr√īle d'acc√®s Linux standard POSIX

Liste de contr√īle d'acc√®s Linux-ACL

Les listes de contr√īle d'acc√®s Linux, appel√©es listes de contr√īle d'acc√®s (ACL), sont un outil essentiel pour obtenir un contr√īle plus d√©taill√© et granulaire des autorisations au sein du syst√®me de fichiers Linux. M√™me si elles peuvent sembler complexes au premier abord, les ACL sont essentielles pour g√©rer efficacement les autorisations, en particulier dans un environnement d'entreprise moderne o√Ļ il est crucial de d√©terminer qui peut acc√©der √† des informations sp√©cifiques.

Dans le pass√©, l'acc√®s aux syst√®mes de fichiers Linux √©tait g√©r√© via un syst√®me d'autorisations plus g√©n√©ral et moins sp√©cifique. Toutefois, avec l‚Äô√©volution des besoins des entreprises, il est devenu de plus en plus important de disposer d‚Äôun contr√īle d‚Äôacc√®s plus fin et personnalis√©. Les ACL, une extension de la gestion traditionnelle des autorisations sous Unix, r√©pondent √† ce besoin.

Il est important de noter que le terme ¬ę ACL ¬Ľ peut avoir diff√©rentes significations selon le contexte. Pendant sous Linux, cela fait sp√©cifiquement r√©f√©rence √† la gestion des autorisations du syst√®me de fichiers, dans d'autres domaines, comme dans la gestion de l'acc√®s aux services HTTP, indique le contr√īle de l'acc√®s √† des services ou des ressources sp√©cifiques. Bien que l'acronyme reste le m√™me, sa signification varie selon le contexte d'utilisation.

D'un point de vue historique, POSIX a propos√© quelques versions (POSIX 1003.1e et POSIX 1003.2c) pour √©tendre la gestion des autorisations dans les syst√®mes Unix, mais celles-ci n'ont pas √©t√© finalis√©es. Cependant, bon nombre de ces extensions ont √©t√© publi√©es et adopt√©es par divers syst√®mes Unix, y compris les syst√®mes GNU/Linux. Les extensions appel√©es ¬ę ACL ¬Ľ, ou ¬ę ACL POSIX ¬Ľ dans certains contextes, ne repr√©sentent qu'une partie de ces propositions et sont particuli√®rement pertinentes pour la gestion des autorisations dans les syst√®mes GNU/Linux. Ce chapitre se concentre sur la description et la mise en Ňďuvre des ACL dans de tels syst√®mes.

 

Revoir les bases des autorisations sous Linux

Le système de fichiers Linux nous offre trois types de permissions. Voici une revue simplifiée :

  • U ser (ou utilisateur propri√©taire)
  • G groupe (ou groupe propri√©taire)
  • Autre (tous les autres)

 

Avec ces autorisations, nous pouvons accorder trois (en fait cinq, mais nous y reviendrons dans une minute) types d'acc√®s :

  • Lire _
  • √Čcrire _
  • X ex√©cuter

Ces niveaux d'acc√®s sont souvent ad√©quats dans de nombreux cas. Supposons que vous disposiez d'un r√©pertoire dans lequel r√©sident les fichiers de votre service comptable. Vous pouvez d√©finir ces autorisations sur :

drwxrwxr-x  2 accounting accounting  12 Jan  8 15:13

L'utilisateur du service de comptabilit√© (le propri√©taire de l'utilisateur) peut lire et √©crire dans l'annuaire et les membres du accountinggroupe (ou groupe propri√©taire) peut lire et √©crire. D'autres (utilisateurs n'appartenant pas au service de comptabilit√©) peuvent cependant voir et ex√©cuter ce qu'il y a √† l'int√©rieur, ce que certains pourraient penser que c'est une mauvaise id√©e.

Donc, nous pourrions changer les autorisations en ceci :

drwxrwx---  2 accounting accounting  12 Jan  8 15:13 .

De cette façon, les autres utilisateurs qui ne sont ni propriétaires du dossier ni membres du groupe pourront faire n'importe quoi, car aucune autorisation de lecture, d'écriture ou d'exécution n'est spécifiée.

Activer la prise en charge ACL sous Linux

Pour activer la prise en charge des listes de contr√īle d'acc√®s (ACL) sous Linux, un travail sp√©cifique est requis sur la configuration du syst√®me de fichiers via le /etc/fstab. Ce fichier, situ√© dans le chemin /etc/fstab, joue un r√īle crucial dans la gestion des syst√®mes Linux, car il d√©finit comment les disques durs ou les partitions doivent √™tre automatiquement mont√©s par le syst√®me d'exploitation au d√©marrage et quelles options de montage doivent √™tre appliqu√©es.

Le fichier /etc/fstab contient une s√©rie d'entr√©es, chacune repr√©sentant un p√©riph√©rique de stockage ou une partition, et sp√©cifie comment celles-ci doivent √™tre int√©gr√©es dans le syst√®me de fichiers global. Ces entr√©es incluent des d√©tails tels que l'identifiant unique du p√©riph√©rique, le point de montage dans le syst√®me de fichiers (c'est-√†-dire l'emplacement o√Ļ le contenu du p√©riph√©rique sera accessible), le type de syst√®me de fichiers (tel que ext4, xfs, btrfs, etc.), et un certain nombre d'options de montage.

Pour activer les ACL, il est indispensable d'ajouter l'option acl aux entrées pertinentes du fichier /etc/fstab. Cet ajout indique au système que la prise en charge des ACL doit être activée lors du montage du système de fichiers ou de la partition spécifié. Sans cette spécification, les ACL ne pourraient pas être correctement appliquées ou gérées sur ce système de fichiers ou cette partition particulière, limitant ainsi la capacité d'affiner l'administration des autorisations de fichiers.

Exemple de configuration fstab avec les ACL activées

Voici un exemple de ce √† quoi pourrait ressembler une entr√©e dans le fichier fstab avec les ACL activ√©es :

UUID=1234abcd-12ab-34cd-56ef-1234567890ab /exemple ext4 valeurs par défaut, acl 0 2

Dans cet exemple, nous montons une partition avec UUID 1234abcd-12ab-34cd-56ef-1234567890ab au point de montage /example avec le système de fichiers ext4. L'option defaults applique un ensemble d'options de montage prédéfinies, tandis que acl Activez explicitement la prise en charge des ACL.

Considérations sur les différents systèmes de fichiers

Il est important de noter que même si les systèmes de fichiers comme ext3 ed ext4 exiger l'activation explicite des ACL via fstab, d'autres systèmes de fichiers modernes comme XFS o Btrfs avoir la prise en charge ACL activée par défaut. Cela signifie que pour ces derniers systèmes de fichiers, il n'est pas nécessaire de modifier le fichier fstab pour activer les ACL, sauf si vous souhaitez modifier les paramètres par défaut.

Si vous vous demandez quel syst√®me de fichiers est le plus adapt√© √† vos besoins, lisez notre article sur le sujet : Guide des syst√®mes de fichiers pour Linux

Affichage de l'ACL actuelle

Imaginons un sc√©nario dans lequel nous avons un stagiaire en comptabilit√© nomm√© Kenny, qui a besoin d'acc√©der √† certains fichiers, peut-√™tre ceux de Fred, son manager. Ou encore, imaginez une situation dans laquelle le service commercial a besoin d'acc√©der aux fichiers comptables appartenant √† Fred pour cr√©er des factures permettant √† l'√©quipe de Fred de facturer les clients. Cependant, nous ne souhaitons pas que l'√©quipe commerciale ait acc√®s √† d'autres rapports g√©n√©r√©s par l'√©quipe de Fred. Ces situations posent un d√©fi en termes de gestion des autorisations : dans un syst√®me d'autorisations standard, chaque fichier et r√©pertoire ne peut avoir qu'un seul propri√©taire et un groupe d'utilisateurs associ√©s. C'est dans ces circonstances que les listes de contr√īle d'acc√®s (ACL) Linux deviennent particuli√®rement utiles.

Les ACL nous permettent d'attribuer un ensemble d'autorisations plus d√©taill√© et sp√©cifique √† un fichier ou un r√©pertoire, sans n√©cessairement avoir √† modifier les autorisations et la propri√©t√© sous-jacentes. En pratique, ils nous offrent la possibilit√© d'¬ę ajouter ¬Ľ des acc√®s pour d'autres utilisateurs ou groupes, en plus de ceux d√©j√† existants.

Pour afficher l'ACL actuelle d'un fichier ou d'un répertoire, nous utilisons la commande getfacl. Par example:

[racine]# getfacl / comptabilité
getfacl : Suppression du ¬ę / ¬Ľ initial des noms de chemin absolus
#fichier : comptabilité
# propriétaire : comptabilité
# groupe : comptabilit√©
utilisateur ::rwx
groupe ::rwx
autre::---

Dans cet exemple, nous pouvons voir qu'il n'y a actuellement aucune ACL supplémentaire dans ce répertoire, car les seules autorisations répertoriées sont les autorisations standard pour l'utilisateur, le groupe et autres. Dans ce cas précis, il est normal de s'attendre à cette situation, surtout si le répertoire vient d'être créé dans un environnement de test et qu'aucune autre opération n'a été effectuée autre que l'attribution de propriété.

 

 

Commençons donc par ajouter une ACL par défaut.

Définition d'une ACL sous Linux

La configuration des listes de contr√īle d'acc√®s (ACL) sous Linux offre une flexibilit√© significative dans la gestion des autorisations de fichiers. La syntaxe de d√©finition d'une ACL est structur√©e comme suit :

fichier setfacl [option] [action/spécification]

L'option ¬ę action ¬Ľ peut √™tre -m (√©diteur -x (supprimer), et la sp√©cification indique l'utilisateur ou le groupe suivi des autorisations que vous souhaitez d√©finir. Par exemple, pour d√©finir une ACL par d√©faut sur un r√©pertoire, nous utilisons l'option -d (d√©faut). La commande suivante d√©finit l'ACL par d√©faut sur le r√©pertoire /accounting:

[racine]# setfacl -d -m comptabilité:rwx / comptabilité

Apr√®s avoir ex√©cut√© cette commande, nous pouvons afficher les ACL par d√©faut pour ce r√©pertoire avec :

[racine]# getfacl / comptabilité
# sortir:
#fichier : comptabilité
# propriétaire : comptabilité
# groupe : comptabilit√©
utilisateur :: rwx
groupe ::rwx
autre::---
par défaut: utilisateur :: rwx
par défaut : utilisateur : comptabilité : rwx
par défaut: groupe :: rwx
par défaut: masque :: rwx
par défaut:autre::---

Scénarios d'utilisation des ACL

La syntaxe de d√©finition d'une ACL sous Linux est g√©n√©ralement structur√©e comme suit :

fichier setfacl [option] [action/spécification]

L‚Äô¬ę action ¬Ľ peut √™tre -m (√©diteur -x (suppression). La ¬ę sp√©cification ¬Ľ fait r√©f√©rence √† l'utilisateur ou au groupe suivi des autorisations que vous souhaitez d√©finir. Dans cet exemple, nous utiliserons l'option -d (d√©faut). Pour d√©finir l'ACL par d√©faut d'un r√©pertoire, vous ex√©cuterez la commande :

[racine]# setfacl -d -m utilisateur: comptabilité: rwx / comptabilité

Apr√®s avoir ex√©cut√© cette commande, nous pouvons v√©rifier les ACL par d√©faut pour ce r√©pertoire :

[racine]# getfacl / comptabilité
[root]# getfacl : Suppression du ¬ę / ¬Ľ initial des noms de chemin absolus
#fichier : comptabilité
# propriétaire : comptabilité
# groupe : comptabilit√©
utilisateur :: rwx
groupe ::rwx
autre::---
par défaut: utilisateur :: rwx
par défaut : utilisateur : comptabilité : rwx
par défaut: groupe :: rwx
par défaut: masque :: rwx
par défaut:autre::---

Supposons maintenant que Fred cr√©e un fichier dans ce r√©pertoire :

[fred]$ test tactile
[fred]$ls -la
total 0
drwxrwx---+ 2 comptabilité comptabilité 18 janvier 8 17:51 .
dr-xr-xr-x. 18 racine racine 262 8 janvier 15:13 ..
-rw-rw----+ 1 fred comptabilité 0 8 janvier 17:51 test
[fred]$ test getfacl
# fichier : tester
# propri√©taire : Fred
# groupe : comptabilit√©
utilisateur ::rw-
utilisateur: comptabilité: rwx #effectif: rw-
group::rwx #effectif:rw-

Si au contraire Kenny essaie de créer un fichier, puisqu'il ne fait pas partie du groupe accounting, il n'aura pas la permission. Cependant, nous souhaitons que Kenny ait une expérience professionnelle positive, nous lui accordons donc l'accès à l'annuaire. accounting et on lui permet de créer de nouveaux fichiers :

[root@lab1 comptabilité]# setfacl -m utilisateur:kenny:rwx /accounting
[racine]# getfacl .
# des dossiers: .
# propriétaire : comptabilité
# groupe : comptabilit√©
utilisateur ::rwx
utilisateur:kenny:rwx

Mais si nous ne voulons pas que Kenny cr√©e des fichiers dans le r√©pertoire accounting, mais seulement qu'il lit les fichiers existants et cr√©e de nouveaux fichiers dans son dossier personnel, nous pouvons d√©finir ses autorisations comme ceci :

[root@lab1 comptabilité]# setfacl -m utilisateur:kenny:r-x /accounting
[racine]# getfacl .
# des dossiers: .
# propriétaire : comptabilité
# groupe : comptabilit√©
utilisateur ::rwx
utilisateur:kenny:rx

Nous cr√©ons ensuite un dossier personnel pour Kenny, lui en donnons la propri√©t√© et faisons en sorte que le groupe accounting propri√©taire du groupe, afin que les autres membres du groupe puissent voir ce qu'il contient :

[root@lab1 comptabilité]# mkdir ./kenny
[racine]# chown kenny:comptabilité ./kenny
[racine]# getfacl ./kenny
# fichier : Kenny
# propri√©taire : Kenny
# groupe : comptabilit√©
utilisateur ::rwx
groupe ::rwx

Kenny peut maintenant voir le r√©pertoire accounting, mais ne peut cr√©er des fichiers que dans son propre dossier :

[root@lab1 comptabilité]# sur Kenny
[kenny]$ test tactile
touch : impossible de toucher √† ¬ę test ¬Ľ : autorisation refus√©e
[kenny]$cd ./kenny
[kenny]$ test tactile
[kenny]$ls
test

Si nous accordons √† Kenny une promotion au poste de r√©viseur principal et souhaitons que son travail reste confidentiel, nous pouvons limiter l'acc√®s √† Fred :

[racine]# setfacl -m utilisateur:fred:- ./kenny
[racine]# getfacl ./kenny
# fichier : Kenny
# propri√©taire : Kenny
# groupe : comptabilit√©
utilisateur ::rwx
utilisateur:comptabilité:---
utilisateur:fred:---

Et si nous voulons que personne d'autre que Kenny ne voie son travail ?

[racine]# setfacl -m groupe: comptabilité:- ./kenny
[racine]# getfacl ./kenny
# fichier : Kenny
# propri√©taire : Kenny
# groupe : comptabilit√©
utilisateur :: rwx
groupe:comptabilité:---

Conclusion : comprendre et appliquer les ACL sous Linux

Compte tenu de leur complexité et de leur polyvalence, il est fortement recommandé de consacrer du temps à la lecture et à la compréhension des pages du manuel (man pages) Pour setfacl e getfacl. Ces pages offrent un guide complet et détaillé sur la façon d'utiliser ces outils, y compris les différentes options et indicateurs disponibles, fournissant des exemples pratiques et des explications approfondies.

En plus des fonctionnalités de base, setfacl e getfacl ils offrent un certain nombre d'options avancées qui peuvent être extrêmement utiles dans des scénarios spécifiques. Par exemple, vous pouvez configurer des ACL par défaut pour les nouveaux répertoires et fichiers d'un répertoire, ou gérer les masques ACL qui affectent les autorisations réelles.

Exp√©rimentez dans un environnement contr√īl√©

Pour bien comprendre le fonctionnement des ACL, il est préférable d’expérimenter dans un environnement de test sécurisé. La création de différents scénarios, tels que la gestion des autorisations pour différents utilisateurs et groupes, peut aider à visualiser comment les ACL affectent l'accès aux fichiers et aux répertoires. Ce type de pratique est essentiel pour développer une solide intuition sur comment et quand utiliser les ACL dans des contextes réels.

Applications pratiques

Les ACL peuvent √™tre particuli√®rement utiles dans les environnements multi-utilisateurs, tels que les serveurs d'entreprise, o√Ļ diff√©rents d√©partements ou √©quipes ont besoin d'un acc√®s sp√©cifique √† certains fichiers. Ils sont √©galement essentiels pour la s√©curit√© des donn√©es, vous permettant de restreindre l'acc√®s aux informations sensibles et garantissant que seuls les utilisateurs autoris√©s peuvent modifier ou visualiser certains fichiers.

Prendre en compte les meilleures pratiques

Lorsque vous travaillez avec des ACL, il est important de suivre les meilleures pratiques, par exemple en veillant à ne pas accorder d'autorisations excessives qui pourraient compromettre la sécurité du système. Il est également crucial de suivre les modifications que vous apportez, en particulier dans les environnements de production, afin d'éviter tout problème d'accès ou de sécurité.

conclusion

En conclusion, m√™me si les ACL peuvent sembler intimidantes au premier abord en raison de leur complexit√©, une fois comprises, elles s'av√®rent √™tre un outil indispensable pour une gestion sophistiqu√©e et d√©taill√©e des autorisations sous Linux. Passez du temps √† les comprendre et √† les mettre en pratique pour exploiter pleinement leur potentiel, rendant votre syst√®me plus s√Ľr, plus efficace et adapt√© aux besoins sp√©cifiques de votre environnement de travail.

Vous avez des doutes ? Vous ne savez pas par o√Ļ commencer ? Contactez-nous !

Nous avons toutes les réponses à vos questions pour vous aider à faire le bon choix.

Discute avec nous

Discutez directement avec notre support avant-vente.

0256569681

Contactez-nous par téléphone pendant les heures de bureau 9h30 - 19h30

Contactez-nous en ligne

Ouvrez une demande directement dans l'espace contact.

INFORMATIONS

Managed Server Srl est un acteur italien leader dans la fourniture de solutions syst√®me GNU/Linux avanc√©es orient√©es vers la haute performance. Avec un mod√®le d'abonnement peu co√Ľteux et pr√©visible, nous garantissons que nos clients ont acc√®s √† des technologies avanc√©es en mati√®re d'h√©bergement, de serveurs d√©di√©s et de services cloud. En plus de cela, nous proposons des conseils syst√®me sur les syst√®mes Linux et une maintenance sp√©cialis√©e en SGBD, s√©curit√© informatique, Cloud et bien plus encore. Nous nous distinguons par notre expertise dans l'h√©bergement de CMS Open Source de premier plan tels que WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart et Magento, soutenus par un service d'assistance et de conseil de haut niveau adapt√© aux administrations publiques, aux PME et √† toutes tailles.

Red Hat, Inc. d√©tient les droits de Red Hat¬ģ, RHEL¬ģ, RedHat Linux¬ģ et CentOS¬ģ ; AlmaLinux‚ĄĘ est une marque commerciale d'AlmaLinux OS Foundation ; Rocky Linux¬ģ est une marque d√©pos√©e de la Rocky Linux Foundation ; SUSE¬ģ est une marque d√©pos√©e de SUSE LLC ; Canonical Ltd. d√©tient les droits sur Ubuntu¬ģ ; Software in the Public Interest, Inc. d√©tient les droits sur Debian¬ģ ; Linus Torvalds d√©tient les droits sur Linux¬ģ ; FreeBSD¬ģ est une marque d√©pos√©e de la FreeBSD Foundation ; NetBSD¬ģ est une marque d√©pos√©e de la Fondation NetBSD ; OpenBSD¬ģ est une marque d√©pos√©e de Theo de Raadt. Oracle Corporation d√©tient les droits sur Oracle¬ģ, MySQL¬ģ et MyRocks¬ģ ; Percona¬ģ est une marque d√©pos√©e de Percona LLC ; MariaDB¬ģ est une marque d√©pos√©e de MariaDB Corporation Ab ; REDIS¬ģ est une marque d√©pos√©e de Redis Labs Ltd. F5 Networks, Inc. d√©tient les droits sur NGINX¬ģ et NGINX Plus¬ģ ; Varnish¬ģ est une marque d√©pos√©e de Varnish Software AB. Adobe Inc. d√©tient les droits sur Magento¬ģ ; PrestaShop¬ģ est une marque d√©pos√©e de PrestaShop SA ; OpenCart¬ģ est une marque d√©pos√©e d'OpenCart Limited. Automattic Inc. d√©tient les droits sur WordPress¬ģ, WooCommerce¬ģ et JetPack¬ģ ; Open Source Matters, Inc. d√©tient les droits sur Joomla¬ģ ; Dries Buytaert d√©tient les droits sur Drupal¬ģ. Amazon Web Services, Inc. d√©tient les droits sur AWS¬ģ ; Google LLC d√©tient les droits sur Google Cloud‚ĄĘ et Chrome‚ĄĘ ; Facebook, Inc. d√©tient les droits sur Facebook¬ģ ; Microsoft Corporation d√©tient les droits sur Microsoft¬ģ, Azure¬ģ et Internet Explorer¬ģ ; La Fondation Mozilla d√©tient les droits sur Firefox¬ģ. Apache¬ģ est une marque d√©pos√©e de The Apache Software Foundation ; PHP¬ģ est une marque d√©pos√©e du groupe PHP. CloudFlare¬ģ est une marque d√©pos√©e de Cloudflare, Inc. ; NETSCOUT¬ģ est une marque d√©pos√©e de NETSCOUT Systems Inc. ; ElasticSearch¬ģ, LogStash¬ģ et Kibana¬ģ sont des marques d√©pos√©es d'Elastic NV. Ce site n'est affili√©, sponsoris√© ou autrement associ√© √† aucune des entit√©s mentionn√©es ci-dessus et ne repr√©sente aucune de ces entit√©s de quelque mani√®re que ce soit. Tous les droits sur les marques et noms de produits mentionn√©s sont la propri√©t√© de leurs titulaires respectifs des droits d'auteur. Toutes les autres marques mentionn√©es appartiennent √† leurs titulaires. MANAGED SERVER¬ģ est une marque d√©pos√©e au niveau europ√©en par MANAGED SERVER SRL Via Enzo Ferrari, 9 62012 Civitanova Marche (MC) Italie.

Retour en haut de page