コマンドを実行するために人々が自分のサーバーに一時的にアクセスできるようにする

コマンドを実行するために人々が自分のサーバーに一時的にアクセスできるようにする

今夏の終わりに、私は遠い場所で10日を過ごす予定です。まだ実行する必要があるサービスがありますが、私がいない間に問題が発生した場合は、1つまたは2人の信頼できる人にサービスを再開するためのアクセス権を与えたいと思います。このサービスはNode.jsアプリケーションであり、非常に技術的ですが、SSH(または利用可能な場合はより良いオプション)を介してスクリプトを実行するのと同じくらい簡単でしたいと思います。これを達成するための最良の方法は何ですか?

答え1

2人目の人が完全に不要にするには、おそらく次のものを使用する必要があります。守る犬サービスを引き続き実行するには、ソフトウェアを入力してください。これを行うには、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]

関連情報