1 votes

Comment fonctionnent les autorisations ?

Je suis tombé sur quelque chose d'étrange (pour moi du moins) en utilisant CloudLinux pour la première fois. Je suis un utilisateur de longue date d'Ubuntu, mais je me considère encore comme un novice.

J'ai installé Nginx avec PHP-FPM sur des serveurs Ubuntu une multitude de fois. Mon approche habituelle est de configurer un utilisateur et de créer un fichier www dans le répertoire personnel de l'utilisateur. Je configurerais l'utilisateur et le groupe de configuration du pool PHP-FPM pour l'utilisateur nouvellement créé et je ferais pointer un VirtualHost Nginx vers le répertoire personnel de l'utilisateur avec la racine du document pointant vers ce répertoire. www quelque part.

Cela a bien fonctionné pour moi sur Ubuntu pendant très, très longtemps.

La semaine dernière, j'ai essayé de configurer la même chose sur CloudLinux (qui, si j'ai bien compris, est une sorte de distribution CentOS).

Le résultat a été tout à fait différent. Je n'ai pas eu de problème pour que Nginx exécute les fichiers PHP, mais j'ai constaté que Nginx ne pouvait pas servir les fichiers statiques (ou d'autres fichiers, non gérés par PHP-FPM). En avançant rapidement dans le débogage, il est apparu que l'option nginx l'utilisateur n'avait pas les droits suffisants pour lire le fichier /home/user/www dossier. La solution rapide pour moi a été de déplacer le www a /var/www/sitename mettre à jour la racine du document dans Nginx et je pourrais être sur mon chemin.

Cela m'a fait réfléchir à la différence réelle. Mon approche sur Ubuntu est-elle même saine (c'est-à-dire sûre) alors que cela n'a pas fonctionné sur une autre distro ?

Pourquoi l'utilisateur de Nginx peut-il, sans problème, lire le contenu du répertoire personnel de mon utilisateur sur Ubuntu, mais pas sur CloudLinux ?

0voto

U. Windl Points 238

Si vous voulez ~user/www pour être lisible par un processus quelconque, assurez-vous que ~user/www a x -permissions (pour tous les répertoires de la racine au répertoire cible). C'est x permet juste d'entrer dans le répertoire, pas de lire le répertoire.

Donc, pour lire le répertoire cible, ajoutez également r permission ( w -pour permettre la création/suppression de fichiers). Si les groupes de ~user/www et le processus ne peuvent pas être appariés facilement, vous pouvez utiliser les ACL (Access Control Lists). Voir getfacl y setfacl pour plus de détails.

Notez que cela concerne le répertoire contenant les fichiers ; n'oubliez pas de définir les permissions pour les fichiers réels également.

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