명령을 실행하기 위해 사람들이 내 서버에 임시로 액세스하도록 허용

명령을 실행하기 위해 사람들이 내 서버에 임시로 액세스하도록 허용

이번 여름 말에 저는 외딴 곳에서 10일을 보낼 예정입니다. 계속 실행해야 하는 서비스가 있는데, 내가 없는 동안 문제가 발생하면 한두 명의 신뢰할 수 있는 사람에게 서비스를 다시 시작할 수 있도록 액세스 권한을 부여하고 싶습니다. 이 서비스는 Node.js 애플리케이션이며 매우 기술적이지만 SSH(또는 사용 가능한 경우 더 나은 옵션)를 통해 스크립트를 실행하는 것만큼 간단했으면 좋겠습니다. 이를 달성하는 가장 좋은 방법은 무엇입니까?

답변1

두 번째 사람이 완전히 필요하지 않게 하려면 아마도 다음을 사용해야 할 것입니다.지키는 개서비스를 계속 실행하려면 소프트웨어를 입력하세요. 이를 수행하기 위해 Linux에는 다음과 같은 다양한 도구가 사용됩니다.

  1. 감시 장치:http://mmonit.com/monit/
  2. 갑자기 나타나다:http://upstart.ubuntu.com/
  3. 데몬 도구:http://cr.yp.to/daemontools.html
  4. 도구를 시작합니다.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

  1. 일반 사용자에게 제공하십시오.
  2. 원하는 명령을 해당 경로에 넣으십시오.
  3. 실행 파일에 대해 SETUID 플래그를 설정하십시오.

    # chmod u+s [your executable file for service restart]

관련 정보