>> Mais, en attendant, sur le système debian, les droits sont de 1777 sur
>> les dossiers tmp /tmp et /var/tmp
> À noter, le 1 de départ, le sticky bit, qui veut dire que tout le monde peut 
> créer un fichier
> mais que le fichier créé ne peut ensuite être modifié que par son proprio 
> (`man chmod` pour le
> détail).
>
>> Dès lors, pourquoi le dossier /upload_tmp_dir pour php ne serait t'il
>> pas lui aussi en 1777 ?
> Tout le monde doit pouvoir écrire dans /tmp, c'est l'OS qui te met à dispo un 
> endroit où tu
> peux écrire, mais pour php y'a aucune raison que qqun d'autre que php puisse 
> lire / écrire dans
> un dossier qui lui est réservé.
>
> En général on met ce dossier en 700 ou 750, en mettant en proprio le user qui 
> fait tourner php
> (ça dépend de ton installation de php).


Je vois, merci pour tes explications, ça semble logique.
Donc, dans mon cas, c'est www-data qui fait tourner PHP, avec Apache.

Dès lors, je crée mon dossier dans /var/www/dossier_pour_tmp_php
chown www-data:www-data -R /var/www/dossier_pour_tmp_php/

chmod 750 -R /var/www/dossier_pour_tmp_php

( Ou éventuellement 1750 ? )

ça semble être acceptable comme conf ? Mais, alors, qu'en est t'il si
Joomla me crie une erreur rendant la page inaccessible ?
Je vais sur mon domaine, le site Joomla ne charge plus et affiche Error
Par contre, d'autres contenu sont accessibles ( domaine.ext/phpsecinfo/ )

Idem si je le met en 755.
Le site ne fonctionne que si je met les droits en 777

Après test, je me rend compte que je me trompe ! Le dossier temporaire
était donné à root:root

Maintenant, il est bien donné à www-data:www-data en 750 et le site
Joomla est accessible !


Par contre, depuis phpsecinfo j'ai toujours le message en orange, qui
considère les conditions comme non réalisées :

Notice
upload_tmp_dir is disabled, or is set to a common world-writable
directory. This typically allows other users on this server to access
temporary copies of files uploaded via your PHP scripts. You should set
upload_tmp_dir to a non-world-readable directory

Current Value:  /var/www/dossier_pour_tmp_php (0750)
Recommended Value:      A non-world readable/writable directory


Pour ça, si vous utilisez PHP et que vous pensez que votre configuration
est fonctionnelle, merci de tester ce script, il suffit de le télécharger
https://github.com/ZerooCool/phpsecinfo/tree/phpsecinfo-zeroocool-v0.2.1

Le test est effectué ligne 71 :
https://github.com/ZerooCool/phpsecinfo/blob/phpsecinfo-zeroocool-v0.2.1/20070406-phpsecinfo-v0.2.1/PhpSecInfo/Test/Core/upload_tmp_dir.php

Merci de vos avis.

Répondre à