我想将文件从服务器 A 传输到服务器 B。我可以访问这两个服务器,因此我登录到服务器 A 并输入以下命令来传输文件
scp filename.txt mqm@serverB:/home/akotha/testdir
这akotha
是我的 ID,并且我确实具有 sudo 访问权限mqm
,执行命令后,它应该使用mqm
用户来传输文件;但如果密码是必需的/强制的,那么它应该采用我的akotha
用户密码。
有任何命令可以实现它,如果您不清楚我的问题,请告诉我。
#!/bin/ksh
echo "please below details to copy to server"
echo "remote server name:" read rserver
echo "user name:" read user
echo "remote location:" read rloc
echo "please enter the complete path to check files:" read dir
echo "enter single or batch file name to copy:" read file
scp $dir/$file $user@$rserver:$rloc
答案1
如果您有 serverB 的用户名/密码,则应在执行scp
命令时使用它。
akotha
如果您有上的用户的密码serverB
,则应按照以下格式使用它:
scp filename.txt akotha@serverB:/home/akotha/testdir
以下解决方案将允许serverB:/home/akotha/testdir
用户对文件夹具有写访问权限akotha
:
root
创建一个可容纳两个用户的新组(这应该由用户或使用来完成sudo
)例如,使用 mqmakotha 作为组名,并且该组应包含两个用户。
此链接显示如何将用户添加到组
将文件夹的组更改
/home/akotha/testdir
为此组chgrp mqmakotha /home/akotha/testdir
修改权限为
/home/akotha/testdir
组可读/可写chmod g+rw /home/akotha/testdir