別のユーザーとしてパイプを介してbashに接続する方法

別のユーザーとしてパイプを介して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

答え1

curlまたは、コマンドではなくユーザーとしてシェルを実行する必要がありますwhich

これを行うには、次のようないくつかの方法があります。

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

そして

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

この操作を対話的に実行するには、オプションを使用して有効なシェルがないことを無視できsudoます-s。たとえば、

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

関連情報