Команда tar умеет архивировать файлы с сохранением прав доступа к файлам.
Нужно вместо
tar -czf archive.tar.gz directory
написать
tar -cpzf archive.tar.gz directory
А при распаковке тоже указать параметр "p":
tar -xzpf archive.tar.gz
http://www.aota.net/forums/showthread.php?t=21329