This may sound odd.
My username is ubuntu and my machine is called ubuntu.
What I want is when I create a file in some folder that it has a signature
user group
ubuntu www-data
at the moment whatever i create has a signature
ubuntu ubuntu
Can I simply remove my user from group ubuntu and add it to group www-data?
sudo chgrp www-data *yourfile*
will do it for individual files.to do it for all files within a specific directory, change the group for that directory with the same command
sudo chgrp www-data /path/to/your/dir
then use the
chmod
command to make all files created within that directory belong to the group the directory belongs to withsudo chmod g+s /path/to/your/dir
The command
sg
can execute a command under a different group ID. If you are a member of the groupnewgroup
, this should createnewfile
within that group :(Source: https://unix.stackexchange.com/questions/18796/how-to-apply-changes-of-newly-added-user-groups-without-needing-to-reboot)
We can create a simple function, based on
touch
andchown
commands, which will create new empty files and will change their permissions simultaneously. Or when the file exists it just will change its permissions. For this purpose type in the terminal:Now we have a new command, called
touch-www
, and we can use it in this way:To be possible to use this new command everywhere in the file system let's modify the function in this way:
Once the file have enough permissions we can edit it with the current user. So let's assume we want to use and
nano
in the way described here. Let's create new function:To be these new commands permanently available we can add these lines in the bottom of the
~/.bashrc
file:Assuming you only want to change the group and retain the user value, try
or in your case:
Then run
You could create a www-data user, with www-data group as their primary [see
useradd
,adduser
, or egkuser
], change to that user [su www-data
] and then all files made would be owned by that user:group.Backup
/etc/group
(or the whole of /etc) first before messing with groups. Also lookup what to do if you're locked out because of group permissions.Or, you could alter the primary group of the user named "ubuntu" to be www-data:
sudo usermod --gid www-data ubuntu
.There may be security issues with the later as it might at some point (eg combined with other bugs) expose all files owned by that group to your web server. The point of www-data group is that only those files owned by it are allowed to be sent externally by the server (apache, nginx, whatever). Having all your standard user login files belong to that group thus creates a risk.