[Linux Redhat 7.0, bash shell]

1) Is there a way of extracting from a .zip or .tar and retaining permissions of existing files?

For example, if config.inc.php has permissions 600, extracting that file from a .zip or .tar resets the permissions to 644. I'd like for the permissions to remain 600.

2) Is there a way of using the 'cp' command which uses the source files' last-modified dates but retains the destination files' permissions?

The '-p' option does what I want with dates, but it also copies permissions.