Propriétaire / autorisations par défaut des fichiers créés via VSFTPD

11

Comment définir les valeurs par défaut des répertoires et fichiers créés sur 775? Ma compréhension est que je dois modifier le umask sur VSFTPD, mais comment savoir à quoi le changer?

Webnet
la source

Réponses:

14

Umask et les autorisations finales dont vous avez besoin doivent totaliser 777. Puisque vous avez besoin de 775 autorisations, vous avez besoin de 777 - 775 = 002 en tant que umask.

Saurabh Barjatiya
la source
1
Attention, ce sont des valeurs octales, donc il se local_umask=002peut que cela ne donne pas les résultats attendus - il vaut mieux préfixer par un '0': local_umask=0002(voir man vsftpd.conf).
Skippy le Grand Gourou
@SkippyleGrandGourou, 002est une valeur octale, n'est-ce pas? Pourquoi ajoutez-vous un autre leader 0?
Jdamian
2
Eh bien, il importe peu pour 002(ne me souviens pas de mes besoins à l'époque), mais il doit par exemple 022(qui sera traité comme base 10 22) vs 0022. De toute façon, ça n'a pas marché pour moi sans ça…
Skippy le Grand Gourou
13

Dans le cas où vous vous demandez où définir votre umask, il peut être défini dans le fichier de configuration vsftpd (/etc/vsftpd.conf) comme anon_umaskpour l'accès anonyme et local_umaskpour les utilisateurs.

Pour que le masque fonctionne correctement (même sans accès anonyme), il semble nécessaire de définir anon_upload_enable=YESet anon_mkdir_write_enable=YES. Si ceux-ci ne sont pas définis, l'écriture, la lecture et l'exécution ne seront pas autorisées pour les groupes ou autres sur les fichiers téléchargés via ftp (même si les privilèges standard peuvent être définis pour autre chose).

Dans votre cas, si vous avez besoin d'un accès authentifié par l'utilisateur, vous devez définir les éléments suivants:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=0002
anon_upload_enable=YES
anon_mkdir_write_enable=YES
file_open_mode=0777

Ici, file_open_modedéfinit le paramètre par défaut des fichiers. 777le rend lisible, inscriptible et exécutable pour tout le monde. Avec local_umaskdéfini sur 002, cela vous donne 775, comme vous l'avez demandé.

Notica par local_umaskdéfaut 077, désactivant les groupes et autres pour accéder aux fichiers de quelque manière que ce soit (c'est pourquoi il est défini ici).

Pour en savoir plus: https://security.appspot.com/vsftpd/vsftpd_conf.html

Niels Abildgaard
la source
Que diriez-vous de définir sur file_open_mode = 7777?
Shicheng Guo
et "sudo chmod -R 777 / mysharedpath"
mesutpiskin
Merci anon_umask
mes