[CS-FSLUG] Copying files and permissions
Tim Young
Tim.Young at LightSys.org
Mon Apr 12 19:15:26 CDT 2010
Hi there,
There are a number of issues involved.
*The short answer* is that you want to use "tar" as the root user if you
are going to copy the files off, let them reside on a temporary (and
different filesystem) and then restore them later.
(If I misunderstood what you were doing and were copying windows files,
I will add this note:) If you are copying from an NTFS and restoring to
an NTFS, then you may be in trouble if you want to retain NTFS
permissions. Linux basically ignores NTFS file permissions, both in
reads and writes. If you are going to backup windows files and restore
them with their original permissions, you need to use "dd" (or another
disk imaging system) or use a windows-based tool. I believe that even
the mcopy tool, while copying retaining the MS attributes, loses the
ownership of the file.
*For backing-up Linux files & restoring them on Linux*:
VFAT and NTFS do not store the same file permissions that linux uses.
So when you write individual files to either of those filesystems, all
your file permissions are irretrievably lost. Regardless of the copy
tools you use, because the filesystem is not capable of storing the file
permissions, you are fighting a losing battle. "Tar" makes a single
file, inside of which it retains all the file permission and ownership.
When you restore the files from a tarball, if you are root, it will
restore all the original owner, and permissions. If you are not root,
it will restore with different variations of the permissions, depending
on what the permissions were. You can use cpio (another "tar" like
linux command-line program) too, though most people now-days are more
familiar with tar.
If you store linux files temporarily on a linux partition instead of a
windows one, there are lots of ways to do it. Rsync has the -a flag
(for archive) which will preserve all permissions and ownership. Ftp,
cp, scp, and all, each have their options to retain permissions. Just
so long as you are going from a Linux filesystem to a Linux filesystem
you are fine.
- Tim
On 4/12/2010 6:42 PM, sjm wrote:
> Ed Hurst wrote:
>> Permissions I get, as well as chmod and the octals. What I don't get
>> is how I can copy large numbers of files and directories from a VFAT
>> jump drive or NTFS external harddrive without having to go back and
>> ding around with permissions.
>>
>> I have a nice 250GB external drive someone gave me, and I use it when
>> helping folks with computer problems. Recently, an owner asked me to
>> install Ubuntu on their machine. Pulled all the files off onto the
>> NTFS drive, installed Ubuntu, the copied them all back. With my
>> limited knowledge, I knew I'd either have to copy as is, and have
>> everything tagged with execute bits set, or copy with MC, turn off
>> the "keep attributes" and end up with 0600 on everything, including
>> folders.
>
> Same a Josiah, I don't have something nearby to test, but a couple of
> thoughts:
>
> - format part of the external drive as ext3 for future use. (And I
> usually use rsync for copying with permissions saved so I can pick up
> later where I left off if the connection fails.) Remember that
> permissions are by uid and gid, so if those change between boxes,
> saved permissions would need ownership changed anyway.
>
> - What trouble are you having with chmod -R? (Remember that X (not x)
> only sets executable for those that are already executable.)
>
> - I like cwRsync for Windows though can't remember how permissions
> transfer right now.
>
> - Tim Young probably has a better answer. :)
>
> sjm
>
>
> _______________________________________________
> ChristianSource FSLUG mailing list
> Christiansource at ofb.biz
> http://cs.uninetsolutions.com
>
More information about the Christiansource
mailing list