site-logo
G
N
I
D
A
O
L
strace

「Permission denied」の原因切り分け

プロセスがどのファイル操作でアクセス拒否(EACCES)を返されているかを特定する

実行コマンド

strace -f -e trace=file ./run_script.sh

💡 利用シーン

スクリプト実行中にエラーが発生するが、どのファイルに対して権限不足が起きているか分からないとき

💻 実行結果例

openat(AT_FDCWD, "/protected/data.db", O_RDWR) = -1 EACCES (Permission denied)

📝 実務メモ

-f オプションでサブプロセスも含めて監視します

⚠️ 注意点

実行ファイルがルート権限を必要とする場合、sudoをつけて実行する必要があります