Come modificare in modo ricorsivo la condivisione / autorizzazione di una cartella in Mac OS X.


55

Esistono strumenti o script di Mac OS X che mi consentono di modificare ricorsivamente le proprietà di condivisione / autorizzazione di file e sottocartelle? Ad esempio, per consentire a tutti o a un utente specifico di leggere e scrivere, sola lettura o sola scrittura.

Risposte:


75

Prova il comando chmod. Ad esempio, se si dispone di un nome di directory mydir, il comando seguente abiliterà la lettura / scrittura per quel mydir in modo ricorsivo.

$ chmod -R +rw mydir

Per maggiori informazioni:

$ man chmod

19
Buona risposta, cattivo esempio. Quando si aggiunge l'accesso in lettura e / o scrittura alle cartelle, è necessario aggiungere anche l'accesso di esecuzione ("x", aka ricerca), altrimenti il ​​r / w è in qualche modo inutile. D'altra parte, in genere non si desidera aggiungere esegui ai file. Quando fai una modifica ricorsiva, stai operando su un mix di file e cartelle. La risposta è usare la funzione "smart execute" (maiuscola) di chmod: chmod -R +rwX mydiraggiungerà eseguire solo quando ha senso.
Gordon Davisson,

Gordon: ottima osservazione. Tuttavia, una directory normalmente ha la x attivata, a meno che l'utente non faccia qualcosa di funky per disattivarla.
Hai Vu,

1
Dipende dalle autorizzazioni iniziali. Se dai un'occhiata a una cartella home del Mac con configurazione predefinita, ad esempio, vedrai per la maggior parte delle cartelle (Desktop, Documenti, Libreria, ecc.) Il proprietario ha pieno (rwx) accesso a tutto, ma gruppo e altri non avere accesso (nessuna lettura, scrittura o esecuzione). Se stai aggiungendo lettura o scrittura per gruppo o altri a una di queste cartelle, devi aggiungere anche esegui.
Gordon Davisson,

1
Non funziona per me, si applica solo alla cartella principale, non alle sottocartelle.
delphirules,

29

Seleziona la cartella principale con cui desideri lavorare e apri Inspector (CMD-i o fai clic con il tasto destro e "Mostra informazioni"). Il pannello inferiore è dove è possibile gestire le autorizzazioni.

Aggiungi e rimuovi le autorizzazioni all'elenco lì. Per applicare le stesse autorizzazioni in modo ricorsivo a ogni sottocartella, fai clic sul pignone e seleziona "Applica agli articoli chiusi ..."

Nota: ho notato che l'opzione "Applica agli oggetti chiusi ..." è disattivata quando l'icona a forma di lucchetto nella parte inferiore destra della finestra è bloccata. In questo caso, fai clic sul lucchetto per sbloccarlo inserendo le tue credenziali e quindi riprova con "Applica agli articoli chiusi ..."


Sebbene generalmente utile, non realizzerà ciò che viene richiesto. Sostituisce le autorizzazioni nelle sottodirectory, anziché ad esempio aggiungendo un utente a tutte, indipendentemente dalle autorizzazioni precedenti.
Daniel Beck

@DanielBeck ti sbagli, applica tutti gli elementi dei permessi, chmod e chown questo è il modo 'mac' corretto per farlo
Rob

ho appena provato questa risposta (su una cartella di prova) e non ha funzionato correttamente: poiché una cartella è in genere "eseguibile", quel bit è stato impostato anche su tutti i file allegati, il che è sbagliato. volevo solo cambiare utente e gruppo.
flusso

12

Si desidera utilizzare i comandi chmode chown.

Se ricordo bene, puoi modificare le autorizzazioni in questo modo:

chmod -R +a "joshhunt allow read" /some/file/or/folder/
chmod -R +a "Guest deny read" /some/other/folder/
chmod -R +a "Guest deny write" /some/other/folder/

Per maggiori dettagli uno di questi comandi, cercare le rispettive pagine man nel Terminale:

man chmod
man chown

1
Il modo migliore per quando si cerca di specificare i permessi per un particolare utente
megalucio
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.