我一直在用Assetic和yuiccompressor来缩小和连接js/css。
我有一个问题,找出正确的写权限工作在我的本地测试环境和PHP的sys_get_temp_dir()
,其中Assetic依赖的结果。
我使用MAMP来管理我的测试环境,并且根据MAMP团队的建议,我以用户'_www'运行Apache,这是一个问题,因为sys_get_temp_dir()
返回的文件夹有权限设置为我的本地用户。
例如,sys_get_temp_dir()
将返回类似
/private/var/folders/41/t37ngfqd1m7dczjdr91s5vb40000gn/T
具有
权限 drwx------ 8 myname staff 272B May 4 13:23 T
到目前为止,我唯一能做的就是做chmod 777
,这保证了个人的不幸和RTM人群的抨击。我明白了,这是允许的,但我还没有能够做出飞跃,找出正确的权限,以允许_www
以可预测的安全方式写入sys_get_temp_dir()
返回的文件夹。
我试过了(我只能猜测仍然很糟糕,但略低于777):
- 进入查找器(是的,OSX)右键单击
/private/var/folders/
目录并递归地授予_www
读/写权限-不起作用 - 尝试将
_www
添加到"wheel"answers"staff"组。不能工作,因为(如上所示)返回的文件夹只能由用户myname
写(即使/private/var/folders
属于wheel
组,某些文件夹属于staff
组)
所以,如果我不能将_www
添加到组中,并且我不能递归地访问文件夹,我是否必须以用户myname
的身份运行MAMP ?一定有什么Unix-fu我能做的吧?
您的文件夹只有所有者的权限,换句话说,drwx------的含义与700相同。文件夹所属的组是staff,因此您可以将_www添加到staff组,或者将文件夹所属的组更改为_www。此外,还需要设置组权限,因此,如果希望对组具有读写和执行权限,则可以将权限设置为770。权限码的第二个数字是组权限