multiple owner of same folder
I have changed owner of the /var/www/html
folder to www-data
. Now I want to grant ownership to ubuntu
as well.
How can I do that? I don't know which group they belong to.
I login to ssh
by using ubuntu
username and my FTP is also working with ubuntu, but now due to this change I am facing permission issue when editing a file via ftp.
Solution 1:
Solution 1
Easiest way if only that one user ubuntu
and www-data
need access would be
sudo chown ubuntu:www-data <path/to/file or directory>
this gives ownership to the user ubuntu
but still keeps the ownership for the group www-data
.
So you control what ubuntu can do by
sudo chmod u<+|- permission> <path/to/file or directory>
and you control what www-data
can do by
sudo chmod g<+|- permission> <path/to/file or directory>
or simply use complete permission masks (see example below).
Example:
User ubuntu
shall be able to read(r
), write(w
), execute(e
)www-data
shall be able read(r
), execute(e
) but not write(w
)other users
shall be able to do none of those
sudo chmod u+rwx <path/to/file or directory>
sudo chmod g-w+rx <path/to/file or directory>
sudo chmod o-rwx <path/to/file or directory>
or using a permission masks (helpful generator)
sudo chmod 750 <path/to/file or directory>
Also interresting for your case might be the -R
parameter for both commands, applying ownership and permissions recursively on the content of a folder.
For more information about options and parameters see
man chown and
man chmod
Solution 2
I would rather NOT add a user to a system functional user's group as suggested in the comments like
sudo usermod -a -G www-data ubuntu
as this is a really dirty way of granting a user permissions because he could also mess up things...
Instead if you want you could add a completely new group using groupadd
(see man groupadd)
groupadd <group name>
add all users who shall have the permissions on the file(s) to this group
sudo usermod -a -G <group name> ubuntu
sudo usermod -a -G <group name> www-data
(for more information see man usermod)
and now set the ownership of the file(s) to this group
sudo chgrp <group name> <path/to/file or directory>
than you set the permissions as described before but this time only for the
group (read(r
), write(w
), execute(e
))
sudo chmod g+rwx <path/to/file or directory>
sudo chmod u-rwx <path/to/file or directory>
sudo chmod o-rwx <path/to/file or directory>
or using the mask
sudo chmod 070 <path/to/file or directory>
Note that using this solution you lose the control over the different permissions for ubuntu
and www-data
.