Autorisations PHP et linux

Hell0

Nous (notre société) utilisons un CMS pour plusieurs sites Web que nous avons créés. Nous avons rencontré ce problème particulier plusieurs fois maintenant et nous ne pouvons pas penser à un problème.

Voici la description du problème: dans ce cms il est possible de créer des galeries d'images. Lorsque vous créez un dossier pour la galerie via CMS, le dossier est créé par l'user www et ses permissions sont définies sur 0666. Lorsque l'user télécharge des images sur cette galerie à l'aide de sa vue éditeur, les images sont téléchargées dans un dossier précédemment créé et coupées en tailles nécessaires . . Les tabs et autres dossiers sont créés pour contenir des images de différentes tailles.

Si vous créez un dossier pour la galerie via ftp, le propriétaire de la galerie est un user ftp. Si vous définissez manuellement les permissions sur 0666 et que vous téléchargez les files avec les permissions correctes, tout semble être bien. Maintenant, dans la vue publique, si vous choisissez ce dossier précédemment créé comme dossier de votre galerie, le cms ne parvient pas à créer le sous-directory Thomstick (et d'autres sous-directorys requirejs). La seule différence entre les dossiers est le propriétaire des dossiers.

À l'heure actuelle, je tente d'get mes mains sur ce count php de counts d'hébergement. Je suppose que j'aurai plus d'informations alors.

Alan

5 Solutions collect form web for “Autorisations PHP et linux”

Vous avez besoin d'une autorisation d'exécution pour entrer un directory sous Linux. Vous devez donc accorder l'autorisation à 7 (rwx) pour que l'user Web lui permette de créer des sous-directorys.

En fait, pour créer des subdirs, un user n'a besoin que de privilèges wx sur un directory. Pour pouvoir énumérer complètement le contenu du directory, un user a besoin de privilèges rx. Pour créer un directory dans un directory, vous avez définitivement besoin de x.

J'essayerais d'append apache et l'user ftp au même groupe (habituellement www-data), cela résoudrait probablement ceci

Pour que cela fonctionne, vous devrez partager un groupe entre l'user WWW et l'user FTP comme Contentusers . Ensuite, vous devrez modifier le groupe du dossier vers le nouveau groupe de contenu et définir le bit "SetGID" sur le directory (voir plus http://www.greenend.org.uk/rjk/2004/perms.html ). De nouveaux files seront créés avec le groupe approprié.

0666 sont des permissions assez mauvaises pour les directorys, car vous avez besoin de --x--x--x bit pour permettre à quelqu'un de changer dans ce directory. 0777 serait plus approprié (en dehors du fait que 0777 est seulement approprié pour un directory temporaire et même alors il devrait plutôt 2777 pour ce bit collant).

J'ai corrigé un problème similaire avec un logiciel de gestion de projet collaboratif, il suffit de find la class avec une méthode qui crée les dossiers … cela pourrait être facile si le code est bien commenté …

 bool mkdir ( ssortingng $pathname [, int $mode= 0777 [, bool $recursive= false [, resource $context ]]] ) 

Comme vous pouvez le voir dans cette explication simple de la méthode dir dir (trouvée sur http://www.php.net ), lorsque vous le findez, il vous faudra simplement changer le mode $ var dans la valeur souhaitée …

  • Mon phpBB a-t-il été piraté?
  • Ai-je vraiment besoin du travail cron horaire PHP maxlifetime?
  • Enregistrez PHP opcache dans Memcached
  • Dois-je ouvrir 25 ports pour envoyer des emails avec la fonction php mail?
  • Hébergement partagé PHP avec mise en cache opcode (p. Ex. APC)? [fermé]
  • Apache Proxy Server - J'espère que c'est une solution facile
  • Comment configurer un server Web Ubuntu LAMP avec des permissions comme CPanel?
  • Elastic Beanstalk and Worker Tier? (PHP)
  • Limiter certains sites hébergés d'envoyer un courrier sur le server Ubuntu LAMP
  • Le script PHP longue durée se bloque / se termine sur IIS 7.5
  • Comment créer et installer pgsql PHP extension manuellement sur Ubuntu
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.