Upstart - /etc/environment를 유지하면서 다른 사용자로 명령을 실행합니다.

Upstart - /etc/environment를 유지하면서 다른 사용자로 명령을 실행합니다.

안녕하세요,

/etc/environment를 유지하면서 권한이 없는 사용자로 Upstart를 사용하여 시작 시 명령/서비스를 실행하려고 합니다.

나는 껍질에서 약간의 행운을 얻었습니다

exec sudo -u user1 -i "/usr/bin/foo /opt/bar >> /var/log/bar.log 2>&1"

그러나 Upstart는 이를 좋아하지 않는 것 같습니다(이유를 알 수 없음). 일반적인 조언은 사용하라는 것이며 su/etc/environment.local과 같은 파일을 수동으로 소싱하여 성공했지만 Upstart가 올바른 PID를 모니터링하는 데 문제가 있었습니다(대신 bash를 계속 따라가 /usr/bin/foo므로 sudo를 시도하십시오.

어떤 조언이라도 큰 도움이 될 것입니다. 저는 EC2의 Amazon Linux를 사용하고 있습니다.

답변1

/etc/environment 파일을 시작 스크립트에 소스로 넣으시겠습니까?

if [ -e /etc/environment ]; then
    . /etc/environment
fi

관련 정보