Denoのパーミッションシステム
概要
Denoではファイルシステムやネットワーク、環境変数などに関する操作は、明示的に権限を与えない限り、実行することができません パーミッションフラグ
--allow-read (-R)
ファイルシステムへの読み込みを許可します
--allow-write (-W)
ファイルシステムへの書き込みを許可します
--allow-net (-N)
ネットワークアクセスを許可します (Deno.connect/Deno.listen/fetch()など)
--allow-env (-E)
環境変数の参照を許可します
--allow-sys (-S)
システム情報を参照するAPIの実行を許可します
--allow-run
LD_PRELOADなどのLD_から始まる環境変数またはDYLD_から始まる環境変数が設定されている場合は、--allow-allの指定が必要です (Deno v2から) セキュリティのため、--allow-runに指定された実行可能ファイルはDenoの起動時に絶対パス形式で解釈された上で--deny-writeに自動で設定されます (Deno v2から) --allow-ffi
--allow-all (-A)
権限を必要とするあらゆる機能の使用を許可します
--deny-*
各種--allow-*フラグと対になるフラグで、特定の権限を拒否することができます (例: --deny-read, --deny-write)
--deny-*フラグは--allow-*フラグよりも優先度が高く設定されています
code:shell
# 1. 全ての処理を許可します (--allow-all)
# 2. ただし、ファイルシステムへの書き込みは拒否します (--deny-write)
$ deno run --allow-all --deny-write main.js