Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
ACCUEIL UNIX FORUM UNIX AIX BSD LINUX

Gestion des ACLs sous AIX

Date de publication : 22/02/2007

Par Katyucha
 

Cet article a pour but de vous présenter la particularité des acls sous AIX.

               Version PDF   Version hors-ligne

1. Introduction
2. Les outils
3. Edition d'un ACL
4. Réplication et configuration de masse
5. Conclusion


1. Introduction

Les Acls sous AIX ne sont pas Posix, IBM ayant fait le choix de développer un système particulier pour leur UNIX.
Cet article va nous présenter l'utilisation des ACLs IBM. Pour ceux n'ayant pas de connaissances dans les ACLs Posix, je vous propose de lire l'article suivant :Gestion des droits de fichiers : générique et ACL


2. Les outils

3 outils s'offrent à nous : acledit : permet d'éditer les acls d'un fichier (un répertoire n'étant qu'un fichier particulier, nous n'utiliserons que le terme fichier) aclget : permet de voir les acls d'un fichier aclput : permet d'insérer des acls dans un fichier Pour l'utilisation de acledit, un éditeur de texte est requis. je vous propose donc de positionner la variable EDITOR comme suit :
export EDITOR=/bin/vi
J'utilise vi par habitude mais rien ne vous empeche d'utiliser un autre éditeur!


3. Edition d'un ACL

Nous utiliserons l'utilisateur "moi" Pour éditer un ACL, il vous suffit de lancer la commande acledit.
acledit mon_fichier
Nous rentrons dans vi et observons :
attributes:
base permissions
    owner(moi):  rw-
    group(staff):  r--
    others:  r--
extended permissions
    disabled
Le fichier mon_fichier dispose des permissions de bases : rwx pour le owner, group et other. Dans notre cas , moi possede les droits rw, le groupe staff le droit de lecture ainsi que le reste du monde (other). Pour rajouter des acls, il faut tout d'abord les activer:
attributes:
base permissions
    owner(moi):  rw-
    group(staff):  r--
    others:  r--
extended permissions
    enabled
Les permissions sont deux 3 ordres : - permit : Autorise un utilisateur ou un groupe spécifié un type d'accès au fichier - deny : Interdit un utilisateur ou un groupe spécifié un type d'accès au fichier - specify : Spécifie précisement un accès dans un cas bien précis. Pour étudier correctement, ces trois types, je vous propose simplement de prendre l'example du man
attributes: SUID
base permissions:
    owner  (frank): rw-
    group (system): r-x
    others        : ---
extended permissions:
    enabled
        permit    rw-    u:dhs
        deny      r--    u:chas,    g:system
        specify   r--    u:john,    g:gateway, g:mail
        permit    rw-    g:account, g:finance
Allons y au scalpel : Première ligne : le SUID est positionné. Ensuite viens les 3 attributs que nous connaissons tous : Owner, Group et Others Maintenant analysons les 4 lignes d'acls :
permit    rw-    u:dhs
On rajoute à l'utilisateur dhs le droit d'écriture et de lecture
deny      r--    u:chas,    g:system
On supprime à l'utilisateur chas le droit de lecture sur le fichier tant qu'il est membre du groupe system
specify   r--    u:john,    g:gateway, g:mail
Le cas de spécify est un peu spécial. On donne exactement un droit a quelqu'un. Par exemple ici, John tant qu'il est dans le groupe gateway et mail n'a que le droit de lecture. Même s'il fait parti du groupe system, il n'aura pas le droit en écriture (droit que possede ce groupe).

Les droits peuvent vite devenir clairement incompréhensible, donc prenez toujours gars à faire quelque chose de simple.


4. Réplication et configuration de masse

Il est difficile de gérer les droits d'un ensemble de fichiers. En tant qu'administrateur système, je n'ai pas envie de faire 350 acledit pour rajouter à chaque fois les mêmes lignes. Heureusement, AIX pense à nous.
En utilisant la commande aclget, on voit simplement le droits de fichier. Cette commande peut être redirigée dans un fichier.
-bash-3.00$ aclget mon_fichier > acl_fichier
-bash-3.00$ more acl_fichier
attributes:
base permissions
    owner(moi):  rw-
    group(staff):  r--
    others:  r--
extended permissions
    enabled
    permit   rw-     u:ftptest
Pour l'intégrer ces droits à un autre fichier :
-bash-3.00$ touch fichier_s
-bash-3.00$ aclput -i acl_fichier fichier_s
-bash-3.00$ acl
acledit  aclget   aclput
-bash-3.00$ aclget fichier_s
attributes:
base permissions
    owner(jguy):  rw-
    group(staff):  r--
    others:  r--
extended permissions
    enabled
    permit   rw-     u:ftptest
Il est donc facile ensuite d'intégrer cette commande aclput dans une requête find pour ajouter un modèle d'acl sur un ensemble de fichiers.


5. Conclusion

Même si les ACLs d'AIX ne sont pas POSIX, personne peut nier leur facilité et leur puissance. Je ne peux pas conclure sans vous mettre en garde contre la gestion ACLs et des droits de fichiers en général! Une faute et un service peut ne plus fonctionner ou votre sécurité devient compromise!



               Version PDF   Version hors-ligne

Valid XHTML 1.1!Valid CSS!

Les sources présentées sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2007 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Responsable bénévole de la rubrique UNIX : Olivier Van Hoof - Contacter par EMail :
Vos questions techniques : forum d'entraide UNIX - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.