Autorizzazioni per i nuovi file nella directory condivisa

28

Abbiamo appena ricevuto un nuovo iMac che utilizza la directory /Users/Shared per archiviare le risorse multimediali (immagini, audio, video) che vogliamo siano accessibili a tutti gli utenti sulla macchina. Dopo aver copiato inizialmente tutti i file, abbiamo impostato le autorizzazioni desiderate e quindi applicato le stesse autorizzazioni a tutti i contenuti della directory in modo ricorsivo. Funziona bene, tranne quando qualcuno crea un nuovo file o una nuova directory, non ha le stesse autorizzazioni e dobbiamo ripetere l'intero processo di autorizzazione prima che tutti possano accedervi.

C'è un modo in cui possiamo impostare le autorizzazioni per tutti i nuovi file / directory creati all'interno di quella directory?

    
posta Daniel Standage 30.12.2010 - 02:21
fonte

2 risposte

25

Non è possibile farlo con le autorizzazioni in stile POSIX tradizionale, ma è possibile con voci di controllo di accesso ereditabili. Per consentire l'accesso in lettura + scrittura per l'intero gruppo "staff" a tutto in / Users / Shared / reallyshared, devi utilizzare:

sudo chmod -R +a "staff allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" /Users/Shared/reallyshared

La parte file_inherit,directory_inherit significa che questa voce del controllo accessi verrà automaticamente aggiunta ai nuovi file & cartelle create all'interno di questa cartella, ma non si applica automaticamente agli elementi già presenti (è per questo che ho aggiunto il -R flag a chmod - che lo applica a tutto ciò che è attualmente all'interno della cartella), e non sarà applicato a elementi creati da qualche altra parte e poi spostati in questa cartella (non so come aggirarli, mi dispiace).

    
risposta data 29.01.2011 - 19:49
fonte
4

Un altro approccio è usare Terminal (detto anche shell o prompt dei comandi) per creare / modificare (deve essere eseguito come superutente, vedere sudo) il file:
/etc/launchd-user.conf
aggiungere la riga:
umask 000
salvare e riavviare. Nuovi file / cartelle (compresi i file modificati da Salva con nome) consentiranno a tutti di leggere / scrivere.

Funziona modificando le autorizzazioni di creazione file predefinite per i programmi, mentre l'approccio ACL funziona in termini di regole di accesso legate a particolari file e cartelle.

Senza questa modifica, i file vengono creati consentendo all'utente: lettura-scrittura, gruppo e amp; altro: sola lettura.

Se stai condividendo tra più computer, devi farlo per tutti i computer che utilizzeranno la condivisione.

Se hai file e cartelle esistenti nell'area condivisa, devi renderli tutti leggibili / scrivibili da tutti che utilizzano:
sudo chmod -R og+w <shared-folder-name>

Il comando si legge in inglese come modalità di modifica, ricorsiva attraverso tutte le sottocartelle e i file, altri & le autorizzazioni di gruppo aggiungono l'accesso in scrittura, iniziando dalla cartella con.

Questo approccio è menzionato nei forum per funzionare almeno sin dal 10.6 e funziona ancora su 10.7.

Altri fattori continuano a influire sull'accesso ai contenuti. Ad esempio, le autorizzazioni impostate nel pannello di controllo Condivisione, le autorizzazioni / gli ACL della cartella principale e quando si utilizza Terminal qualsiasi umask in vigore per la shell.

Cerca le umask e permessi dei file Posix per i dettagli su questi concetti Unix. Nelle scritture, la directory word è parlance Unix sinonimo di cartella. Verranno inoltre visualizzati i termini UID e GID: ID utente e gruppo, che definiscono la proprietà Posix dei programmi in esecuzione (processi). Nota che UID e GID sono numeri che possono essere uguali o diversi per un dato nome utente su computer diversi. Questi numeri vengono assegnati ai nomi nell'ordine in cui gli account vengono creati su un determinato computer, in genere a partire dall'ID 501. Le reti domestiche mancano di un meccanismo per armonizzare questi compiti tra computer. Pertanto, nelle condivisioni di rete può sembrare che un file appartenga a utenti diversi perché l'ID utente per il binding del nome utente viene determinato dal punto di vista del computer che accede al file. Le condivisioni quindi consentono sempre a chiunque di accedere ai file a vari livelli di tutti. In altre parole, il permesso "altro" di Posix è un limite indefinito di accesso che va dal consentire un grado di accesso abbastanza prevedibile ma apparentemente incerto, a seconda degli ID utente assegnati su computer diversi. Ciò porta a variazioni apparentemente assurde nelle esperienze, in cui su alcune reti, ad esempio una configurazione con un solo account utente mai creato su ciascun Mac, sarà in grado di condividere senza alcuna modifica delle autorizzazioni perché tutti gli account avranno lo stesso UID (501, no importa quale sia il nome degli account) mentre un'altra rete che utilizza più account utente per Mac vedrà subito i problemi. Quindi alcuni gruppi non avranno mai problemi con questo, mentre altri potrebbero vedere problemi che si sviluppano nel tempo o problemi che appaiono / scompaiono spontaneamente, a seconda di quando / come vengono creati / utilizzati account utente aggiuntivi con la cartella condivisa.

È un mistero il motivo per cui Apple ha lasciato un difetto di usabilità festante nella configurazione di una capacità di condivisione di file altrimenti facile da abilitare.

Sui dischi esterni, questo problema viene risolto con l'opzione "Ignora permessi su questo volume". Potrebbe esserci una funzionalità simile per la condivisione di file Apple, ma dov'è.

Se si rotola la propria configurazione del servizio Samba ci sono altri meccanismi per gestire questi problemi, ma Samba non è affatto facile da usare.

    
risposta data 18.08.2012 - 00:09
fonte

Leggi altre domande sui tag