How to create file as specific group
Solution 1
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 with
sudo chmod g+s /path/to/your/dir
Solution 2
The command sg
can execute a command under a different group ID. If you are a member of the group newgroup
, this should create newfile
within that group :
sg newgroup "touch newfile"
Solution 3
We can create a simple function, based on touch
and chown
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:
function touch-www { touch $1; chown $USER:www-data $1; }
export -f touch-www
Now we have a new command, called touch-www
, and we can use it in this way:
touch-www /path/to/file
To be possible to use this new command everywhere in the file system let's modify the function in this way:
function touch-www { sudo touch $1; sudo chown $USER:www-data $1; }
export -f touch-www
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:
function nano-www { sudo touch $1; sudo chown $USER:www-data $1; nano $1; }
export -f nano-www
To be these new commands permanently available we can add these lines in the bottom of the ~/.bashrc
file:
function touch-www { sudo touch $1; sudo chown $USER:www-data $1; }
export -f touch-www
function nano-www { sudo touch $1; sudo chown $USER:www-data $1; nano $1; }
export -f nano-www
Related videos on Youtube
lewis4u
Updated on September 18, 2022Comments
-
lewis4u over 1 year
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?
-
lewis4u about 7 yearssorry maybe i wasn't clear enough...i want the NEW files that i create to have already the www-data group!
-
lewis4u about 7 yearsi don't want to change the group of the file. i want that file to have www-data group at the moment of creation
-
drewburr about 7 yearsMy apologies. I did find this answer, but it only pertains to files within your home directory
-
Will about 7 years@lewis4u I had already added an option to do that. Refresh the page to see the edit.
-
lewis4u about 7 yearsSorry but I think you didn't read the question carefully. I don't want to change the group of the files. The keyword is "create" and not "change" what you are proposing is changing the files group after they are created.
-
pa4080 about 7 years@lewis4u Yes, you are right, I've got this idea and just decided to share it.
-
rpaillao over 3 yearsTanks @Will , you answer is really usefull to me, a few months in seach for this.