我在远程机器上有 2 个用户(我们称他们为user1
和user2
,他们都属于公共组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,以便默认文件创建权限包括写入权限。