I have a directory owned by my user vagrant
. The webserver (and web application) run as www-data
.
Both users need to create and modify directories and files in this directory, regardless of who created them. As vagrant
I can modify files created by www-data
, but I can't create new files in directories created by www-data
.
I believe I am stuck because I cannot alter the mask applied to directories created by www-data
.
vagrant@iadev:/var/www/web$ sudo rm -r core/cache
vagrant@iadev:/var/www/web$ mkdir core/cache
vagrant@iadev:/var/www/web$ sudo setfacl -R -m u:www-data:rwX,u:vagrant:rwX core/cache
vagrant@iadev:/var/www/web$ sudo setfacl -dR -m u:www-data:rwX,u:vagrant:rwX core/cache
vagrant@iadev:/var/www/web$ getfacl core/cache
# file: core/cache
# owner: vagrant
# group: vagrant
user::rwx
user:www-data:rwx
user:vagrant:rwx
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:user:www-data:rwx
default:user:vagrant:rwx
default:group::rwx
default:mask::rwx
default:other::r-x
I browse the web app and populate the cache
vagrant@iadev:/var/www/web$ getfacl core/cache/locks/
# file: core/cache/locks/
# owner: www-data
# group: www-data
user::rwx
user:www-data:rwx #effective:r-x
user:vagrant:rwx #effective:r-x
group::rwx #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:user:www-data:rwx
default:user:vagrant:rwx
default:group::rwx
default:mask::rwx
default:other::r-x
vagrant@iadev:/var/www/web$ vi core/cache/locks/test.txt
When user vagrant
tries to save a file in core/cache/locks
it fails. I understand #effective:r-x
is the problem, but I cannot work out how to change it.
I have tried ~30 setfacl
command variations (including -n
and m:rwX
): what do I not understand?
vagrant
I can modify files created bywww-data
, but not create new files in directories created bywww-data
– PeterB Apr 24 '16 at 16:45