GCEインスタンスで実行するようにMongoを設定しました。Google Compute Engineインスタンスの起動時にmongoDBを実行する
最初に私は/
で働いていたとsudo mongod
とモンゴを起動するが、合理的にそれはそのことについて、いくつかの警告を出力します。
警告:あなたは推奨されないrootユーザー、 として、このプロセスを実行しています。
私はすべてを/home/my_google_account
に移動しました。ちょうどSSHに入り、mongod
を実行できます。
の起動時に実行されるmongod
などのアクションがあります。私の理解から、これを行うための正しい方法はGoogle startup scriptsを使用することです:コンソールからあなたは、メタデータのキーと値のペアとして、以下のようなスクリプトを提供することができます:
#! /bin/bash
apt-get update
mongod -f /home/my_google_account/mongod.conf
それはを動作しますが、Googleが言うように、これは、rootとして実行されます。
はインスタンスは常にルートとして起動スクリプトを実行し、それがそのSSHキー インスタンスメタデータに含まれているすべての新しいユーザーを作成した後にのみ は、それらのスクリプトを実行します。
だから、のmongodプロセスはroot権限で実行され、私はまだ私がもともと持っていた警告を取得:
警告:あなたは推奨されないrootユーザー、 として、このプロセスを実行しています。
どうすればよいですか?
スタートアップスクリプトをルートとして実行できない方法はありますか? とsudo
で作業し、警告を一切無視する必要がありますか? あなたのユーザのホームフォルダで作業し、必要な権限を取得し、あなたの権限でmongodを実行すべきだと誰もが示唆しているようです。しかし、起動スクリプトはrootとして実行されます!
あなたstarupスクリプトにこれを追加し、あなたの答えをいただき、ありがとうございます。私はあなたがこれについて私の心をクリアできることを願っています。私は実際に私のmongoビルド(percona.comから)が 'mongod'グループの' mongod'ユーザをすでに作成していることに気づきました。それは何のためにあるのです?私はそれを使用するはずです(例えば 'sudo mongod -c 'mongod -f mongod.conf')? – natario
おそらくそれはmongoを実行するためのものです。非標準のパッケージビルドを使用している場合は、あなたのビルドによってmongoデータディレクトリが 'mongod'ユーザに 'chown'されるかもしれないと思います。どのユーザー/グループが/ data/dbディレクトリを所有しているかを確認してください(すでにrootのようにmongoを起動し、ps -eaf | grep mongoを実行してmongoデータディレクトリが--dbpath設定であるか、/ homeを調べます)。 /my_google_account/mongod.confの場所)。あなたはmongodまたはデータディレクトリを所有している限り任意のユーザーを使用することができます...そして正しいと答えをマークしてください;-) – steveinatorx