通过 VSFTPD 创建的文件的默认所有者/权限

Web*_*net 15 ftp umask vsftpd

如何将创建的目录和文件的默认值设置为 775 ?我的理解是我需要修改VSFTPD上的umask,但是我怎么知道要改成什么?

Sau*_*iya 21

您需要的 Umask 和最终权限加起来应为 777。由于您需要 775 个权限,因此您需要 777 - 775 = 002 作为 umask。

  • 请注意,这些是八进制值,因此“local_umask = 002”可能不会给出预期的结果 - 您最好在前面加上“0”前缀:“local_umask = 0002”(请参阅​​“man vsftpd.conf”)。 (2认同)
  • 好吧,对于 `002`(当时不记得我的需求)可能无关紧要,但对于例如 `022`(将被视为以 10 为底的 `22`)与 `0022` 来说应该如此。无论如何,没有它它对我不起作用...... (2认同)

小智 16

如果您想知道在哪里设置 umask,可以在 vsftpd 配置文件 (/etc/vsftpd.conf) 中anon_umask为匿名访问和local_umask用户设置。

为了使掩码正常工作(即使没有匿名访问),似乎有必要设置anon_upload_enable=YESanon_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
Run Code Online (Sandbox Code Playgroud)

在这里,file_open_mode设置文件的默认设置。777使它对任何人都可读、可写和可执行。随着local_umask设置002,这给你775,因为你提出要求。

Noticalocal_umask默认为077,禁用组和其他人以任何方式访问文件(因此在此处设置)。

进一步阅读:https : //security.appspot.com/vsftpd/vsftpd_conf.html