Как подключиться к bash как другому пользователю

Я экспериментирую как способ решить большую проблему. Для эксперимента мне нужно установить rvm как пользователя, у которого нет оболочки.

Чтобы установить rvm, вы используете следующую команду:

\curl -L https://get.rvm.io | bash

Как запустить следующую команду в качестве другого пользователя?

Это то, что я пытаюсь сделать, но это не работает.

 sudo -u foo -H \curl -L https://get.rvm.io | bash sudo -u foo -H which rvm sudo: rvm: command not found 

Вам нужно запустить оболочку как пользователь, а не curl или which команду.

Это можно сделать несколькими способами, в том числе:

 sudo -u user bash -c 'curl -L https://get.rvm.io | bash' 

а также

 curl -L https://get.rvm.io | sudo -u user bash 

Если вы хотите сделать это в интерактивном режиме, вы можете использовать параметр s- sudo чтобы переопределить тот факт, что у них нет допустимой оболочки. Например:

 # sudo -u user -s /bin/bash $ whoami user $ exit