I've been stuck with this problem for a week now, browsing through various websites, I just can't seem to make this work.
I have Apache2 installed and a Wordpress website, located in a user's folder at /home/<user>/www
.
Now the website works and all, but installing plugins from the webinterface (and anything else that requires write access - changing settings, uploading media, etc.) won't work, as wordpress (more like apache) doesn't have write access to those files.
the /home/<user>/www
directory and everything beneath belongs to the user and the group <user>
.
I've already tried multiple solutions, but none of them worked, including:
Changing the owner of
/home<user>/www
towww-data:www-data
. Alright - honestly, I didn't try this solution, as I don't want it. If you do this for all the users on the server, they will gain access to all folders, but they should only be able to access their home folder, not the others.Adding
www-data
to the user's group. I thought this might work, but apparently it doesn't. Thewww-data
user is indeed in the user's group (checked with the id command), but it still doesn't seem to work.Setting an ACL on the user's home directory. Did that too and gave
www-data
rwx access to the home directory, and yet it still didn't help.
In case you're interested, the /home/<user>/
directory and all files/directories beneath have the 775 permission.
I did restart apache though.
– Skrypt Feb 05 '18 at 16:14sudo -u www-data command
On my end it works perfectly. see https://pastebin.com/mFRQBrWR – ukos Feb 05 '18 at 16:28In your example, though, the directories are owned by www-data:www-data.
I need my files to be owned by user1:user1 but accessible (rwx) by www-data.
And the www-data user is part of user1's group. Changing the ownership of the wordpress website to www-data:www-data works, but that restricts the user to modify the files, if I don't add him to www-data. And if I do (and add a second user to that group too) they will be able to modify each other's files.
– Skrypt Feb 05 '18 at 16:40www-data:www-data
. I created two dirs with$USER:$USER
and$USER:www-data
. Both are working. Check again, if you do not belive it. Please also paste the error. Otherwise we will not progress here. – ukos Feb 05 '18 at 16:45Now, I went into the /wp-content directory inside the wordpress installation in order to show you that the www-data user can't access the files even though www-data is inside the user's "user" group.
https://pastebin.com/DGYBwzLM
– Skrypt Feb 05 '18 at 16:55Anyway. You will need to give the wordpress plugin directory a www-data ownership anyway. Your users will not be able to mess with those directories as they are managed by www-data.
Maybe you will find someone in chat to help you.
– ukos Feb 05 '18 at 17:12