【发布时间】:2014-04-13 09:25:33
【问题描述】:
我正在使用 Capifony 多阶段部署将我的 Symfony2 Web 应用程序部署到 Apache Web 服务器上、Ubuntu 机器上、托管在 AWS 上。
我有用户设置
set :user, "ubuntu"
以及像这样设置缓存的可写目录
set :writable_dirs, ["app/cache"]
set :webserver_user, "www-data"
set :use_set_permissions, true
set :permission_method, :acl
除了运行时,一切都部署良好
executing "setfacl -R -m u:ubuntu:rwx -m u:www-data:rwx /var/www/releases/20140310012814/app/cache"
我收到多个 Operation not allowed 错误,例如
setfacl: /var/www/releases/20140310012814/app/cache/prod/classes.php: Operation not permitted
似乎用户,大概是“www-data”,无法对“ubuntu”创建的文件设置权限。但是,我已经从 /var/www/current 目录在服务器上运行了以下内容,但我不完全确定它们做了什么:
sudo setfacl -R -m u:www-data:rwX -m u:`whoami`:rwX app/cache
sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache
这是一些acl信息
getfacl app/cache
# file: app/cache
# owner: ubuntu
# group: ubuntu
user::rwx
user:www-data:rwx
user:ubuntu:rwx
group::rwx
mask::rwx
other::rwx
default:user::rwx
default:user:www-data:rwx
default:user:ubuntu:rwx
default:group::rwx
default:mask::rwx
default:other::rwx
我看过一个类似的问题here 我应该运行类似的东西吗?如:
sudo sh -c 'setfacl -R -m u:ubuntu:rwX -m u:www-data:rwX /var/www/current/app/cache'
谢谢
【问题讨论】:
标签: symfony ubuntu permissions acl capifony