계속 실행하려면 사용자의 스크립트를 전환하시겠습니까? [복사]

계속 실행하려면 사용자의 스크립트를 전환하시겠습니까? [복사]

중복 가능성:
쉘 스크립트 실행 시 슈퍼유저로 전환

스크립트에서 사용자를 전환하고 명령을 계속 실행해야 합니다. 효과가 있다고 생각 -c하지만 제대로 사용하는 방법이나 사용법을 모르겠습니다. 나는 썼다

bash -c "su user && command arg1 arg2"

Exit를 입력하면 명령 실행이 시도됩니다. UID를 설정하고 실행해 보았는데, 앱이 내가 어떤 사용자(루트)인지 알고 있는 것 같고, 대상 사용자로서 접근할 수 없는 작업을 수행하는 것 같아서 어떻게 해야 하는지 꼭 알아내야 할 것 같습니다. 사용자를 전환하고 계속하십시오. bash 코드를 실행하십시오.

답변1

가장 좋은 방법은 SSH 키를 생성하고 ssh-keygen원하는 사용자에게 공개 키를 추가한 다음 스크립트의 개인 키를 사용하여 연결하는 것입니다. 따라서 스크립트는 실제로 다음과 같습니다.

ssh -i ~/.ssh/userA_id_rsa userA@localhost command arg1 arg2

이를 위해서는 SSH 데몬이 시스템에서 실행되고 있어야 합니다(대부분의 배포판에는 기본적으로 SSH 데몬이 설치되어 있지만 실행되지 않을 수 있습니다).

관련 정보