【发布时间】:2018-07-19 09:18:45
【问题描述】:
我目前正在编写一个 .sh 脚本来在 4 台不同的机器上部署不同的应用程序。现在我无法以另一个用户身份运行脚本。我需要使用 myUser 使用我的凭据登录,然后 sudo su 到 user2 以运行特定脚本。
通常,我会手动执行以下操作:
ssh myUser@remotehost
[Type in password]
sudo su - user2
cd /path/only/accessible/to/user2
./someScript.sh
当我尝试时
ssh -t myUser@$remotehost "sudo su - user2 && /path/only/accessible/to/user2 && ./someScript.sh"
我被询问了密码,然后以 user2 身份登录,没有来自脚本的任何反馈,这通常会给我一些信息。
我做错了什么?
【问题讨论】:
-
1.不要在
sudo su- 或sudo或su中使用,但不能同时使用。 2.在ssh你忘了做cd,为什么不直接运行脚本(不带cd),即"sudo su - user2 && /path/only/accessible/to/user2/someScript.sh"