web-dev-qa-db-fra.com

FTP Modifier les autorisations de fichier

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.

1
AkBKukU

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

  1. définissez votre umask pour la session, ou
  2. changer les permissions sur les fichiers/répertoires que vous possédez.

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

2
mdpc

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.

1
sierrasdetandil