利用 sudo 访问来实现更简单的 rsync?

利用 sudo 访问来实现更简单的 rsync?

我可以作为非特权用户通过 SSH 访问服务器。我在服务器上具有 sudo 访问权限,这允许我su执行root.

我需要从服务器中提取一些文件。这些文件只能由root.

执行此操作的一种方法(没有烦人的 UI 解决方案,请仅使用命令行)是远程登录,使用将sudo文件复制到我的非特权用户的主目录,为我的非特权用户提供文件副本的读取访问权限特权帐户,退出远程 shell,然后用于rsync通过网络拉取文件的副本。

这真的很烦人。是否有更简单的方法来利用sudo访问权限通过网络提取这些文件?


(我有权提取这些文件,但根据公司政策,我可能无法root直接通过网络登录,因为这会妨碍问责 - 没有记录谁以这种方式登录。所以我无法将我的 SSH 密钥添加到文件authorized_keys中.)

答案1

如果您可以在远程上使用 sudo 而不需要密码,您可以简单地将选项添加到普通 rsync--rsync-path=远程命令,例如

rsync -av --rsync-path='sudo rsync' me@remote:/root/ ~/rootcopy/

相关内容