Trying out Linode for the first time, running an Arch Linux image, I successfully installed nginx as root.This, however, made /usr/share/nginx/html inaccessible to non-root users.Intuitively, I thought this would work:newgrp www (create a new group)chgrp -R www /usr/share/nginx/html (associate directory recursively with new group)chmod -R g=rw /usr/share/nginx/html (give read-write permissions to new group)usermod -a -G www john.doe (add non-root user to new group)However, I still could not write files to /usr/share/nginx/html as john.doe. I also triedchown -R :www /usr/share/nginx/htmlto see if it had any effectit didn't.Here's what the setup looks like currently:[john.doe@hydrogen nginx]$ ls -ltotal 4drwxrw-r-x 4 root www 4096 Dec 19 08:10 html[john.doe@hydrogen nginx]$ iduid=1000(john.doe) gid=100(users) groups=100(users),10(wheel)[john.doe@hydrogen nginx]$ groups john.doewheel www usersCould someone kindly identify what I'm misunderstanding / missing that I can't write to this directory?
Granting permission for all users in a group to write to a directory and all its subdirectories
permissions;users;group;chown;nginx
Add the Execute bit to your directories. As it stands, john.doe can write and read files in the directory but can't see the files in the directory.  You can see this is true by having john.doe edit a file using a path that is inside the directory.