如何将文件复制到远程 linux 服务器中的共享帐户
how to copy files to a shared account in remote linux server
我们在服务器中有一个多用户共享帐户,每次我在服务器中通过 ssh 登录我自己的帐户并使用 sudo -u shared_account -i
登录该帐户。
现在我想复制一些文件到共享账户,我目前的解决方案是:
- 通过
scp
命令 将文件复制到服务器中我自己的帐户
- 用自己的账号登录服务器
- 登录共享帐户
- 将我自己帐户中的文件复制到该共享帐户的文件夹中
有什么方法可以直接从本地PC复制文件到服务器共享账户的文件夹中吗?
服务器的OS是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
)结合使用,以使用共享用户的权限和环境直接传输文件。
我们在服务器中有一个多用户共享帐户,每次我在服务器中通过 ssh 登录我自己的帐户并使用 sudo -u shared_account -i
登录该帐户。
现在我想复制一些文件到共享账户,我目前的解决方案是:
- 通过
scp
命令 将文件复制到服务器中我自己的帐户
- 用自己的账号登录服务器
- 登录共享帐户
- 将我自己帐户中的文件复制到该共享帐户的文件夹中
有什么方法可以直接从本地PC复制文件到服务器共享账户的文件夹中吗?
服务器的OS是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
)结合使用,以使用共享用户的权限和环境直接传输文件。