ProFTPd 和 www-data 组

ProFTPd 和 www-data 组

我想要做的是创建一个 ftp 用户,该用户能够更新和修改 apache2 v2.4(带有 www-data)Web 目录中的文件。

我有一个用户:UserA(名字已更改以保护有罪者)文件夹是 /var/www/vhosts;所有权已更改为 www-data:www-data UserA 已添加到 www-data 组。UserA 的主目录设置为 /var/www/vhosts

我已经安装并运行了 ProFTPd。用户 A 连接正常。

问题在于文件夹/文件的所有权。所有文件都正常设置为 644,所有文件夹都设置为 755。

由于 UserA 不是所有者,因此它属于组策略,并且由于限制而无法添加、删除或修改文件。

有什么方法可以将 UserA 伪装成 www-data,以便他们可以执行这项工作?

我这样想对吗?还有其他方法吗?谢谢 用户通过 FTP 连接到 Web 文件夹

答案1

如果我理解正确的话,您希望通过 FTP 进入您的 Web 服务器并将文件上传到 Web 根目录。文件(和目录?)的所有者和组是www-data:www-data

可能发生的情况(我已经有一段时间没有使用 ProFTP 了)是umask用户 A 在 ProFTP 中的配置与umaskshell 使用的配置不同。这可能会使故障排除变得混乱。

我会尝试以下操作:

  • 添加userAwww-data群组(如您所做的一样)

  • 将模式分配0775vhosts目录(例如chmod 0775:)

  • 应用 SGID(例如chmod g+w+s vhosts:),vhosts以便所有文件都应用组权限

这应该实现:

  • 用户 A 上传了一个文件,该文件归vhosts所有者所有userA,但www-data所有权属于群组

  • 由于vhosts目录没有设置粘滞位(上面设置为0775),组中www-data具有组写访问权限的任何用户都vhosts可以删除/修改该文件

笔记:特别注意apparmor和可能的SElinux。您可能需要调整这些实用程序(如果已安装)的配置,以允许 Web 服务器或 ProtFTP 在那里写入。

笔记:要获得推荐的、安全的 FTP 替代方案,请查看 WinSCP/SFTP。通过生成 OpenSSH 密钥对,您可以将公钥放在www-data用户的主目录中,并在通过 WinSCP 登录时“伪装”为 Web 服务器。这允许进行加密通信、更安全的身份验证,并减少权限调整的繁琐程序。

相关内容