我已经设置了 SFTP,以便某些用户可以将文件上传到 Web 应用程序可以获取它们的目录。Web 服务器以用户 的身份运行A
,并且为用户 配置了 SFTP B
。
用户A
正在将文件上传到/sftpchroots/filesbyA/
(所有者为root:root
,以启用 chroot)。当然,A
上传后这些文件归 所有者 所有。B
不过,用户必须处理它们,并且需要所有权才能在之后删除它们。
有没有办法设置它,以便将上传到该目录的所有内容(或用户上传的所有内容A
)的所有权更改为用户B
? 或者有没有办法允许B
在不成为所有者的情况下取消文件链接(例如以某种方式设置组权限)?
编辑:事实证明,情况有点微妙。用户将上传包含文件的文件夹。因此,这些文件夹及其内容A
将归 拥有。A
答案1
删除文件只需要对所在目录有写权限。文件本身的所有权和权限均不受影响。
编辑:如果通过 SFTP 创建子目录,可以通过多种方式实现:
- 通过使它们可在全球范围内写入(通常出于安全原因不可取)
- 通过使它们组可写并将 B 添加到组中
- 通过添加授予 B 写权限的 ACL