バイナリファイルの実行中に権限が拒否されました。

バイナリファイルの実行中に権限が拒否されました。

私はこれを使用しました指示する私のOS Xコンピュータにmongodbをインストールします。ただし、root所有のファイルを作成せずにローカルユーザー(markdsievers)を使用してインストール/usr/local/mongodbしますusr/local/mongodb_data。すべてのファイルとサブディレクトリをchmodedしてchownしましたrwxrwxr-x markdsievers staff

ユーザーとしてmarkdsievers次のコマンドを使用すると、エラーなしでデータベースを起動できます。

$ sudo mongod --dbpath=/usr/local/mongodb_data

しかし、次のように始めると:

$ mongod --dbpath=/usr/local/mongodb_data/

私は得る:

Unable to create / open lock file for lockfilepath: /usr/local/mongodb_data/mongod.lock errno:13 Permission denied

私がここで何を見逃しているのでしょうか?

ベストアンサー1

まず、余談:/usr/local/mongodb_datamongoデータを保存するのが少し奇妙に見えます。ほとんどのバックストレージは、または/var/独自のインストールアプリケーションの場合/var/local/。を参照してhier(7)ください。ファイルシステム階層標準詳細については。 (FHSの名前は間違っています。これは、規則的ではなく説明的なものです)。いいえ標準。しかし、読んでみる価値があります。 )

あなたが次のことをしたので、あなたのmongodb.lockファイルはあなたの所有です。root

sudo mongod --dbpath=/usr/local/mongodb_data

sudo(8)さまざまな方法でプログラムを実行する有効ユーザーID(詳細はseteuid(2)参照setreuid(2))。他のユーザーを指定するオプションがないため、このアカウント-usudo(8)デフォルトでこのrootアカウントに設定されています。したがって、ロックファイルはroot所有者とグループとして生成されます。 (どんな変化があるのか​​比較してみてくださいsudo idid

しかし、奇妙なことは、データベースを停止するときにロックファイルを削除する必要があることですmongod。ロックされたファイルを削除するだけでなく、データがディスクに正しく保存されていることを確認するために正しく停止していることを確認してください。

おすすめ記事