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.