使用するEC2インスタンスを設定してファイル権限をテストしていますが、実行ビットが下位レベル(読み書きのみ実行されません)に渡されないことを確認しました。
[ec2-user@server www]$ touch web/hi
[ec2-user@server www]$ ls -l web/
total 4
-rw-rw-r-- 1 ec2-user apache 0 May 27 19:02 hi
-rwxrwxr-x 1 ec2-user apache 43 May 27 05:15 index.php
[ec2-user@server www]$ getfacl --all-effective web/
# file: web/
# owner: ec2-user
# group: apache
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
実行ビットを渡すために何が欠けていますか?
ベストアンサー1
mkdirをテストしてみてください。これはほとんどの人が心配しているのでしょうか?
touchは実行可能ファイルを生成しません。 sys_open()のモードパラメータでこれらのビットをマスクします。 ソースコード:
133 /* Try to open FILE, creating it if necessary. */
134 fd = fd_reopen (STDIN_FILENO, file,
135 O_WRONLY | O_CREAT | O_NONBLOCK | O_NOCTTY, MODE_RW_UGO)
モードパラメータにXはありません。プログラムが許可しない場合、プログラムは実行可能(または誰でも読むことができる)ファイルを生成することを強制することはできません。多くのファイル生成がこのようになります。実行ファイルをインストールするのはあまり一般的ではありません。
タッチに使用されるシステムコールは、次のように説明されます。POSIX規格。