%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F'%EC%9B%B9%20%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%9D%84%20%EC%8B%A4%ED%96%89%ED%95%98%EB%A0%A4%EB%A9%B4%20%EA%B6%8C%ED%95%9C%EC%9D%B4%20%EB%82%AE%EC%9D%80%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A5%BC%20%EC%9E%85%EB%A0%A5%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
내 목표는 여러 응용 프로그램의 시작을 관리하는 것입니다. 그 중 하나는 높은 권한을 가진 사용자가 실행합니다.
계획은 실행 관리자(Node.js 스크립트 사용 require('child_process').exec
) 를 cd
애플리케이션 사용자의 홈 디렉터리에 배치한 su <app user>
다음 실행으로 실행을 시작하는 것입니다 <app user>
.
나의 가장 큰 관심사는 안전이다. 예를 들어 <app user>
exit
부팅 관리자 사용자를 반환할 수 있나요?
이 접근 방식을 사용할 때 고려해야 하거나 주의해야 할 다른 문제가 있습니까?
답변1
일단 실행되면 <app user>
실행 중인 애플리케이션은 해당 사용자가 가지고 있는 권한만 갖게 됩니다.
가능 여부에 관해서는 exit
일단 신청서가 종료되면 아무 것도 다시 게시되지 않습니다 exit
.
귀하의 스크립트가 무엇인지는 모르지만 일반적으로 응용 프로그램 시작은 systemd와 같은 것으로 가장 잘 관리됩니다. 설명된 스크립트가 수행하는 모든 작업을 수행하는 서비스 파일을 생성할 수 있습니다.
서비스가 실행되는 사용자, 시작할 애플리케이션, 시작할 디렉터리 등을 지정할 수 있습니다.
다음은 시스템 서비스 파일을 시작하기 위한 몇 가지 좋은 예입니다.https://www.shellhacks.com/systemd-service-file-example/