다른 사용자로 파이프를 통해 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

관련 정보