OVH Community, votre nouvel espace communautaire.

php-fpm + umask


sich
07/11/2015, 22h19
J'ai testé les deux pour être sûr, mais il garde l'umask de base... Mais je vais continuer à faire quelques tests, on verra bien ce que ça va donner.
Merci pour toutes ces précisions.

[EDIT]
J'ai essayé de modifier /etc/login.defs pour modifier l'umask, mais je me retrouve toujours avec des fichiers en 644 alors que j'ai configuré l'umask en 007... Je ne sais pas où php-fpm récupère cette donnée, ça doit bien être explicité quelque part.... je vais bien finir par trouver un truc
[/EDIT]

janus57
07/11/2015, 21h14
Bonjour,

PHP tourne sous quel nom ?
celui de l’utilisateur ou apache (www-data) ?

Car je dirais que normalement si il tourne en utilisateur il doit utiliser le umask de l'utilisateur et non celui de base.

Cordialement, janus57

sich
07/11/2015, 18h56
j'ai crée un autre user, pour tester... J'ai mis un umask à 007 via le .bashrc.
Fonctionne très bien quand je crée des fichiers, mais php continu de créer les fichiers en 022...
ça m'embête un peu de passer par une config globale par contre... Je vais tester pour voir mais je ne suis pas fan...
Et je persiste à penser qu'il est important de pouvoir gérer l'umask...

janus57
07/11/2015, 18h14
Bonjour,

non c'est pas tout à fait hors réponse vu que du coup il suffit de modifier l'user qui possède la pool FPM et de le mettre en "0002".
Voir carrément de mettre un umask global à "0002" si cela vous simplifie la vie (echo umask 0002 >>\\n /etc/profile)

Et non c’est pas vraiment une régression vu que maintenant on peu exécuter php hors www-data sans user d’artifice tel que suPHP ou autre.

Cordialement, janus57

sich
07/11/2015, 17h30
non mais ok, mais de toute façon j'aimerai déjà pour commencer configurer les droits pour que tout le monde ne puisse pas lire les fichiers, donc pas de 644 mais du 660. Ensuite lancer php-fpm par un autre utilisateur ne change pas le problème de définir l'umask... C'est un problème à part...
C'est un peu comme demander l'heure et répondre qu'aujourd'hui il fait beau
C'est absolument vrai mais hors sujet

Toutefois merci à toi Janus de prendre le temps de me répondre. Mais j'aimerai vraiment pouvoir maitriser l'umask pour les fichiers crées par php. L'autre solution c'est de passer par un script derrière pour changer les droits des fichiers qui ne vont pas... mais bon, ça fait un peu usine à gaz pour pas grand chose... Surtout que sur apache ça se configurait très facilement.... Un gros retour en arrière sur le coup...

janus57
07/11/2015, 16h40
Citation Envoyé par sich
Définir l'umask par défaut permet de définir les droits avec lesquels les fichiers sont crées par php (fichier de config / upload / etc).
Les droits par défaut sont important quand les services ne sont pas tous utilisés avec le même user. Genre apache avec www-data, php un autre user, sftp de même, etc...
Je vais regarder pour définir des droits dans le pool, voir ce que ça donne.
Bonjour,

oui dans avec PHP-FPM le umask perd sont intérêt vu que l'on peut mettre le droit d’exécution de PHP au nom de l’utilisateur, donc plus de problème de chmod.

Exemple :
Code:
[example.tld]
chdir = /

user = example
group = example

listen = /var/run/php5-fpm_example.tld.sock.
listen.owner = www-data
listen.group = www-data

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
grâce aux ligne en gras PHP () va me retourner ceci :
uid=5004(example) gid=5004(example)
Donc si PHP va créer un noyuveau fichier il appartiendra à l'utilisateur + groupe "example" comme tout le reste du site qui va se trouver dans /home/example/public_html car j'ai configuré apache pour aller chercher les fichier de example.tld dans /home/example/public_html.

Du coup pour ajouter un utilisateur un simple "adduser monuser" suffit et voilà une nouvelle pool FPM au nom de monuser + un nouveau VHost pour ces sites et c'est finit.

Cordialement, janus57

sich
07/11/2015, 09h32
Définir l'umask par défaut permet de définir les droits avec lesquels les fichiers sont crées par php (fichier de config / upload / etc).
Les droits par défaut sont important quand les services ne sont pas tous utilisés avec le même user. Genre apache avec www-data, php un autre user, sftp de même, etc...
Je vais regarder pour définir des droits dans le pool, voir ce que ça donne.

janus57
06/11/2015, 23h19
Bonjour,

faut pas plutôt mettre ça dans la config de la pool FPM ?

P.S. au passage ça sert à quoi ? Car sous PHP-FPM je vois pas trop l'intérêt vu que si j'ai bien compris cela sert à définir les droits par défaut des fichiers crée.

Cordialement, janus57

sich
06/11/2015, 22h47
'jour tt le monde,

Je coince un peu sur la définition de l'umask sur le service php-fpm...
Avant (libapache2-mod-php5) je définissais l'umask dans /etc/apache2/envvars via la ligne toute simple : umask 002

Depuis sur mes nouvelles config je suis passé à apache2+php5-fpm. Evidemment la création de fichiers est désormais faite par php-fpm et non plus apache2. Donc je cherche à définir l'umask quelque part mais rien à faire, ça ne prends pas...

J'ai lu grâce à notre ami google qu'il faut mettre la ligne "umask 0002" dans /etc/init/php5-fpm.conf mais ça prend pas...

Je suis sur une debian jessie avec php5-fpm 5.6 et apache 2.4

Vraiment je coince.... Une âme charitable qui à été confrontée à ce problème et qui a la solution ?