I am not a Linux expert and mostly a developer but something that should work is not.
I have created a script that after a general install of Ubuntu 20.04 Linux configures my .NET Core website using NGINX as a proxy.
I download my setup script to the Ubuntu Server into a directory called /setup.
When I run this script it all works except for one small issue.
I have created a new nginx.conf file that I just want to copy over the original /etc/nginx/nginx.conf file. When I do this, I want the copied over file to keep the same rights and permissions as the original.
In my script I am using (I Googled):
sudo rsync -HDgop /setup/nginx/nginx.conf /etc/nginx/nginx.conf
When I do this (the script I run) I am logged in as a ‘sudo’ user let’s say is called ‘scarlett’.
If I change directory to /etc/nginx/nginx.conf and do a ‘ls -la’ the nginx.conf is now owned by scarlett:scarlett rather than the original root:root.
What am I doing wrong here?
Note: the script is written in PowerShell not Bash for reasons out of my control. Though it does work well bar this.
I have now tried this only at the command line and no matter what I do it simply doesn't work.
/etc/nginx/nginx.conf Initially has root:root ownership.
sudo rsync -HDgop /setup/nginx/nginx.conf /etc/nginx/nginx.conf sudo rsync -avz /setup/nginx/nginx.conf /etc/nginx/nginx.conf sudo cp -p /setup/nginx/nginx.conf /etc/nginx/nginx.conf
/etc/nginx/nginx.conf always ends up with MySudoGroupUser:MySudoGroupUser ownership instead of root:root.
This is also same file system same machine.
I could manually re-own this file but doesn't that sort of defeat the point of the switches.