Comment fonctionnent local_umask et file_open_mode?

9

J'ai eu quelques problèmes avec les autorisations de fichiers lorsque les utilisateurs locaux ont téléchargé leurs fichiers via vsftp sur un serveur.

Je voulais que les fichiers aient toutes les 766 autorisations. Après beaucoup d'essais et d'erreurs, j'ai découvert que je devais définir les paramètres comme suit:

local_umask=011
file_open_mode=0777

Mais je ne sais pas pourquoi cela se traduit par 766 autorisations. Quelqu'un peut-il expliquer cela?

OrangeTux
la source

Réponses:

11

Le vsftpd daemeon va créer des autorisations de fichiers comme 0777 . De cela, le local_umask( 0011 ) est soustrait. Umask supprime essentiellement les autorisations que vous ne souhaitez pas que les utilisateurs aient. Il en résulte que les autorisations de fichier de l'utilisateur doivent être définies sur 0766 .

Pour plus d'informations, consultez cet article sur les autorisations de fichiers .

Ignacio Vazquez-Abrams
la source
2
Oui j'ai compris ça, je connais le truc. Mais comment ça marche? Pourquoi ne puis-je pas régler seulement 766?
OrangeTux
1

La valeur umask est soustraite du paramètre de mode ouvert. Si vous ne fournissez pas de valeur umask personnalisée, la valeur par défaut (077) est utilisée, ce qui conduit à un résultat non souhaité.

Timo Reimann
la source
-1

Vous obtenez cette permission parce que:

1) En définissant local_umask = 011, vous indiquez au vsftp de définir:

0: lire, écrire et exécuter 1: lire et écrire 1: lire et écrire

C'est égal à chmod 766.

2) Les valeurs de file_open_mode = 0777 ne sont pas analysées,

Vous pouvez trouver ici une très bonne explication de ce qu’est umask et de son utilisation: https://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html

Fernando Kosh
la source
Ce n'est pas une réponse à la question. (1) Le PO veut protéger les fichiers 766 et non 666, vous vous adressez donc au mauvais scénario. (2) L'OP a une configuration qui fonctionne. La question est de savoir pourquoi cela fonctionne. Vous n'avez pas abordé cela.
Scott
Ok, @Scott, a modifié la réponse.
Fernando Kosh