web-dev-qa-db-fra.com

vsFTPd les autorisations de fichiers téléchargés par défaut sur Ubuntu ne fonctionnent pas

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?

14
lucasmx

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?

7
lucasmx

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.

11
lucasmx

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.,)

0
vijay