
私には 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
manifest.json は i.js と同じフォルダーにあるファイルです。アプリは起動して実行しているように見えますが、manifest.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エラーが発生した可能性があります。書き込み。
答え2
ターミナルを開き、次のコマンドを入力します。
sudo chown -R $user:$group ./manifest.json