ユーザーdidongo
(ユーザーとグループdidongo
)とnginxサーバー(ユーザーとグループwww-data
)があります。ユーザーとしてログインするように Capifony をセットアップしましdidongo
た。初めてsetfacl
コマンドをデプロイすると、正常に動作します (logs フォルダーが空の間)。しかし、nginx によって提供される Web アプリケーションがいくつかのログ (prod.log) を生成した後、次のデプロイはsetfacl
エラーで失敗します。
ユーザーと Web サーバーの間のアクセス許可で noob エラーが発生していると確信していますが、どのエラーが表示されません。彼がアクセス許可を持っていないファイルのアクセス許可を変更することはできないdidongo
はずです。では、サーバーまたは Capifony をどのように構成すればよいのでしょうか?
ありがとう!
関連する(そうであることを願っています)Capifony deploy.rb config:
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--