Something else I'd like to add since the discussion moved this way a bit...
If you use the cp -rp command for a recursive copy, the owner and group are not preserved as they are set on the target side to the user who is doing the copy. Also, mtime is set to "now" on the target side.
However, if you want to preserve owner, group, perms, and mtime on a copy you can do the following as root:
cd /source
find . -depth -print | cpio -pdm /target
1) You must hand cpio the filenames to be copied using a relative path (.)
2) For decades find did not have a default action of -print, so I still put it there out of habit.
3) You need -depth so that find starts at the bottom of the filesystem tree and works its way back up. This makes it so that cpio will set mtimes on the directories back to what they had in /source
4) The -p option on cpio is pass-through. It does not build a backup/archive file, it does a copy. The -d option is to make sub-directories as needed, and -m maintains mtimes from source to target.
I used this a lot when moving directories in / into their own new filesystems after a system had been installed, say /opt, again as root:
mount /dev/whatever /mnt
cd /opt
find . -depth -print | cpio -pdm /mnt
cd /
du -sk /opt /mnt <== /mnt should be slightly larger than /opt due to the /mnt/lost+found directory that was not in /opt since it is a part of /
rm -rf /opt/* <== remove everything inside of /opt to free up space in the / filesystem, but leave /opt the directory for the mount point
umount /mnt
mount /dev/whatever /opt
vi /etc/fstab <== or /etc/vfstab, or /etc/filesystem depending upon OS; and add an entry to mount /opt at boot time.
Dan