mon ancien serveur par défaut à l'un où le script pourrait accéder à écrire dans le dossier
Il s'agit d'une configuration par défaut très précaires. Accessibles au public des répertoires sur un serveur Web devrait toujours être umasked de 022, qui est ce que vous voyez sur le nouveau serveur (mode 777 moins 022 = 755, essentiellement).
Les gens qui vont être le téléchargement de fichiers / dossiers sur le serveur FTP ne sont pas en cours pour savoir comment chmod et je ne m'attends pas à eux.
Les gens de télécharger vers le serveur devrait être signé à leurs comptes dans les dossiers dans lesquels ils ont les permissions d'écriture.
Est-il possible de modifier les autorisations par défaut du dossier téléchargé?
Ou un autre travail autour de
Oui, changer le umask du dossier. Toutefois, à l'installation comme pour une raison. Id proposer une meilleure solution serait de prendre un meilleur aspect à ce que vous faites. Si vous avez besoin des utilisateurs anonymes à télécharger des fichiers, vous devriez peut-être la base de données de ces fichiers au lieu de leur mise sur le système de fichiers
y at-il un moyen de permettre à l'utilisateur "Apache" (à tort classes php qui elle-même comme lors de l'utilisation de commandes FTP, même si connecté en tant que droit de l'utilisateur)
Si PHP est en cours d'exécution dans le cadre du serveur Web, son fonctionnement en tant que quel que soit l'utilisateur apache fonctionne comme (habituellement "apache"). Pour un utilisateur de lancer le script sous leurs propres pouvoirs, Youd soit nécessaire de démarrer Apache fonctionnant sous cet utilisateur (dans httpd.conf) ou à theyd
en réalité connecter sur le serveur et exécuter le script depuis le shell. Dans les deux cas, theyd disposer d'un compte réel sur le serveur, et non pas seulement être un membre de votre site.
vsftpd vous permettra de mettre en place un (tout à fait sûr) d'un serveur FTP qui peut prison vos utilisateurs dans leurs comptes de la maison -, mais encore, les utilisateurs doivent avoir la réalité du système des comptes, et pas seulement avoir une entrée dans une base de données MySQL table quelque part.