以另一个用户身份运行命令或从Windows

时间:2016-06-01 10:46:47

标签: linux shell ssh winscp plink

我是linux世界的新手。所以请原谅任何愚蠢的问题。

我有一台linux机器,我没有root访问权限。我有服务帐户,可以完全访问app文件夹。我的登录(ssh)凭据无权访问该app文件夹。

所以我将遵循以下流程。

1)使用winscp将windows机器中的app文件夹复制到linux中的/ tmp /。

2)使用putty登录机器。

3)使用以下命令将用户更改为服务帐户。

sudo su – “service account”

4)然后我将app文件从/ tmp /文件夹复制到/ app /文件夹并启动其他配置。

我想自动执行上述过程。所以我在下面做了。

#Copy files to tmp folder

 winscp.com -hostkey=* user:"password"@host /command "put D:/app_folder/ /tmp/ app_folder"

#Execute the script remotely

 plink user:@host -m D:\Install_app.sh

上面的脚本运行正常,直到我运行test echo命令。由于用户无法访问app文件夹,因此在运行配置命令时会引发错误。只有服务帐户才能访问。但服务帐户没有远程登录访问权限。所以我不能用服务帐户运行脚本。

所以我尝试使用服务帐户在脚本中运行命令。我试过下面的

Echo “password” | sudo –S su - “service account” “commands”

它不起作用。能告诉我有没有其他方法可以达到这个目的。一旦脚本开始执行,我想在脚本内部更改用户。

注意:由于安全原因,linux管理团队正在遵循此流程。所以我无法改变这个过程:(。

0 个答案:

没有答案