我正在跑步vsftpd
并且有一个具体的问题:
file_open_mode
和选项local_umask
让我配置新创建的文件/文件夹应该具有什么权限。
问题:
我希望新文件使用 0660,但新文件夹使用 0770(所有文件和文件夹都应该可由所有者和组读取和写入 - 文件夹需要该executable
位才能打开它们)
我该如何配置它?
(我搜索了这个论坛、谷歌、vsftpd.man 页面、教程、手册......)
答案1
总结:
和file_open_mode
的默认值将赋予您的文件权限和目录权限。0666
local_umask
0007
0660
0770
文件权限
正如您已经指出的那样,文件是使用 中设置的权限创建的file_open_mode
(由 修改local_umask
)。因此,要获取使用 创建的文件,0660
您可以保留默认值file_open_mode
,并使用 进行修改,以local_umask
获取0007
结果0660
。
目录权限
目录的创建方式0777
由 修改local_umask
。我发现的唯一支持文档是在源代码本身中。由于没有可用的官方浏览器可读源代码,我只能链接到非官方源代码镜像https://github.com/dagwieers/vsftpd/blob/3.0.2/postlogin.c#L1179注释中的“可调 umask”指的是配置local_umask
。
/* NOTE! Actual permissions will be governed by the tunable umask */
retval = str_mkdir(&p_sess->ftp_arg_str, 0777);