2

I've just installed Ubuntu Server 16.04.3 and ISPConfig 3.1 following this official guide here: https://www.howtoforge.com/tutorial/perfect-server-ubuntu-16.04-with-apache-php-myqsl-pureftpd-bind-postfix-doveot-and-ispconfig/

Everything is working as expected, but I'm running into a file / directory ownership issue. To explain the issue, I need to write an example:

  • User uploads a PHP script that allows website visitors to upload images to /images/.
  • User must chmod /images/ 0777 or the PHP script will return a permission denied error when some visitor tries to upload an image.

When inspecting the contents of the /images/directory with ls -l images, it returns:

-rw-r--r-- 1 www-data www-data 69455 Dec 12 13:03 755675678.tmp

The .tmp file in this case is a file uploaded with chmod 0777. It suggests that the script is executed by www-data.

However, when inspecting the directory itself with ls -l, it returns:

drwxr-xr-x 2 web1 client1  4096 Dec 12 13:03 images

So that explains why the directory would need to be 0777 for www-data to be able to write to it. Doing some further investigation though, I've checked the client1 group with:

getent group client1 | awk -F: '{print $4}' and it returns: www-data

At this point I'm lost. I'm still very new to Linux and Ubuntu. I don't understand how groups and members of those groups work. But it would seem logical to me that www-data would have all the permissions required because it's a member of client1. I could be completely wrong about this though, so if anyone could explain me why I'm running into this problem and how to fix it, I'd be very gratefull :)

  • the group permissions are -xr, that means read and execute only. the folder permissions need to be 0772 to give group write permission. – ravery Dec 12 '17 at 14:33
  • @ravery Yes, terdon was actually just explaining me that. I assumed the group was automaticly owner of the folder as well. But that was wrong as I now understand :) – icecub Dec 12 '17 at 14:37
  • folder permissions 0777 are hardcoded in PHP script? Allowing nobody to write to the folder is very unsecure. – M. Dm. Dec 12 '17 at 14:40
  • @M.Dm. No they are not. Please read the question again. I think you misunderstood it – icecub Dec 12 '17 at 14:41
  • So if anyone would like to provide a meaningfull answer to this question, please explain that groups aren't the owner of a folder. That's why chmod 0755 wouldn't work. To solve the issue, I have to provide permissions to the group instead (0775). – icecub Dec 12 '17 at 14:53

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.