J'ai un serveur fonctionnant buntu 12.10 x64, et la dernière version de vsFTPd.
Mon utilisateur example.com a son dossier d'accueil défini sur /var/www/example.com
,
J'ai créé un dossier public_html à l'intérieur et donné 777
les autorisations et supprimé les autorisations d'écriture du dossier de l'utilisateur domestique. Tout fonctionne bien mais:
Chaque fichier que je télécharge par FTP (à l'aide de SmartFTP) obtient un chmod de 0.
Ma vsftpd.conf
n'avait qu'une seule ligne liée:
local_umask=022.
J'ai essayé de changer pour:
file_open_mode=777
local_umask=002
Ainsi, mes fichiers obtiendraient 775
dès le téléchargement.
Mais seuls mes dossiers téléchargés reçoivent 775
autorisations.
Mes fichiers téléchargés obtiennent 1411 permissions
Quelqu'un peut-il m'aider à résoudre ce problème?
J'ai ma réponse:
Comme le www-data est l'utilisateur responsable du serveur web et votre utilisateur normal est responsable du serveur ftp, vous devez d'abord les faire tous les deux membres du même groupe: le groupe www-data.
Création d'un utilisateur personnalisé:
useradd –d /var/www/asasd.com -g www-data -m yourusername
de cette façon, le répertoire personnel sera le /var/www/asasd.com et votre utilisateur sera dans le www-data groupe.
après cela, modifiez la passe utilisateur en tapant passwd
.
Ensuite, vous devez créer un dossier public_html dans votre dossier personnel yourusername, car le FTP ne pourra pas écrire dans le dossier racine de votre dossier de départ, vous devez créer un sous-dossier.
Supprimez les autorisations d'écriture de votre dossier yourusernamechmod a-w /var/www/asasd.com
Ensuite, appliquez de nouvelles autorisations pour le sous-dossier: chmod -R 775 /var/www/asasd.com/public_html
(notez que vous devez utiliser 775 chmod car vous avez besoin d'autorisations d'écriture de groupe, pas d'autorisations d'écriture utilisateur, comme vous voulez que tout le groupe (ftp et www-data) puisse écrire) Ensuite, possédez le dossier pour le www-datachown -R www-data:www-data /var/www/asasd.com/public_html
De cette façon, vous devez pouvoir utiliser FTP et avoir un serveur Web fonctionnel.
Bonne chance!
Drôle, cette information est si difficile à trouver. Les gens ne partagent-ils plus leurs connaissances?
J'ai fini par utiliser
file_open_mode=0777
local_umask=022
sur le vsftpd.conf. Le problème était que l'utilisateur FTP et l'utilisateur www-data avaient besoin d'autorisations pour écrire, j'ai donc dû joindre www-data et ftpuser au groupe d'utilisateurs www-data, et CHMOD -R 775 tous les fichiers sur/var/www - de cette façon, avec 775 CHMOD, le groupe aurait la permission de lire, écrire et exécuter. Maintenant, cela fonctionne parfaitement.
J'ai également eu un problème comme l'autorisation de fichier est modifiée lorsque je télécharge un fichier via mon ftp. Ceci est corrigé avec un changement de ligne dans mon vsftpd.conf
local_umask=val(like 022,007,etc.,)