web-dev-qa-db-fra.com

Autoriser Apache à accéder à un sous-répertoire d'un répertoire de base sans accéder au répertoire de base

J'utilise Ubuntu 11.04 desktop avec des répertoires personnels cryptés. Je fais du développement sur mon ordinateur et je souhaite que mon répertoire webroot se trouve dans mon répertoire personnel afin qu'il soit crypté avec le reste de mon répertoire personnel. Comme je suis le seul utilisateur de la machine, je veux configurer Apache pour qu'il pointe directement sur cela.

Actuellement, j'ai changé le dossier /var/www en un lien symbolique vers l'espace de travail dans mon répertoire: /home/valorin/workspace

Cependant, cela génère 403 Forbidden erreurs dans Apache.

J'ai ajouté mon utilisateur au groupe www-data et défini les droits de propriété et les autorisations sur le dossier de l'espace de travail:

drwxrwxr-x  2 valorin www-data  4096 2011-04-23 10:02 workspace

Mais la seule façon de le faire fonctionner est de changer mon groupe de répertoires de base en www-data et de définir des autorisations. Je ne veux pas vraiment faire cela car cela signifie qu'Apache a accès à mon répertoire personnel et pourrait éventuellement être utilisé par une personne de mon réseau pour entrer dans mes données personnelles.

Est-ce que quelqu'un sait comment je peux résoudre ce problème?

4
Stephen RC

Vous pouvez laisser votre propriété $ HOME dir seule. Vous n'avez pas besoin de le configurer sur www-data. Ce que vous devez faire est de vous assurer qu'Apache dispose des autorisations nécessaires pour exécuter les droits sur $ HOME et tout ce qui se trouve au-dessus. Donc, vous pourriez faire quelque chose comme ça:

chmod 751 "$HOME"
Sudo chmod 751 /home

Cependant, le fait que $ HOME soit crypté peut poser de gros problèmes pour Apache, à moins que vous ne puissiez le configurer de manière à utiliser la clé de décryptage appropriée.

MODIFIER:

La définition d'autorisations d'exécution sur un répertoire signifie uniquement que vous pouvez accéder à quelque chose à l'intérieur de l'annuaire si vous connaissez déjà son nom et si ce que vous essayez d'accéder dispose également d'autorisations correctes. Donc, définir un x-bit global sur $ HOME ne présente pas un risque important pour la sécurité, à condition que tous vos autres fichiers disposent des autorisations nécessaires. Vous voudrez peut-être examiner votre umask pour en être sûr.

7
Scott Severance