Answers:
Umask和所需的最终许可权应总计为777。由于需要775许可权,因此您需要777-775 = 002作为umask。
002
是八进制值,不是吗?为什么要添加另一个领导者0
?
002
(当时我已经不记得我的需求了),但是对于022
(例如,将以10为底22
)vs 0022
. 无论如何,没有它对我来说是行不通的……
如果您想知道在哪里设置umask,可以在vsftpd配置文件(/etc/vsftpd.conf)中对其进行设置,以anon_umask
进行匿名访问和local_umask
用户访问。
为了使掩码正常工作(即使没有匿名访问),似乎有必要设置anon_upload_enable=YES
和anon_mkdir_write_enable=YES
。如果未设置这些选项,则不允许对通过ftp上传的文件上的组或其他文件进行写,读和执行操作(即使可能为其他设置了标准权限)。
对于您的情况,如果需要用户验证的访问权限,则应设置以下内容:
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
在这里,file_open_mode
设置文件的默认设置。777
使任何人都可以读取,写入和执行。随着local_umask
设置002
,这给你775
,因为你提出要求。
local_umask
默认为的Notica 077
,使组和其他人无法以任何方式访问文件(因此在此处设置)。
进一步阅读:https : //security.appspot.com/vsftpd/vsftpd_conf.html
anon_umask
local_umask=002
可能不会给出预期的结果—最好在前缀前加上'0':(local_umask=0002
请参阅参考资料man vsftpd.conf
)。