« Gestion des ACL » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
m (Suite)
m (Suite)
Ligne 8 : Ligne 8 :


==Exemple pratique==
==Exemple pratique==
Soit un fichier <code>/var/www/index.php</code> (page d'index d'un site web, par exemple) dont les droits sont les suivants :
Soit un fichier ''/var/www/index.php'' (page d'index d'un site web, par exemple) dont les droits sont les suivants :
<code>$ ls -l /var/www/index.php
<code>$ ls -l /var/www/index.php
-rw-r-----  1 root www-data 18 2005-09-11 11:24 /var/www/index.php
-rw-r-----  1 root www-data 18 2005-09-11 11:24 /var/www/index.php
Ligne 30 : Ligne 30 :


===Noyau===
===Noyau===
Il faut d'abord vérifier si le noyau a été compilé avec le support des ACL. Le plus simple est de le vérifier dans le fichier de configuration du noyau, fichier normalement situé sous <code>/boot</code>. Pour ce faire, utiliser la commande <code>grep</code> :  
Il faut d'abord vérifier si le noyau a été compilé avec le support des ACL. Le plus simple est de le vérifier dans le fichier de configuration du noyau, fichier normalement situé sous ''/boot''. Pour ce faire, utiliser la commande ''grep'' :  
<code>$ grep ACL /boot/config-version-du-noyau</code>
<code>$ grep ACL /boot/config-version-du-noyau
</code>


Elle doit renvoyer la lignes suivantes :  
Elle doit renvoyer la lignes suivantes :  
<code>CONFIG_FS_POSIX_ACL=y</code>
<code>CONFIG_FS_POSIX_ACL=y
pour signaler que le support des ACL est présent et plusieurs lignes du type
</code>
<code>CONFIG_[système de fichiers]_FS_POSIX_ACL=y</code>
pour signaler que le support général des ACL est présent, et plusieurs lignes du type
<code>CONFIG_[système de fichiers]_FS_POSIX_ACL=y
</code>
où ''[système de fichier]'' peut recevoir les valeurs (pour un noyau 2.6.8-2-386 à la date de rédaction) ''EXT3'', ''JFS'' et ''XFS''.  
où ''[système de fichier]'' peut recevoir les valeurs (pour un noyau 2.6.8-2-386 à la date de rédaction) ''EXT3'', ''JFS'' et ''XFS''.  


Si la valeur des options n'est pas correcte, vous devez [[Rubrique : noyau et modules|recompiler votre noyau]].
Si la valeur des options n'est pas correcte, vous devez [[Rubrique : noyau et modules|recompiler votre noyau]]. N'oubliez pas d'au moins prévoir un système de fichiers pour lequel les ACL seront permis.


===Systèmes de fichiers/montage des partitions===
===Systèmes de fichiers/montage des partitions===
Quand le noyau est disposé à gérer les ACL, on doit préparer les partitions montées dans un système de fichiers adapté (par exemple, il est exclu de vouloir utiliser ces permissions avec du ''vfat'').
====Montage et démontage à la volée====
====Configuration automatique====
==Commandes==
==Commandes==


{{Copy|25.10.05|Vincent Ramos|FDL}}
{{Copy|25.10.05|Vincent Ramos|FDL}}

Version du 24 octobre 2005 à 23:37

Les ACL, ou Access Control Lists (en anglais : « listes de contrôle d'accès ») sont, pour les définir grossièrement, des permissions supplémentaires que peuvent recevoir les fichiers. Ils sont conformes aux normes POSIX.

Au moyen des ACL, on peut étendre le nombre d'utilisateurs et de groupes concernés par un même fichier. Rappelons que dans le monde *NIX, chaque fichier ne peut avoir des permissions que pour un utilisateur, un groupe et une catégorie correspondant à « tous les autres ». On se rapproche de cette manière du système de permissions à la Windows NT.

Cet article s'adresse principalement aux utilisateurs de Debian GNU/Linux. Pour les autres distributions, les différences concernent surtout le mode d'installation des programmes nécessaires.

Cet article vise à expliquer la mise en place et l'utilisation fondamentale des ACL sur une machine et non la théorie les concernant.

Exemple pratique

Soit un fichier /var/www/index.php (page d'index d'un site web, par exemple) dont les droits sont les suivants : $ ls -l /var/www/index.php -rw-r----- 1 root www-data 18 2005-09-11 11:24 /var/www/index.php En d'autres termes, root en est le propriétaire ; il peut le lire et le modifier ; le fichier est aussi accordé au groupe www-data (celui sous lequel, par exemple, tourne le serveur web), dont les membres peuvent le lire mais pas le modifier. Quant au reste du monde, il ne peut pas y accéder (le fichier contient des informations confidentielles telles qu'un mot de passe à une base de données MySQL).

Imaginons qu'on veuille rendre le fichier accessible en lecture aux utilisateurs Jean et Luce, en lecture et écriture à Khadija et Alice. On pourrait à la rigueur faire entrer Jean et Luce dans le groupe www-data mais cela introduirait une faille de sécurité car www-data peut accéder des données qui ne les concernent pas. Il n'est en tout cas rationnellement pas prudent d'ajouter Khadija et Alice au groupe root. On ne peut non plus changer les permissions (en lecture et écriture pour tout le monde) ou modifier le propriétaire et le groupe.

Les ACL sont là une solution pratique et facile à gérer dans ce cas ; il suffit d'ajouter des permissions ACL au fichier (grâce à des commandes décrites plus bas) pour qu'il se présente ainsi : root: -rw www-data: -r- Khadija: -rw Alice: -rw Jean: -r- Alice: -r- reste du monde : ---

Mise en place

Selon la version du noyau utilisé, le support des ACL peut ou non être déjà compilé. S'il l'est, il faut aussi que la partition contenant les fichiers dont on veut étendre les droits soit montée avec l'option idoine.

Noyau

Il faut d'abord vérifier si le noyau a été compilé avec le support des ACL. Le plus simple est de le vérifier dans le fichier de configuration du noyau, fichier normalement situé sous /boot. Pour ce faire, utiliser la commande grep : $ grep ACL /boot/config-version-du-noyau

Elle doit renvoyer la lignes suivantes : CONFIG_FS_POSIX_ACL=y pour signaler que le support général des ACL est présent, et plusieurs lignes du type CONFIG_[système de fichiers]_FS_POSIX_ACL=y [système de fichier] peut recevoir les valeurs (pour un noyau 2.6.8-2-386 à la date de rédaction) EXT3, JFS et XFS.

Si la valeur des options n'est pas correcte, vous devez recompiler votre noyau. N'oubliez pas d'au moins prévoir un système de fichiers pour lequel les ACL seront permis.

Systèmes de fichiers/montage des partitions

Quand le noyau est disposé à gérer les ACL, on doit préparer les partitions montées dans un système de fichiers adapté (par exemple, il est exclu de vouloir utiliser ces permissions avec du vfat).

Montage et démontage à la volée

Configuration automatique

Commandes

Copyright

© 25.10.05 Vincent Ramos

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale.