VSFTPD 对新文件和新目录的默认权限

VSFTPD 对新文件和新目录的默认权限

我正在跑步vsftpd并且有一个具体的问题:

file_open_mode和选项local_umask让我配置新创建的文件/文件夹应该具有什么权限。

问题: 我希望新文件使用 0660,但新文件夹使用 0770(所有文件和文件夹都应该可由所有者和组读取和写入 - 文件夹需要该executable位才能打开它们)

我该如何配置它?

(我搜索了这个论坛、谷歌、vsftpd.man 页面、教程、手册......)

答案1

总结:

file_open_mode的默认值将赋予您的文件权限和目录权限。0666local_umask000706600770

文件权限

正如您已经指出的那样,文件是使用 中设置的权限创建的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);

相关内容