C'è un modo per chmod 777
il contenuto di un tarfile al momento della creazione (o poco dopo) prima della distribuzione? I permessi di scrittura della directory che è tar'd sono sconosciuti al momento del tar'ing (ma in genere 555). Vorrei che la directory srotolata fosse scrivibile in tutto il mondo senza che gli utenti che stanno srotolando il tar debbano ricordarsi di chmod -R 777 <untarred dir>
prima di procedere.Impostazione dei permessi sui file sul contenuto del tarfile
Il modo maldestro sarebbe di fare una copia della directory, e quindi chmod -R 777 <copydir>
ma mi stavo chiedendo se ci fosse una soluzione migliore.
Sono su una macchina Solaris 10.
BACKGROUND: directory
La radice è nel nostro vob ClearCase con i permessi di file specifici, in modo ricorsivo. Un tarfile viene creato e distribuito a più "clienti" all'interno della nostra organizzazione. La maggior parte richiede solo le autorizzazioni di lettura/esecuzione (e in particolare NON le vuole scrivibili), ma un gruppo in particolare ha bisogno che la loro copia sia scrivibile in modo ricorsivo poiché possono modificare questi file, o persino ripristinare una copia "fresca" (cioè , nel loro stato originale come li ho dati loro).
Questo gruppo è in qualche modo tecnicamente in difficoltà. Anche se hanno istruzioni sui "how-to" del tarfile, sembrano sempre dimenticare (o sbagliare) l'impostazione dei file da scrivere in modo ricorsivo una volta scomparsi. Questo mi porta a telefonare per diagnosticare una varietà di problemi in cui la causa principale è che si sono dimenticati di fare (o hanno fatto erroneamente) il chmoding della directory srotolata.
E prima che tu me lo chieda, sì, ho scritto loro una sceneggiatura per untar/chmod (specifica solo per loro), ma ... oh, non importa.
Quindi, ho pensato di creare una versione separata, scrivibile in modo ricorsivo del tar da distribuire solo a loro. Come ho detto in origine, potrei sempre creare una copia della directory, rendere la scrittura scrivibile in modo ricorsivo e quindi tarare la directory di copia, ma la directory è abbastanza grande e lo spazio su disco è a volte pieno (può variare notevolmente), quindi fare una copia della dir non sarà fattibile al 100% delle volte.
dovrete chmod dir fonte originale prima di lanciare tar
-p
. tar acquisirà le autorizzazioni/proprietà al momento del tarring. Ci sono opzioni per forzare la modifica dei perms quando vengono estratti, ma non puoi aspettarti che gli utenti ricordino quelle opzioni extra. –Python ha una bella libreria 'tarfile' per scrivere script personalizzati di tar, ma GNU tar sembra non avere alcuna opzione per questo. –
@MarcB Quindi perderei le autorizzazioni esistenti. – splungebob