1 votes

Apache ne suivra pas les liens symboliques sans propriétaire correspondant même avec SymLinkIfOwnerMatch désactivé?

Je transfère certains comptes d'hébergement de CentOS 6 avec Apache 2.2 à CentOS 7 avec Apache 2.4. Certains de ces comptes font des liens symboliques vers des fichiers via un lien symbolique de répertoire à l'intérieur de DocumentRoot vers des fichiers à l'extérieur de DocumentRoot.

Comme ceci :

root:root /var/lib/common/html/
user:user /home/user/app/           => /var/lib/common/html/
user:user /home/user/html/file.html => /home/user/app/file.html

Cela fonctionne sur Apache 2.2. Sur Apache 2.4, je reçois une réponse 403 permission refusée. Je ne trouve aucune preuve que SymLinkIfOwnerMatch soit défini, seulement FollowSymLinks en greppant les fichiers de configuration. L'erreur 403 disparaît si je définis la propriété de /home/user/html/file.html sur root:root. (Remarquez que la propriété du lien symbolique de répertoire "intermédiaire" n'a pas d'importance. Apache le suivra de toute façon.)

Y a-t-il des situations où Apache 2.4 exigera toujours que la propriété du lien symbolique corresponde ? Il semble que l'accès direct, mod_rewrite et même Alias imposent la correspondance des propriétaires et je ne peux pas comprendre pourquoi.

1voto

jimp Points 628

J'ai compris. Le panneau de contrôle que j'utilise fournit une version modifiée d'Apache avec des correctifs supplémentaires, et il comprend également un fichier harden-symlinks.patch (source). Le correctif suggère qu'une option Apache UnhardenSymLinks est disponible, mais lorsque j'ai essayé, apachectl renvoie une erreur avec Option UnhardenedSymLinks not allowed here. Je l'ai essayé à l'intérieur et à l'extérieur de VirtualHost, à l'intérieur d'un répertoire, mais le test de configuration ne fonctionne nulle part.

Après quelques recherches, il semblerait que ce correctif soit populaire avec la plupart des panneaux de contrôle d'hébergement courants. Si vous en utilisez un, vous utilisez très probablement SymLinksIfOwnerMatch même si vous spécifiez FollowSymLinks dans votre configuration.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X