서비스는 기본적으로 root
RHEL 상자에서 부팅 할 때 시작됩니다 . 올바르게 기억한다면 init 스크립트를 사용하는 다른 Linux 배포판에서도 마찬가지입니다 /etc/init.d
.
프로세스를 내가 선택한 (정적) 사용자로 실행하는 가장 좋은 방법은 무엇이라고 생각하십니까?
내가 도착한 유일한 방법은 다음과 같은 것을 사용하는 것입니다.
su my_user -c 'daemon my_cmd &>/dev/null &'
그러나 이것은 조금 어수선한 것 같습니다 ...
루트가 아닌 다른 사용자로서 서비스를 자동으로 시작하는 쉬운 메커니즘을 제공하는 약간의 마술이 있습니까?
편집 : 이 인스턴스에서 시작하는 프로세스가 Python 스크립트 또는 Java 프로그램이라고 말해야합니다. 오히려 주변에 네이티브 래퍼를 작성하지 않기 때문에 불행히도 Black이 제안한 대로 setuid () 를 호출 할 수 없습니다 .