архивирование файлов без смены владельца

find /Your/Folder -type d -regextype posix-extended -regex ^[^\.].*$ -exec chmod -R 755 {}

^[^\.] : исключит все имена файлов, начинающиеся с точки.

3
08.11.2016, 14:17
1 ответ

Если вы используете tar , вы можете сохранить право собственности на файлы. Однако, если вы не являетесь пользователем root при извлечении файла из файла tar, право собственности не будет восстановлено, если у вас нет разрешения.
Обратите внимание, что tar не сжимает, он только архивирует.

В качестве дополнительного бонуса tar сохранит права доступа к файлам и каталогам.

Для используйте tar и убедитесь, что сохранили все права собственности и разрешения :

tar cpf ~/myarchive.tar folder_to_archive

(позаботьтесь о том, чтобы tar сохранял также относительный или абсолютный путь. При распаковке, если вы являетесь стандартным пользователем, tar будет извлекать файлы относительно текущей папки. Но если вы являетесь пользователем root и использовали абсолютный путь, tar извлечет их, используя абсолютный путь, потенциально перезаписывая существующие файлы. Прочтите документацию tar и учебные пособия для всех возможностей, касающихся абсолютных или относительных путей.)

(при желании вы можете затем сжать свой tar-архив с помощью любого инструмента сжатия. Примеры: gzip ~ / myarchive.tar или xz ~ / myarchive.tar и т. Д.)

Чтобы распаковать ваши файлы :

tar --same-owner xpf ~/myarchive.tar

Как обычный пользователь, это будет извлекать файлы в текущей папке, разрешения будут сохранены, но права собственности пользователя будут потеряны, а права собственности группы могут быть потеряны, если вы не входят в группу.

Но для правильной настройки всех разрешений и прав владения вам нужно будет либо вызвать эту команду через sudo , либо выполнить ее как пользователь с достаточными привилегиями (обычно root).

PS: если вы работаете в Linux и используете GNU tar, вы можете дополнительно сохранить некоторые метаданные, такие как ACL, xattr или SELinux. Но вам нужно использовать специальные флаги, чтобы tar знал, что вы хотите заархивировать и эти данные. См. документацию GNU tar .

1
27.01.2020, 21:31

Теги

Похожие вопросы