J'essaie d'apporter des modifications à mon site Web via FTP, mais lorsque j'enregistre des fichiers, les autorisations et le propriétaire sont modifiés en mon nom d'utilisateur. Je peux modifier des fichiers dans le même dossier via Samba sans modifier les autorisations. Je ne comprends vraiment pas comment fonctionnent les autorisations pour le dossier /var/www
et je me tire les cheveux en essayant de le faire fonctionner. J'ai récemment apporté des modifications aux autorisations du répertoire /var/www
(suivant ce guide ) afin de pouvoir modifier les fichiers situés dans la racine www. À l'heure actuelle, tout le contenu de /var/www
est défini comme -rwxrwxr-x 1 www-data www-data
, mais lorsque je modifie un fichier via ftp, il devient -rw------- 1 akbkuku akbkuku
, akbkuku étant mon nom d'utilisateur. J'utilise vsftpd en tant que serveur et je me connecte avec mon utilisateur normal.
Comment puis-je laisser les autorisations seules?
À ce stade, je vais même prendre un moyen de réinitialiser toutes les autorisations et de ne jamais modifier les fichiers de la racine Web.
Les paramètres dépendent du client FTP que vous utilisez. Aussi, dans une certaine mesure, le serveur FTP auquel vous vous connectez.
Habituellement, à partir de la ligne de commande ftp, vous pouvez
Si vous voulez être sûr que le site Web voit vos fichiers, assurez-vous qu'ils sont lisibles par tout le monde (et que les répertoires ont des bits RX définis).
Il pourrait s'agir d'un problème de configuration de vsftpd. Si vous obtenez -rw-------
, peut-être que l'option file_open_mode
est définie sur 0600 ou local_umask
sur 060. De man vsftpd.conf
:
file_open_mode
Les autorisations avec lesquelles les fichiers téléchargés sont créés. Les masques sont appliqués en plus de cette valeur. Vous voudrez peut-être passer à 0777 si vous voulez que les fichiers téléchargés soient exécutables.
Défaut: 0666
local_umask
La valeur que umask pour la création de fichier est définie pour les utilisateurs locaux.
Défaut: 077
Si vous voulez -rw-rw-r--
, vous pouvez essayer de changer une ou les deux options dans /etc/vsftpd.conf
: file_open_mode=0660
, local_umask=066
.
Gardez à l'esprit que ce changement concerne l'ensemble du serveur. Tous les fichiers téléchargés, même en dehors de /var/www
si ce n'est pas le seul répertoire accessible, obtiendront la permission 660, ce qui pourrait ne pas être ce que vous voulez.