Handling File Attributes
========================
_(This message will disappear, once this node revised.)_
When `tar' reads files, this causes them to have the access times
updated. To have `tar' attempt to set the access times back to what
they were before they were read, use the `--atime-preserve' option.
Handling of file attributes
`--atime-preserve'
Preserve access times on files that are read. This doesn't work
for files that you don't own, unless you're root, and it doesn't
interact with incremental dumps nicely (Note:Backups), and it
can set access or modification times incorrectly if other programs
access the file while `tar' is running; but it is good enough for
some purposes.
`-m'
`--touch'
Do not extract file modified time.
When this option is used, `tar' leaves the modification times of
the files it extracts as the time when the files were extracted,
instead of setting it to the time recorded in the archive.
This option is meaningless with `--list' (`-t').
`--same-owner'
Create extracted files with the same ownership they have in the
archive.
This is the default behavior for the superuser, so this option is
meaningful only for non-root users, when `tar' is executed on
those systems able to give files away. This is considered as a
security flaw by many people, at least because it makes quite
difficult to correctly account users for the disk space they
occupy. Also, the `suid' or `sgid' attributes of files are easily
and silently lost when files are given away.
When writing an archive, `tar' writes the user id and user name
separately. If it can't find a user name (because the user id is
not in `/etc/passwd'), then it does not write one. When restoring,
and doing a `chmod' like when you use `--same-permissions'
(`--preserve-permissions', `-p'), it tries to look the name (if
one was written) up in `/etc/passwd'. If it fails, then it uses
the user id stored in the archive instead.
`--no-same-owner'
Do not attempt to restore ownership when extracting. This is the
default behavior for ordinary users, so this option has an effect
only for the superuser.
`--numeric-owner'
The `--numeric-owner' option allows (ANSI) archives to be written
without user/group name information or such information to be
ignored when extracting. It effectively disables the generation
and/or use of user/group name information. This option forces
extraction using the numeric ids from the archive, ignoring the
names.
This is useful in certain circumstances, when restoring a backup
from an emergency floppy with different passwd/group files for
example. It is otherwise impossible to extract files with the
right ownerships if the password file in use during the extraction
does not match the one belonging to the filesystem(s) being
extracted. This occurs, for example, if you are restoring your
files after a major crash and had booted from an emergency floppy
with no password file or put your disk into another machine to do
the restore.
The numeric ids are _always_ saved into `tar' archives. The
identifying names are added at create time when provided by the
system, unless `--old-archive' (`-o') is used. Numeric ids could
be used when moving archives between a collection of machines using
a centralized management for attribution of numeric ids to users
and groups. This is often made through using the NIS capabilities.
When making a `tar' file for distribution to other sites, it is
sometimes cleaner to use a single owner for all files in the
distribution, and nicer to specify the write permission bits of the
files as stored in the archive independently of their actual value
on the file system. The way to prepare a clean distribution is
usually to have some Makefile rule creating a directory, copying
all needed files in that directory, then setting ownership and
permissions as wanted (there are a lot of possible schemes), and
only then making a `tar' archive out of this directory, before
cleaning everything out. Of course, we could add a lot of options
to GNU `tar' for fine tuning permissions and ownership. This is
not the good way, I think. GNU `tar' is already crowded with
options and moreover, the approach just explained gives you a
great deal of control already.
`-p'
`--same-permissions'
`--preserve-permissions'
Extract all protection information.
This option causes `tar' to set the modes (access permissions) of
extracted files exactly as recorded in the archive. If this option
is not used, the current `umask' setting limits the permissions on
extracted files.
This option is meaningless with `--list' (`-t').
`--preserve'
Same as both `--same-permissions' (`--preserve-permissions', `-p')
and `--same-order' (`--preserve-order', `-s').
The `--preserve' option has no equivalent short option name. It
is equivalent to `--same-permissions' (`--preserve-permissions',
`-p') plus `--same-order' (`--preserve-order', `-s').