Chapitre 24. Listes de contrôle d'accès sous Linux

Table des matières

24.1. Avantages des ACL
24.2. Définitions
24.3. Gestion des ACL
24.4. Prise en charge des ACL dans les applications
24.5. Pour plus d'informations

Résumé

Ce chapitre fournit un résumé rapide des bases et des fonctions des ACL (access control list - liste de contrôle d'accès) POSIX pour systèmes de fichiers Linux. Les ACL peuvent être utilisées comme une extension du concept traditionnel d'autorisation pour les objets Système de fichiers. Les ACL permettent de définir des autorisations plus facilement que le concept d'autorisation traditionnel.

L'expression ACL POSIX laisse entendre qu'il s'agit d'une norme POSIX (interface de système d'exploitation portable) à proprement parler. Les normes en projet POSIX 1003.1e et POSIX 1003.2c ont été retirées pour plusieurs raisons. Néanmoins, les ACL telles qu'on les trouve sur de nombreux systèmes appartenant à la famille UNIX sont basées sur ces projets et l'implémentation des ACL de système de fichiers décrites dans ce chapitre suit également ces deux normes. Vous pouvez les consulter à l'adresse http://wt.xpilot.org/publications/posix.1e/.

24.1. Avantages des ACL

Généralement, trois ensembles d'autorisations sont définis pour chaque objet Fichier sur un système Linux. Ces ensembles comprennent les autorisations de lecture (r), d'écriture (w) et d'exécution (x) pour chacun des trois types d'utilisateurs : le propriétaire du fichier, le groupe et les autres utilisateurs. En outre, il est possible de définir les bits set user id, set group id et sticky. Ce concept simple est parfaitement adapté dans la plupart des cas pratiques. Cependant, pour les scénarios plus complexes ou les applications avancées, les administrateurs système devaient auparavant utiliser un certain nombre d'astuces pour contourner les limitations du concept d'autorisation traditionnel.

Les ACL peuvent être utilisées dans les situations nécessitant une extension du concept d'autorisation de fichier traditionnel. Elles permettent l'assignation d'autorisations à des utilisateurs ou à des groupes particuliers, même si ceux-ci ne correspondent pas au propriétaire d'origine ou au groupe propriétaire. Les listes de contrôle d'accès sont une fonctionnalité du kernel Linux et sont actuellement prises en charge par ReiserFS, Ext2, Ext3, JFS et XFS. Les ACL permettent de réaliser des scénarios complexes sans implémenter des modèles d'autorisation complexes au niveau de l'application.

Les avantages des ACL sont évidents dans certaines situations, comme le remplacement d'un serveur Windows par un serveur Linux. Certains des postes de travail connectés peuvent continuer à fonctionner sous Windows même après la migration. Le système Linux offre des services de fichier et d'impression aux clients Windows à l'aide de Samba. Étant donné que Samba prend en charge les listes de contrôle d'accès, les autorisations utilisateur peuvent être configurées sur le serveur Linux et sous Windows avec une interface utilisateur graphique (uniquement sous Windows NT et versions ultérieures). winbindd permet même d'assigner des autorisations aux utilisateurs qui existent uniquement dans le domaine Windows sans compte sur le serveur Linux.