我在我的 Ubuntu 服务器上运行 vsftpd FTP 服务器,但是当我设置我的 Netbeans Web 项目以将文件上传到它时,它会将所有者和组更改为karel:karel
,这非常糟糕,因为www-data
用户现在无法读取文件和网络服务器停止工作。
我使用我的 Ubuntu 帐户“karel”登录到 FTP 服务器,并local_enable
启用。我正在从 Windows 10 机器运行 Netbeans 项目。
是否有在文件上传时禁用所有者和组更改的设置?我需要它留下来karel:www-data
。我已经阅读了这个问题,但所有的答案,包括使用local_umask
设置,只谈论更改文件权限,我的问题是更改它的组。
chown_username
由匿名用户上传,我不想要。如果有帮助,我可以删除用户组karel
,我什么都不需要。
其他解决方案是允许每个人从文件中读取,它只是一个只有我才能访问的虚拟机,但我宁愿以正确的方式进行操作,并且在上传后不更改文件组。例如,WinSCP 不会在上传时更改文件组。
据我所知,在vsftpd 配置中有两个感兴趣的设置:
所以你可以:
www-data
组中(在 Unix/Linux 中没有任何规定要求您的默认组必须与您的 id 相同,并且如果karel
您的服务器上的 id 的主要目的是管理服务器,则将其放入 www-data 组是有意义的) .请注意,在 2020 年,在您和服务器之间共享 Git 存储库并在给定分支上发生操作时使用 Git 挂钩将代码部署到服务器上已成为常见做法。
我没有使用 Netbeans 的经验。但是如果netbeans php插件使用FTP上传文件时如何控制文件权限的答案中的截图是相关的,那么我相信你需要检查:
取消选中该选项时,将创建一个具有默认所有权的新文件。当它被选中时,具有现有所有权的现有文件将被覆盖。什么相当于 WinSCP 行为。
缺点是,您的网站可能会在上传期间停止工作。