编辑:有一种方法可以快速,轻松地完成此操作,无需额外设置.
cat ~firstUser/file | sudo -u secondUser tee ~secondUser/file >/dev/null
这将准确传输所有文件的内容.如果您关心文件权限和/或时间戳与原始文件相匹配,则需要使用chmod和touch分别修复这些权限.
原始答案:
这里的问题是:
> secondUser无权访问您的主目录.
>您无权访问secondUser的主目录.
因此,无论您是以自己还是secondUser运行cp命令,它都无法执行文件复制.
鉴于您说您没有root访问权限,显而易见的答案是通过中间世界可读的位置(如/ tmp)复制文件,并将文件的权限更改为世界可读的.但是,如果文件中的数据是敏感的,则可能不希望这样做,因为服务器上的任何人都可以在传输过程中读取该文件.如果它不是敏感数据,只需:
cp file /tmp/
chmod a+r /tmp/file
sudo -u secondUser cp /tmp/file ~secondUser
rm /tmp/file
如果可以安排,更好的选择是创建一个仅包含you和secondUser的组,并将/ tmp中文件的副本chgrp为该组所有.这样您就不需要使文件具有全局可读性,但只能由组读取(使用chmod g r / tmp / file).但是,groupadd本身需要root访问权限,因此这不太容易安排.根据具体情况(如果您经常尝试与secondUser共享/协作可能适用),您可以考虑让管理员设置此组以供将来使用.