しようとするshell_exec('/home/user/scripts/./script')
と、次のエラーが表示されます。
terminate called after throwing an instance of 'boost::filesystem3::filesystem_error'
what(): boost::filesystem::create_directory: Permission denied: "/.script"
Aborted (core dumped)
shell_exec('whoami')
www-data
Web 向けの php スクリプトに戻ります。
ディレクトリとファイルへのアクセス許可はまったく同じです。
-rwxrwxr-x 1 user123 group456 8246 Jun 25 06:10 script
drwxrwxr-x 7 user123 group456 4096 Jul 10 14:54 .
実際shell_exec('touch /home/user/scripts/test')
、問題なくファイルを作成できます。
$ ls -l /home/user/scripts/test
-rw-r--r-- 1 www-data www-data 0 Jul 10 14:54 test123
これは、ユーザーごとにグループを設定する方法です。
$ groups user123
user123 : group456
$ groups www-data
www-data : group456
このエラーが発生するのはなぜですか?