如何以 sudo 用户身份通过​​ scp 或 rsync 下载 root 用户拥有的文件?

如何以 sudo 用户身份通过​​ scp 或 rsync 下载 root 用户拥有的文件?

如何以 sudo 用户身份(非交互方式)root从远程服务器(通过scp或)下载需要权限的文件?rsync

笔记该 sudo 用户未配置为不需要命令密码sudo。并sshpass安装在本地和远程系统上。

下载命令可能如下所示

sshpass -p {sudo-user-pass} scp {sudo-user}@{host}:/path/to/some/root/owned/file.tar.gz ./

此命令会给出“权限被拒绝”错误,因为file.tar.gz该错误由 root 拥有。

为了下载这个文件,sudo用户应该切换到rootsudo -su

那么有没有办法让scpsudorsync用户可以切换到 root 并下载 root 拥有的文件(非交互式)?

答案1

看这个答案。 SCP 本身不允许这样做,但您可以快速执行“ssh sudo cat”来达到相同的效果。对于大量文件来说,它不能很好地扩展,但对于 1 个文件来说,它可能就足够了。

如何 scp 我的用户无法读取但我可以 sudo 的文件?

相关内容