Domanda

Ci sono modi in OS X per clonare i permessi di una cartella ad un'altra. Giusto per essere chiari, io non voglio copiare l'intera cartella, solo i permessi e poi disporli su un'altra cartella. Credo che questo tipo di cosa potrebbe essere raggiunto su Linux / UNIX utilizzando i comandi setfacl / getfacl, ma io sono sicuro su come fare questo con OS X.

Grazie

È stato utile?

Soluzione

Testato su Mac OS X v10.5.7, in bash:

chown $(stat -f%u:%g "$srcdir") "$dstdir" # Copy owner and group
chmod $(stat -f%Mp%Lp "$srcdir") "$dstdir" # Copy the mode bits
(ls -lde "$srcdir"  | tail +2 | sed 's/^ [0-9]*: //'; echo) | chmod -E  "$dstdir" # Copy the ACL

Note: Queste operazioni (in particolare la modifica di proprietà.) Sono suscettibili di richiedere l'accesso di root; cospargere con sudo per i migliori risultati. Inoltre, il comando echo dispari nell'ultima riga è lì per impedire un errore se srcdir non ha nessun accessi ACL allegati (chmod -E può far fronte a righe vuote, ma non un ingresso completamente vuota).

Altri suggerimenti

si presumo Googled e trovato almeno:

E questo sembra anche per coprire alcune informazioni importanti (come ad esempio fsaclctl).

Quello che ho finito per fare è stato la creazione di un metodo C Obiettivo (Stavo pensando di utilizzare questo in un'applicazione Cocoa comunque) che trova i permessi di un file utilizzando uno script perl, quindi usa chmod / chown per applicare tali autorizzazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top