rsync preserve attributes, permissions/ownership and times without being root non-root user

One of the purposes of rsync is to backup whole filesystems and archive them but how can you do that properly and restore things to normal if all permissions and ownerships are not preserved from your root filesystem?

It's not desirable to have everything running as root, especially not just for an rsync.

The Easy rsync preserve permission solution for non-root users

sudo is the answer and all you have to do is edit /etc/sudoers

At the end of the file add a line like below (on both source and all target rsync systems).

*Replace "username" with your actual username of course

username  ALL = NOPASSWD: /usr/bin/rsync

The "NOPASSWD" part does as you'd expect, it allows you to sudo to the rsync command without requiring any password, otherwise it would be impossible to script this process and would make rsync useless for automated backups.

Make sure you add the following when running your rsync backup:

--rsync-path="sudo rsync"

That flag ensures that the ownership and permissions can be preserved even as root on the target system for your non-root user.

Also remember on the source systems to always run rsync with sudo

Eg.

sudo rsync -Pha --rsync-path="sudo rsync" --ignore-errors --exclude=/media  --exclude=/proc/* --exclude=/sys/* / user@destination:/location/
 


Tags:

rsync, preserve, attributes, permissions, ownership, userone, purposes, filesystems, archive, restore, ownerships, preserved, filesystem, desirable, users, sudo, edit, etc, sudoers, quot, username, nopasswd, usr, bin, allows, requiring, password, automated, backups, ensures, user, eg, pha, errors, exclude, proc, sys, destination,

Latest Articles

  • Linux Ubuntu Cannot Print Large Images
  • Cannot Print PDF Solution and Howto Resize
  • Linux Console Login Screen TTY Change Message
  • Apache Cannot Start Listening Already on 0.0.0.0
  • MySQL Bash Query to pipe input directly without using heredoc trick
  • CentOS 6 and 7 / RHEL Persistent DHCP Solution
  • Debian Ubuntu Mint rc-local service startup error solution rc-local.service: Failed at step EXEC spawning /etc/rc.local: Exec format error
  • MySQL Cheatsheet Guide and Tutorial
  • bash script kill whois or other command that is running for too long
  • Linux tftp listens on all interfaces and IPs by DEFAULT Security Risk Hole Solution
  • python import docx error
  • Cisco Unified Communications Manager Express Cheatsheet CUCME CME
  • Linux Ubuntu Debian Missing privilege separation directory: /var/run/sshd
  • bash how to count the number of columns or words in a line
  • bash if statement how to test program output without assigning to variable
  • RTNETLINK answers: Network is unreachable
  • Centos 7 how to save iptables rules like Centos 6
  • nfs tuning maximum amount of connections
  • qemu-kvm error "Could not initialize SDL(No available video device) - exiting"
  • Centos 7 tftpd will not work with selinux enabled