我已经使用 VSFTPD 在 EC2 Linux 机器上设置了一个 FTPS 服务器,我将vsftpd.conf 文件中的file_open_mode
和更改为local_umask
local_umask=0007
file_open_mode=0777
这确实赋予rwx
了所有者和群组根据上传文件的需要(相当于 umask 770=777-007
)。
我有 2 个用户连接到该 ftp 服务器,他们属于同一个 Linux 组ftpusers
。
问题是,当用户 1 将文件上传到服务器时,用户 2 无法使用 curl 检索它,我收到 550 错误:RETR 550 : Unable to open file
,使用 FileZilla 也出现同样的错误。
但是,如果用户 2 以相同的文件权限将文件上传到 ftp 服务器,则用户 1 可以使用 curl 和 filezilla 下载该文件。
我该怎么做才能允许每个用户下载/检索其他用户上传的文件?我已经把他们放在同一个用户组中了。
笔记:如果我将权限设置为 777(每个人的读、写、执行)就可以解决此问题,但这看起来很危险,因为 ftps 服务器将存储一些重要文件。
答案1
找到了解决方案:
我需要chgroup
在感兴趣的文件夹上使用为整个用户组添加访问这些文件夹中的文件的权限。