이번 여름 말에 저는 외딴 곳에서 10일을 보낼 예정입니다. 계속 실행해야 하는 서비스가 있는데, 내가 없는 동안 문제가 발생하면 한두 명의 신뢰할 수 있는 사람에게 서비스를 다시 시작할 수 있도록 액세스 권한을 부여하고 싶습니다. 이 서비스는 Node.js 애플리케이션이며 매우 기술적이지만 SSH(또는 사용 가능한 경우 더 나은 옵션)를 통해 스크립트를 실행하는 것만큼 간단했으면 좋겠습니다. 이를 달성하는 가장 좋은 방법은 무엇입니까?
답변1
두 번째 사람이 완전히 필요하지 않게 하려면 아마도 다음을 사용해야 할 것입니다.지키는 개서비스를 계속 실행하려면 소프트웨어를 입력하세요. 이를 수행하기 위해 Linux에는 다음과 같은 다양한 도구가 사용됩니다.
- 감시 장치:http://mmonit.com/monit/
- 갑자기 나타나다:http://upstart.ubuntu.com/
- 데몬 도구:http://cr.yp.to/daemontools.html
- 도구를 시작합니다.http://people.debian.org/~enrico/launchtool.html
다행히 Node.js라는 특정 애플리케이션이 있습니다.'forever
'이렇게 하면 이 작업을 쉽게 수행할 수 있습니다. 여기 하나 있어요매우 유용한 튜토리얼사용 방법에 대해.
빠른 방법은 다음과 같습니다.
npm install forever -g
forever start app.js
답변2
sudo
두 사용자 모두 서비스를 중지/시작하는 데 필요한 명령을 실행할 수 있도록 구성합니다 .
물론 가장 쉬운 방법은 필요한 모든 작업을 수행하는 init 스크립트가 있는 경우입니다. 그런 다음 /sbin/service <servicename> ...
배포판에 따라 이러한 사용자에게 또는 이와 유사한 권한을 부여 하기만 하면 됩니다 .
이렇게 하면 설정을 변경할 필요가 없으며 모든 것이 올바른 매개변수 및 설정 등으로 시작될 것이라고 확신할 수 있습니다.
답변3
신뢰할 수 있는 사람들을 위해 추가 계정을 설정하세요. 이 계정은 Node.js 애플리케이션을 시작/중지/다시 시작하는 것만 허용됩니다. 결국 다음 샘플 스크립트를 사용하여 애플리케이션을 관리할 수 있습니다.
#!/bin/bash
command=$1
ssh user@host "your-app $command"
그런 다음 다음과 같이 실행하십시오.
script.sh restart
답변4
- 일반 사용자에게 제공하십시오.
- 원하는 명령을 해당 경로에 넣으십시오.
실행 파일에 대해 SETUID 플래그를 설정하십시오.
# chmod u+s [your executable file for service restart]