このエラーの原因は何ですか:エラー:EACCES、権限が拒否されました。

このエラーの原因は何ですか:エラー:EACCES、権限が拒否されました。

2 つの 3 人のユーザーがいます。

db,nr,ba

3人ともdbpグループのメンバーです。

Node.jsは/usr/binにインストールされています。

次のコマンドを実行すると:

/usr/bin/node /home/db/dbb/m/i.js

その後、「ba」ユーザーとして実行すると正常に動作します。しかし、"nr"で実行すると、次のエラーで競合が発生します。

Error: EACCES, permission denied './manifest.json'

dbbには権限があります。drwxr-s--- db dbp マニフェスト.jsonは、i.jsと同じフォルダにあるファイルです。アプリがマニフェスト.jsonを読み取ろうとするまで、アプリが起動して実行されているように見えますが、この時点でクラッシュします。

編集:umaskは027です。

編集:出力はstat ./manifest.json次のとおりです

 File: `manifest.json'
  Size: 251         Blocks: 8          IO Block: 4096   regular file
Device: ca00h/51712d    Inode: 2598        Links: 1
Access: (0444/-r--r--r--)  Uid: ( 1001/db)   Gid: ( 1001/db)
Access: 2014-11-18 18:03:48.297158000 +0000
Modify: 2014-11-18 18:03:37.000000000 +0000
Change: 2014-11-18 18:03:48.298380902 +0000
 Birth: -

編集:ユーザーアカウントdbとグループdbpを削除しました。 umaskを002に設定しました。その後、ユーザーアカウントdbを再作成し、/usr/bin/node /home/db/dbb/m/i.jsdbとしてコマンドを実行しようとしましたが、同じエラーが発生しました。

今回はstat manifest.json同じ結果が得られます。

File: `manifest.json'
  Size: 251         Blocks: 8          IO Block: 4096   regular file
Device: ca00h/51712d    Inode: 2368        Links: 1
Access: (0444/-r--r--r--)  Uid: ( 1001/db)   Gid: ( 1001/db)
Access: 2014-11-18 19:08:35.709657000 +0000
Modify: 2014-11-18 18:03:37.000000000 +0000
Change: 2014-11-18 19:08:35.708011027 +0000
 Birth: -

ベストアンサー1

dbファイルはユーザーとグループが所有しますdb

Access: (0444/-r--r--r--)  Uid: ( 1001/db)   Gid: ( 1001/db)

しかし、世界は読むことができます(444)。そのディレクトリ階層はそうではありませんが、グループから読み取ることができるはずですdbp〜しない限り /home/dbデフォルト以外の権限があります。これは、umask(027)が通常(002)よりも厳しいために発生する可能性があります。

それ以外の場合は、プロセスがファイルを開こうとしたため、EACCESエラーが発生したようです。書く。

おすすめ記事