В настоящее время я пишу сценарий .sh для развертывания разных приложений на 4 разных машинах. Сейчас у меня проблемы с запуском скрипта от имени другого пользователя. Мне нужно войти в систему с помощью myUser с моими учетными данными, а затем sudo su для пользователя2, чтобы запустить определенный скрипт.
Обычно я вручную делаю следующее:
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, без какой-либо обратной связи со сценарием, который обычно давал бы мне некоторую информацию.
Что я делаю не так?
sudo su
- илиsudo
илиsu
, но не оба вместе. 2. вssh
вы забыли сделатьcd
, почему бы не запустить скрипт напрямую(безcd
), т.е."sudo su - user2 && /path/only/accessible/to/user2/someScript.sh"
- person sKwa   schedule 08.02.2018