【发布时间】:2017-08-20 18:26:38
【问题描述】:
我在 Amazon 实例和我的 Mac 上都遇到了问题。
我有两个用户
-
ec2-user:ec2-user(myuser:staff用于 mac) -
apache:ec2-user(_www:staff用于 mac)
.
如果我有一个由apache 创建的目录,ec2-user 可以在它下面完美写入
drwxrwsr-x 3 apache ec2-user 4.0K Mar 27 20:37 /path/to/sample/dir
// ec2-user can write here
但是在相反的情况下,如果ec2-user 是目录的所有者,当 apache 尝试在它下面写入时,它会抛出一个错误,说它没有足够的权限。
drwxrwsr-x 3 ec2-user ec2-user 4.0K Mar 27 20:37 /path/to/sample/dir
// apache CANNOT write here
但是如果我把权限改成777,那么`apache就可以在里面写了
drwxrwsrwx 3 ec2-user ec2-user 4.0K Mar 27 20:37 /path/to/sample/dir
// apache CAN write here
// file created would have `664 apache:ec2-user` permissions
所以问题是
为什么虽然两个用户有同一个组,但apache 不能写入一个明确对该组有写权限的目录?
附加:
虽然apache 以ec2-user 为组写入,但当我执行以下操作时,我意识到apache 不属于ec2-user 组,那么它在写入时,它创建的文件和目录为什么会有这样的组?
sudo -u apache id
uid=48(apache) gid=48(apache) groups=48(apache)
【问题讨论】:
标签: macos apache amazon-web-services amazon-ec2 permissions