如何创建其他用户可以看到的 FTP 投递箱?

如何创建其他用户可以看到的 FTP 投递箱?

免责声明,我不会撒谎,正在重新开始一个我以前无法解决的问题

在 Linux 上,我想创建一个 Dropbox,其中 FTP 用户可以写入文件(用户 A),但之后看不到它们,而另一个用户(用户 B)可以读取和操作这些文件。我尝试过组,尝试过将用户 A 的 umask 更改为 777,但最终当用户 A 将文件写入服务器时,只有用户 A 有权访问该文件。是的,用户 B 有权访问该目录,但没有权限访问用户 A 放入目录中的文件。

用户 B 运行一个 Perl 脚本来处理文件中的数据,到目前为止,只有当我以如下方式运行 Perl 脚本时,它才有效,但我们知道这很危险。

我不知道我做错了什么,但我确信这是一件简单的事情。是 ftp 用户配置吗?是目录权限吗?这让我抓狂,

谢谢,

答案1

umask(在配置文件中)很少在 shell 会话(在 FTP 或 sFTP 中)之外工作,除非您使用的程序具有自己的 umask 实现。

如果您使用支持 ACL 的文件系统(并且在启用 ACL 的情况下挂载),则可以在投递箱目录上设置默认权限,以便用户 B 始终可以访问新文件。

setfacl -m -d user:userB:rwx /path/to/dropbox

-m是修改现有的 ACL(如果从头开始,仍然有效)

-d是设置默认值(仅适用于目录),以便所有新文件都继承一组权限。

user:userB:rwx第一个“用户”指定您正在为用户(而不是组)设置权限,userB 是授予访问权限的用户的名称,rwx 是您授予的权限(读/写/执行)。

答案2

关闭这个问题,因为我意识到 FTP 用户有一个 umask,服务器上的用户也有一组不同的 umask。有一次我更改了 FTP 用户的 umask,让其他人有权读取 FTP 用户放入投递箱的文件。

相关内容