다른 서비스를 시작한 후 시작 시 특정 사용자로 프로그램을 시작하려면 어떻게 해야 합니까?

다른 서비스를 시작한 후 시작 시 특정 사용자로 프로그램을 시작하려면 어떻게 해야 합니까?

Oracle Enterprise Linux 7에서 다음을 수행하려는 애플리케이션이 있습니다.

  • 시작 시 이 애플리케이션 실행뒤쪽에일부 다른 애플리케이션이 시작되었습니다(그 중 하나는 MongoDB입니다).
  • 특정 사용자가 필요한 특정 권한 집합으로 사용자 정의되어 있으므로 이 응용 프로그램을 특정 사용자와 함께 실행하고 싶습니다.
  • 애플리케이션은 포트 80 및 443에서 실행되어야 합니다. 위의 사용자는 이러한 포트를 사용할 수 있도록 사용자 정의할 수 있습니다 sudo(방법은 모르겠습니다).
  • 애플리케이션의 표준 출력 및 표준 오류 스트림은 파일로 리디렉션되어야 합니다.

내가 생각하기에 간단하다고 생각되는 일을 달성하기 위해 일곱 개의 매뉴얼을 읽지 않고 어떻게 이 일을 할 수 있습니까?

답변1

일반적으로 이는 init, upstart 또는 systemd의 작업입니다. 대부분의 경우 /etc/rc.local과 같은 이 작업에 대한 스크립트가 이미 있습니다. 거의 모든 데몬에는 안전한 시작을 보장하기 위해 승인된 스크립트가 함께 제공됩니다.

Quick 'n Dirty 솔루션: 프로그램을 시작하는 쉘 스크립트를 작성하십시오. 사용자, 권한 및 기타 필수 구성 요소에 대한 종속성을 해결하거나 몇 분 정도 기다려야 합니다. crontab -e를 사용하여 스크립트를 입력하세요.

@reboot sleep 120 && /full/path/to/script >& /var/log/mydaemon.log

시스템 서비스를 살펴보세요!

관련 정보