View previous topic :: View next topic |
Author |
Message |
digimag Guru
Joined: 14 May 2005 Posts: 451 Location: Toulouse, France
|
Posted: Sat Sep 10, 2005 10:45 am Post subject: [Howto] Organisez votre serveur Web Apache |
|
|
TUTO: Bien organiser votre espace Web avec Apache
Intro : Si vous êtes un utilisateur plutôt paranoïque côté sécurité, je suis pose que votre umask dans /etc/profile est défini sur 077. Ce qui veut dire que tous les fichiers créés par défaut ont comme attributs -rw- --- ---. Personne ne peut lire ou écrire vos fichiers, sauf vous-même et c'est rassurant. Maintenant supposons que vous êtes aussi un développeur web et que vous souhaitez héberger ou tout simplement tester votre site via un serveur local. Dans notre cas, il s'agit d'Apache.
Problème: Lorsque vous créez un nouveau fichier, Celui-ci est par défaut illisible par Apache à cause de ce fameux umask. Mon but est de faire en sorte que seuls les utilisateurs qui appartiennent au groupe www + Apache puissent lire les fichiers.
Comment va-t-on faire?D'abord, lancer Apache avec les droits du groupe www. Ensuite, grâce aux ACL nous allons pouvoir définir les attributs par défaut, malgré ce qui est imposé par umask. Enfin, avec l'attribut SGID nous pourrons forcer chaque fichier créé dans /var/www/ à appartenir au groupe www.
- Installer ACL
Ajouter acl à votre variable USE dans /etc/make.conf
Réinstallez les ebuilds avec le support ACL
Au moins, coreutils et rsync devraient être recompilés. Code: | # emerge -av coreutils rsync | Pour mettre tout à jour, exécutez Code: | # emerge -avuDN world |
Ajoutez le support ACL dans le noyau
Code: | # cd /usr/src/linux && make menuconfig | Choisissez les options suivant le système de fichiers utilisé. Dans mon cas c'est Ext3: Config du noyau wrote: | File systems -->
< * > Ext3 journalling file system support
[ * ] Ext3 extended attributes
[ * ] Ext3 POSIX Access Control Lists | Recompilez le noyau de façon habituelle et réinstallez votre chargeur de démarrage si nécessaire.
Modifiez les options de montage
Avant de redémarrer, il est utile de préciser sur quelles partitions vous souhaitez activer ACL. Modifiez votre /etc/fstab, ajoutez acl en paramètres, exemple: Code: | # <fs> <mountpoint> <type> <opts> <dump/pass>
/dev/hdb1 / ext3 acl,noatime 0 1 |
Redémarrez
Configurez le tout
Créez le groupe www et ajoutez-y les utilisateurs de votre choix. Editez /etc/apache2/conf/apache2 et ajoutez: Code: | User apache
Group www | Il ne reste plus qu'à configurer les accès au repertoire /var/www:
Code: | # cd /var/www
chmod -R go-rwx ./
chown -R root:www ./
chmod +s ./
setfacl -R -m g::rwx ./
setfacl -R -m d:g:www:rwx ./
setfacl -R -m d:g::rwx ./
setfacl -R -m d:o::--- ./
setfacl -R -m o::--- ./ | Voilà, tout devrait fonctionner à présent. Redémarrez apache: Code: | /etc/init.d/apache2 restart |
Appreciez
Et n'hésitez surtout pas de me faire part de vos suggéstions et corrections! Moi-même je viens à peine de comprendre le système de fonctionnement, donc bien sûr tout est à vérifier par vous même
+ merci à Starch de m'avoir mis sur la bonne piste
En savoir plus
- liens
Site officiel sur ACLs: (Anglais) Extended attributes ans ACLs for Linux
Article sur les ACLs: (Français) Linuxfrench.net
- La rapidité d'accès
D'après l'article publié sur Linuxfrench.net, la mise en place des ACLs diminue les performances de façon insensible sur les systèmes de fichiers Ext2 ou Ext3, ce qui n'est pas le cas sur XFS. Si vous utilisez XFS, vous pouvez toutefois créer une partition indépendante pour /car/www en Ext3.
Last edited by digimag on Tue Nov 11, 2008 10:49 am; edited 6 times in total |
|
Back to top |
|
|
TTK Guru
Joined: 02 Mar 2004 Posts: 523
|
Posted: Sat Sep 10, 2005 10:54 am Post subject: |
|
|
Je pige pas tout ...
L'interet des acl ?
Un peu la même problématique: soit un projet "toto" dont les dev souhaitent partager un rep commun /ProjToto.
Je crée un groupe toto, j'y ajoute tous les développeurs, je mets /ProjToto en root:toto rwxrws--- et ça le fait non ? |
|
Back to top |
|
|
digimag Guru
Joined: 14 May 2005 Posts: 451 Location: Toulouse, France
|
Posted: Sat Sep 10, 2005 11:10 am Post subject: |
|
|
TTK wrote: | Je pige pas tout ...
L'interet des acl ?
Un peu la même problématique: soit un projet "toto" dont les dev souhaitent partager un rep commun /ProjToto.
Je crée un groupe toto, j'y ajoute tous les développeurs, je mets /ProjToto en root:toto rwxrws--- et ça le fait non ? | effectivement, rwxrws--- suffirait pour que tous les fichiers et répertoires soient avec le même groupe "toto".
Mais si les développeurs ont par défaut umask=077, que va-tu faire? Redéfinir les permissions sur rw-rw---- à chaque nouveau fichier créé? C'est pas très agréable. ACL peut aussi définir des permissions par défaut dans un répertoire. Le besoin est apparu car il n'est pas possible (à ma connaissance) de définir le umask sur un seul répertoire.
Autre problèmatique, PHP peut aussi créer des fichiers, avec ACL ils auront automatiquement les bonnes permissions
Le Howto est tout à fait inutile si votre umask est inférieur ou égal à 027 |
|
Back to top |
|
|
TTK Guru
Joined: 02 Mar 2004 Posts: 523
|
Posted: Sat Sep 10, 2005 9:04 pm Post subject: |
|
|
Ah ouais, umask 22 ici ...
Un poil parano le 077 quand même non ? Ou alors il faut un groupe par user ... à la mandrake & co.
Je me suis souvent demandé si les ACL ne ralentissaient pas un peu le système. Sous sun os à une certaine époque je jurais que par les ACL mais j'ai jamais testé sous linux. Toujours trouvé une autre solution.
M'enfin bon je comprends mieux l'interêt (indéniable du coup) de ton tuto.
Tshaw |
|
Back to top |
|
|
digimag Guru
Joined: 14 May 2005 Posts: 451 Location: Toulouse, France
|
Posted: Sun Sep 11, 2005 3:32 pm Post subject: |
|
|
Source: Comment fonctionnent les ACL Posix sous Linux... - linuxfrench.net
Côté performance
Encore une fois lexcellent travail réalisé par A. Grünbacher permet dappréhender limpact des ACL sur la rapidité daccès aux systèmes de fichiers et ce en fonction de la plupart des types de système de fichiers. Il ressort de son étude que, sur un type de fichier ext2/ext3 et de façon très générale, la mise en oeuvre des ACL naugmente que de très peu les temps daccès aux fichiers et ne sera que peu perceptible par lutilisateur. En revanche, lutilisation des ACL avec le système de fichiers XFS (surtout 256) semble pénalisante. |
|
Back to top |
|
|
Jacqueline Apprentice
Joined: 28 Jul 2006 Posts: 161 Location: Netherland
|
Posted: Mon Nov 06, 2006 2:10 am Post subject: |
|
|
Bonjour.
Un sujet intéressant ( parmi bien d'autres ). je me suis bien amusée avec les acl, découvertes en passant de la Suse 9.0 à la 9.2, après avoir découvert le sytème des droits de Linux, en créant divers utilisateurs (utilisateur prenant alors le sens d'utilisation différentes de linux : bureautique, bidouilles diverses, etc.. ) et avec des partitions de données communes à plusieurs systèmes ( au diable l'avarice ! , mais c'était dans le but de me familariser avec tout ça ! ) . C'est super les ACL
J'avais donc profité des acl pour donner plus de droits avec les acl à un des user afin de pouvoir faire le ménage dans cette usine à gaz ! ( moi en l'occurence, pour ne pas le faire avec les droits de root, j'aurais pu, mais bon c'est un cas d'école )
Oui mais voilà je me suis retrouvée avec un problème avec plusieurs systèmes pour avoir accès à ces données sur des partitions communes : J'attends surtout une confirmation Les acl , sont bien inscrites physiquement sur les partitions elles mêmes ? ( et dans les rep je suppose ? )
Avec le deuxième système ça ne marchait plus parce que je n'avais pas les mêmes numéros et noms de user et de groupe "privilégié" . j'ai refait les acl , mais ça ne marchait plus dans le premier système, ce qui m'obligeait à standardiser la création des users et des groupes sous les deux systèmes pour contourner ce problème.
Je crois me souvenir que si on met le même nom, ( avec des numéros de user et de groupe différents sur les deux systèmes, selon l'ordre de création ) , c'est le numéro de user correspondant qui l'emporte, comme si le numéro du user du système avec lequel on crée l'acl étendue était inscrit sur la partition....ou dans les répertoires.
Votre sujet me rappelle ce point où je l'avais laissé, avant de prendre une année sabatique ( sans PC ) et j'avais une autre idée plus utile d'application des acl sur des partitions de données communes à plusieurs systèmes.
Ravie d'échanger sur ce sujet...si vous êtes disponible. |
|
Back to top |
|
|
yoyo Bodhisattva
Joined: 04 Mar 2003 Posts: 4273 Location: Lyon - France
|
Posted: Mon Nov 06, 2006 9:57 am Post subject: |
|
|
Bonjour et bienvenue parmis nous !
Jacqueline wrote: | Je crois me souvenir que si on met le même nom, ( avec des numéros de user et de groupe différents sur les deux systèmes, selon l'ordre de création ) , c'est le numéro de user correspondant qui l'emporte, comme si le numéro du user du système avec lequel on crée l'acl étendue était inscrit sur la partition....ou dans les répertoires. | Alors je vais peut-être dire une bêtise (ça sera ni la première ni la dernière ) et d'autres me reprendront si besoin. Il me semble que le nom d'utilisateur et de groupe n'est qu'une astuce pour rendre le système "human readable", un peu comme les arguments "rxw" correspondent à un u/mask. C'est plus simple pour nous. Mais pour la machine se sont les numéros qui comptent (en gros, les numéros sont traduits en noms à l'affichage d'après les fichiers "/etc/passwd" et "/etc/group"). C'est donc forcément le numéro du user correspondant qui "l'emporte" et cela avec ou sans les acl. Il est donc bien utile dans le cas de partitions communes à plusieurs systèmes unix/linux de spécifier les UID/GID à la création des users/groups sur chaque système pour éviter les soucis.
Mes 0.02 cents
Et au fait, bravo et merci pour ce tuto digimag. J'aurai bien aimé que tu détailles un peu les commandes "setfacl" (bon, c'est sûrement dans les liens fournis mais bon, "poil dans la main quand tu nous tiens" ... _________________ La connaissance s'accroît quand on la partage.
JCB |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|