如何通过 scp 覆盖不是所有者的文件,但保留时间戳?

如何通过 scp 覆盖不是所有者的文件,但保留时间戳?

我在远程机器上有 2 个用户(我们称他们为user1user2,他们都属于公共组upload)。

我希望能够通过scp,从不同的机器上传/覆盖文件。其中,机器 1 与用户 1 一起上传,机器 2 与用户 2 一起上传。

机器1:scp -p myfile.txt user1@<ip>:/opt/test/

机器2:scp -p myfile.txt user2@<ip>:/opt/test/

用户 2 的问题:set mode: Operation not permitted。这似乎是由-p标志 (保留时间戳) 引起的。当我删除该参数时,一切正常。

问题:如果我不是所有者,我如何保留时间戳?远程文件应该被覆盖吗?

答案1

如果您上传后无法更改权限或不想这样做,那么您可以使用的另一种方法是先删除文件,然后上传。

要更改权限,您可以打开脚本 ssh 并在文件上运行 chmod g+w。或者您可以设置 umask,以便默认文件创建权限包括写入权限。

相关内容