linux - 如何将文件复制到远程linux服务器中的共享帐户
问题描述
我们在服务器中有一个多用户共享帐户,每次我通过 ssh 在服务器中登录我自己的帐户并使用sudo -u shared_account -i
登录该帐户时。
现在我想将一些文件复制到共享帐户中,我目前的解决方案是:
scp
通过命令将文件复制到服务器中我自己的帐户- 使用我自己的帐户登录服务器
- 登录共享帐户
- 将我自己帐户中的文件复制到该共享帐户的文件夹中
有什么办法可以直接将文件从本地PC复制到服务器中共享帐户的文件夹中?
服务器的操作系统是Linux,我的本地PC是Mac。
解决方案
ssh
您可以通过和发送存档流sudo
。
tar czf - file1 file2 file3 | ssh remote_system sudo -u shared_account tar xvzf -
您对此答案的评论表明您必须在运行时输入密码sudo
。不幸的是,问题中没有提到这一点。
如果您可以运行打开 TCP 端口的程序,例如netcat
( nc
) 作为共享用户,您可以将其与tar
(或cpio
) 结合使用共享用户的权限和环境直接传输文件。
推荐阅读
- bazel - Bazel规范中的“加载”顺序还是仅仅因为实现?
- sql - SQL 日期分组 - 每个排列
- javascript - 使用给定的列表动态形成对象数组
- flutter - 将选定的 DropDown 值从有状态小部件返回到 MainPage 有状态小部件
- google-cloud-firestore - firebase 中的子集合
- google-maps - 颤振谷歌地图问题
- java - 如果pdf从java代码生成,如何解决损坏的文件pdf?
- ionic-framework - 离子标签不加载页面内容
- gatsby - 当我使用调用 REST API 而不重新启动 Gatsby 的源插件时,如何在 GatsbyJS 中强制刷新数据?
- c# - 为什么将 CosmosClient 声明为私有静态可以解决我的问题?