![如何创建其他用户可以看到的 FTP 投递箱?](https://linux22.com/image/1568309/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E5%85%B6%E4%BB%96%E7%94%A8%E6%88%B7%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E7%9A%84%20FTP%20%E6%8A%95%E9%80%92%E7%AE%B1%EF%BC%9F.png)
免责声明,我不会撒谎,正在重新开始一个我以前无法解决的问题
在 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 用户放入投递箱的文件。