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.js
dbとしてコマンドを実行しようとしましたが、同じエラーが発生しました。
今回は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エラーが発生したようです。書く。