Есть ли способ до chmod 777
содержимого tarfile при создании (или вскоре после этого) до его распространения? Разрешения на запись в каталоге tar'd неизвестны во время tar'ing (но обычно 555). Я хотел бы, чтобы развернутый каталог был доступен для записи в мире без того, чтобы пользователи, которые разворачивали tar, должны были помнить до chmod -R 777 <untarred dir>
, прежде чем продолжить.Настройка прав доступа к содержимому tarfile
Неудобным способом было бы сделать копию каталога, а затем chmod -R 777 <copydir>
, но мне было интересно, было ли лучшее решение.
Я нахожусь на машине Solaris 10.
ФОН:
Корневой каталог находится в нашем ClearCase ВОБ с определенными правами доступа к файлам, рекурсивно. Tarfile создается и распространяется несколькими «клиентами» в нашей организации. Большинству нужны только права на чтение/выполнение (и, в частности, НЕ хочу, чтобы они были доступны для записи), но одной группе, в частности, требуется, чтобы их копия была рекурсивно доступна для записи, так как они могут редактировать эти файлы или даже возвращаться к «новой» копии (т.е. , в их первоначальном состоянии, как я им дал).
Эта группа несколько технически оспаривается. Несмотря на то, что у них есть инструкции по «how-to» в tarfile, они всегда, кажется, забывают (или ошибаются) настройку файлов, которые будут рекурсивно доступны для записи после того, как они были нераскрыты. Это приводит к телефонным звонкам на меня, чтобы диагностировать множество проблем, в которых основной причиной является то, что они забыли (или сделали неверно) chmod'ing разворачиваемого каталога.
И прежде чем вы спросите, да, я написал им сценарий для untar/chmod (специфический только для них), но ... ох, неважно.
Итак, я решил, что создаю отдельную рекурсивно-перезаписываемую версию tar для распространения именно на них. Как я уже сказал, я всегда мог создать копию каталога, сделать копию рекурсивно доступной для записи, а затем дешифровать копию копий, но дистрибутив довольно большой, а дисковое пространство иногда почти полностью (оно может сильно различаться), поэтому создание копии каталога не будет осуществимо в 100% случаев.
вам придется CHMOD первоисточника реж ДО запуска деготь. tar будет захватывать разрешения/права собственности во время разгона. Существуют варианты принудительного изменения переходов при извлечении, но вы не можете ожидать, что пользователи помнят эти дополнительные параметры. –
Python имеет красивую библиотеку tarfile для написания пользовательских сценариев tarring, но GNU tar, похоже, не имеет для этого возможности. –
@MarcB Я бы тогда потерял существующие разрешения. – splungebob