Comme je l'ai déjà dit (et d'autres que moi l'on dit aussi !), on a certains
problèmes au niveau des droits sur les répertoires chez certains hébergeurs.
Entre autre, le filtre reduire_image veut créer des répertoires mais ils ne
sont jamais créés à cause des problèmes de droits.
C'est le cas sur Apinc et, dans un échange avec les admins, voilà ce qu'ils
m'ont dit textuellement :
<citation>
Par défaut sur Apinc, l'umask est 073, ce qui signifie que par défaut,
un répertoire créé sera en rwx---r--.
Mais :
1) On peut modifier l'umask pour le mettre à 0
2) On peut faire un chmod pour changer les droits d'un répertoire après
sa création
J'ai réussi à créer des répertoires en mode 0777 (rwxrwxrwx) avec les
deux bouts de code suivants :
1)
umask(0);
mkdir('test4');
2)
mkdir('test5');
chmod('test5',0777);
Le probleme, c'est plutot de savoir pourquoi tu veux des répertoires en
mode 777. Ca veut dire que n'importe quel utilisateur peut aller
modifier tes fichiers depuis un script PHP de son compte. C'est ton but
?
</citation>
Ne pourrait-on pas faire systématiquement cet umask(0) ? Je ne sais pas à
quoi cela sert mais ils avaient l'air de dire que c'était le B-A-BA de la
sécurité !
Je sais, c'est un serpent de mer... mais cela m'arrangerait qu'on le noie
une bonne fois pour toutes !
Ne pourrait-on pas faire systématiquement cet umask(0) ? Je ne sais pas à
quoi cela sert mais ils avaient l'air de dire que c'était le B-A-BA de la
sécurité !
Effectivement, tu ne sais pas quoi à ça sert
Le umask(0), c'est plutôt le B-A-BA du laxisme, et c'est d'ailleurs pour
ça que SPIP le fait (faisait ?).
Pour résoudre le problème, il faut prendre la routine détection du
spip_loader et la réintégrer dans SPIP sous forme d'une fonction qui
renvoie le bon chmod (et appeler cette fonction aux bons endroits).
Je sais, c'est un serpent de mer... mais cela m'arrangerait qu'on le noie
une bonne fois pour toutes !
Pour résoudre le problème, il faut prendre la routine détection du
spip_loader et la réintégrer dans SPIP sous forme d'une fonction qui
renvoie le bon chmod (et appeler cette fonction aux bons endroits).
Antoine,
je vais peut-être dire une connerie mais ce n'est pas une option qu'on
pourrait activer/désactiver suivant les hébergeurs. car il n'y a pas
qu'Apinc qui a cette limite.
En gros, ce serait bien que ce soit dans le produit !
Je décode pour les non posixiens:
le umask spécifie quelles permissions sont RETIRÉES aux répertoires et fichiers à leur création.
Quand tu met le umask(0) c'est un raccourci pour umask(0000) ça veut dire "ne retire rien".
A ce moment les répertoires sont créés avec les permissions par défaut, qui sont "aucune restriction" sous UNIX
parce que ce système remonte à un temps où internet était moins sauvage
(en fait, internet n'existait même pas, les utilisateurs de la machine _se_parlaient_ ! vous imaginez ! ).
Pour info les fichiers sont créés avec les permissions "droits de lecture et écriture mais pas exécution" pour tous.