无法同步本地和远程目录(“设置时间:不允许操作”)

无法同步本地和远程目录(“设置时间:不允许操作”)

我在使用 NetBeans 或 WinSCP 等软件时遇到了 FTP 错误:每当我尝试从本地 --> 服务器执行文件同步或更新时,客户端都会收到错误消息“设置时间:不允许操作”。

这显然是我配置 Fedora 安装的方式的问题。我登录的用户无法触碰这些文件中的任何一个,尽管他是对这些文件具有读写访问权限的组的一部分。

我确实拥有此服务器的 root/sudo 访问权限。我想知道的是:

a) 是否可能通过允许我的 FTP 用户“touch -t”这些文件来解决此问题?
b) 如何使某个用户能够在文件上设置时间戳,而不授予他们文件所有权(例如,这些文件中的某些文件需要归 Apache 所有,因此我不想 chown 它们)。

提前致谢。

答案1

我想,我有点晚了,但也许有人和我一样偶然发现了这个问题。那么我们开始吧...

正如 mgorven 之前所解释的那样,如果你的 FTP 用户不拥有这些文件,他就不能将时间戳修改为任意时间(还有一个相当详细答案在这里)。

现在对于 WinSCP:您可以在选项 -> 首选项... -> 传输下禁用“保留时间戳”选项。您可以对所有传输配置文件执行相同操作。现在 WinSCP 将不再尝试设置修改时间,而是只使用上传时间(因此这不会改变任何行为,只是让您摆脱错误消息)。但是,这仅适用于单个文件上传。如果您将比较标准设置为修改时间(Martin Prikryl此处确认)。遗憾的是,目前您无法在同步时点击所有错误消息来消除它们。

因为我喜欢同时使用同步和监控(尤其是监控功能在启用选项的情况下实际上更加不完善),所以我提交了此功能请求。除非该规定被接受并实施,否则恐怕没有任何切实可行的方法可以消除这些错误消息。

答案2

只有文件所有者可以更改修改时间,因此您要么需要让 FTP 用户成为文件的所有者,要么阻止 FTP 客户端尝试设置时间。

相关内容