내 목표는 여러 응용 프로그램의 시작을 관리하는 것입니다. 그 중 하나는 높은 권한을 가진 사용자가 실행합니다.
계획은 실행 관리자(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/