permissions - Capifony setfacl 权限 : "Operation not permitted"

标签 permissions nginx capistrano acl capifony

我有一个用户 didongo (用户和组 didongo),以及 nginx 服务器(用户和组 www-data)。我已经设置 Capifony 登录为 didongo用户:我第一次部署setfacl命令工作正常(而日志文件夹为空)。但是在由 nginx 提供服务的 Web 应用程序生成一些日志(prod.log)之后,下一次部署失败,并显示 setfacl错误。

我确定我在用户和 Web 服务器之间的权限方面犯了一个 noob 错误,但我没有看到什么错误。我看到了 didongo不应该能够更改他没有权限的文件的权限。但是,我应该如何配置服务器或 Capifony?

谢谢!

相关(希望如此)Capifony deploy.rb 配置:

set :user,                  "didongo"
set :webserver_user,        "www-data"
set :permission_method,     :acl
set :use_set_permissions,   true

set :shared_children,       [app_path + "/logs", web_path + "/uploads", "vendor"]
set :writable_dirs,         ["app/cache", "app/logs"]

这是 Capifony 错误:
$ setfacl -R -m u:didongo:rwx -m u:www-data:rwx /home/didongo/staging/shared/app/logs
setfacl: /home/didongo/staging/shared/app/logs/prod.log: Operation not permitted

关于ACL的一些数据:
$ getfacl app/logs

# file: logs
# owner: didongo
# group: didongo
user::rwx
user:www-data:rwx
user:didongo:rwx
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:user:www-data:rwx
default:user:didongo:rwx
default:group::rwx
default:mask::rwx
default:other::r-x

# file: logs/prod.log
# owner: www-data
# group: www-data
user::rw-
user:www-data:rwx               #effective:rw-
user:didongo:rwx                #effective:rw-
group::rwx                      #effective:rw-
mask::rw-
other::r--

最佳答案

用 sudo 试试这个,之后你就不需要使用 sudo

sudo sh -c 'setfacl -R -m u:didongo:rwX -m u:www-data:rwX /home/didongo/staging/shared/app/logs'

因为你需要设置x+权限,阅读此 What is trailing Plus indicates

关于permissions - Capifony setfacl 权限 : "Operation not permitted",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14718533/

相关文章:

Java 添加组到目录权限列表

c# - 打开注册表权限对话框

node.js - Nodejs + Socket.io + Nginx 反向代理不工作

Hadoop MapReduce 作业权限被拒绝

android - 将多个帐户所有者添加到单个 Google Play 开发者帐户

javascript - 在 React 应用程序运行时访问后端服务器端点

Nginx 到服务器的路由路径

ruby-on-rails - Capistrano 错误:Sprockets::FileNotFound:找不到文件 'bootstrap-sprockets'

ruby-on-rails - 带有符号链接(symbolic link)的 mod_xsendfile

git - 我能看到最后部署在 Capistrano 的哪个分支吗