我可以作为非特权用户通过 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/