두 번째 사용자로 실행되는 쉘 스크립트 만들기

두 번째 사용자로 실행되는 쉘 스크립트 만들기

특정 사용자로 두 개의 서비스를 실행하려는 스크립트를 만들고 있습니다. 스크립트는 사용자로 전환한 다음 프로그램을 실행하고 해당 프로그램을 실행한 후 두 번째 프로그램 실행을 시작해야 합니다.

답변1

sudo특정 사용자로 명령을 실행하도록 지시할 수 있습니다 .

 -u user, --user=user
             Run the command as a user other than the default target user
             (usually root).  The user may be either a user name or a
             numeric user ID (UID) prefixed with the ‘#’ character (e.g.
             #0 for UID 0).

따라서 스크립트에서 sudo -u USERNAME다음 두 서비스를 실행하는 데 사용할 수 있습니다.

sudo -u foo command1
sudo -u foo command2

그러나 이는 스크립트 자체를 루트로 실행해야 함을 의미합니다. 그렇지 않으면 sudo사용자에게 비밀번호를 입력하라는 메시지가 표시됩니다 foo.

답변2

sudo -u username -s -- "program1 && program2"

또는

sudo -u username bash -c 'program1 && program2'

관련 정보