Nessun diritto di aprire il file una volta copiato sul desktop

5

Sono nuovo di Mac, quindi potrei non avere il vocabolario corretto.

  • Abbiamo un Mac 10.5.x configurato per condividere file con AFP e SMB.
  • Abbiamo 4 altri Mac come client, varie versioni tra 10.5 e 10.6.
  • Ciascuno di essi accede al server con l'utente + la password corretti.
  • La condivisione ora è configurata per ignorare le autorizzazioni, ma prima il problema era identico.
  • Possiamo creare / aprire / modificare / cancellare / rinominare / etc file sul server, da ogni client.

Il problema:
Quando copia un file dal server al desktop di un client, il file copiato non può essere aperto. Il messaggio di errore dice che le autorizzazioni non consentono la lettura del file.
Questo è per ogni file dal server, su tutti e 4 i client.
I file vengono copiati con il finder, dal client.

Modifica
Ho controllato le autorizzazioni. Sulla condivisione del server, quando guardo le autorizzazioni da un computer client, ogni file è -------rw- cedric cedric (lettura-scrittura per tutti) con l'utente e il gruppo identici alle persone connesse (qui cedric, ma questo è un altro utente quando visualizzato da un altro computer).
Una volta che il file è stato copiato sul desktop, le autorizzazioni e il proprietario sono gli stessi. Quindi non è possibile aprire il file perché le autorizzazioni non sono corrette (l'ho appena testato su Linux, quando un file è RW solo per tutti, il proprietario non può aprirlo).

Quindi, esiste un modo per copiare automaticamente i file con autorizzazioni migliori? O condividere i file correttamente?

Modifica
Ogni computer client è ora aggiornato a 10.6.x per il più vecchio e 10.7.x per gli altri due. Il problema è esattamente lo stesso.
Ho anche notato che un computer non può salvare file dal software Adobe. L'utente salva i file sul suo desktop, quindi usa il mirino per spostarli sul server.

    
posta Gregory MOUSSAT 24.02.2013 - 14:17
fonte

3 risposte

1

Sembra che tu stia usando un Mac non server per fungere da server. È corretto? In tal caso, consiglio vivamente di eseguire l'aggiornamento ad alcune versioni di OS X Server.

Se sono corretto, il problema è causato dall'utilizzo delle autorizzazioni standard di Mac (o POSIX) per gestire la condivisione dei file. Questa è l'unica opzione disponibile per un Mac standard quando si condividono file. Questo causa problemi di autorizzazione, sia che si utilizzi il protocollo AFP o SMB (anche se SMB è peggio in questo senso).

Se è possibile eseguire l'aggiornamento a OS X Server, è necessario prima pulire le autorizzazioni sulla cartella che si desidera condividere (risolvendo quindi eventuali problemi esistenti). Quindi crea utenti e amp; gruppi per modellare la struttura organizzativa. Da lì creerai una nuova condivisione file usando l'app Server. Non modificare nessuna delle autorizzazioni predefinite che fornisce. Fare invece clic sul pulsante "+" per aggiungere una nuova voce di controllo di accesso. Questo è un tipo speciale di permesso che OS X Server può garantire, e risolve tutti i problemi di permessi che un Mac standard ti fornirà in tale configurazione.

Peachpit Press offre un ottimo resoconto di tutto ciò anche nei manuali di OS X Server, sebbene non sia stato possibile trovare nulla da collegare direttamente. Spero che questo aiuti.

    
risposta data 01.03.2013 - 05:04
fonte
6

Esistono problemi noti (bug creati da Apple) con diverse revisioni dell'accesso ai file OS X 10.5 Leopard Client e AFP, inclusi i problemi di autorizzazione e, in alcuni casi, persino la possibilità di perdere o sovrascrivere completamente i file.

Non ci sono soluzioni per questi bug, sono nel sistema operativo stesso e possono essere riprodotti su 2 formattati di recente e amp; Mac installati con Leopard 10.5 e la maggior parte o tutte le revisioni successive, ad esempio 10.5.1, 10.5.2, ecc.

La soluzione migliore è assicurarsi di aggiornare tutti i 10.5 Mac a 10.6.8 Snow Leopard. In caso contrario, l'aggiornamento di tutto a 10.5.8 (l'ultima versione di Leopard) potrebbe risolvere i tuoi problemi.

Ecco un elenco di riferimenti che vanno più nel dettaglio:

link

link

link

link

link

    
risposta data 26.02.2013 - 18:44
fonte
0

Il modo più semplice per farlo è usare il terminale. Per fare ciò, è necessario avere accesso sudo, che presumo tu abbia familiarità con, concettualmente, almeno, dal momento che hai citato Linux.

TL; DR: find . \! -perm 666 -type f -exec sudo chmod 666 {} \; è un one-liner che farà il trucco, assumendo che tu lo esegua dalla cartella esatta che desideri, ad esempio $HOME/Desktop/files_are_in_this_folder . Se è solo un file, tuttavia, puoi semplicemente eseguire sudo chmod 666 /path/to/the/file .

Consentitemi di spiegare, al meglio delle mie possibilità, cosa sta succedendo.

find(1) è una potente utility di ricerca estremamente , molto più di whereis . Il motivo per cui è così potente è che ci vogliono così tante opzioni diverse; come esempio più semplice, prova find $HOME -size +100M ; questo troverà tutti i file, in modo ricorsivo, oltre 100 MB e mostrerà un elenco di essi. Il mio output è il seguente:

    /Users/jayands/.rvm/gems/ruby-1.9.3-p385/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
    /Users/jayands/.rvm/gems/ruby-1.9.3-p385/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/obj.host/tools/gyp/libv8_base.a
    /Users/jayands/.rvm/gems/[email protected]/gems/libv8-3.11.8.3-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
    /Users/jayands/.rvm/gems/[email protected]/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
    /Users/jayands/.rvm/gems/[email protected]/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/obj.host/tools/gyp/libv8_base.a
    /Users/jayands/Documents/2013-02-10.wav
    /Users/jayands/Documents/2013-02-17.wav
    /Users/jayands/Documents/2013-02-24.wav
    /Users/jayands/Documents/2013-03-03.wav
    /Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data0.sdb
    /Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data1.sdb
    /Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data2.sdb
    /Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data4.sdb
    /Users/jayands/Library/Caches/com.apple.Safari/Cache.db
    /Users/jayands/Music/iTunes/iTunes Media/Podcasts/Bronyville/93 Bronyville Episode 093 – Friendship Gives You Wings!.mp3

Come vedi, troverà tutto, anche cose che non vuoi modificare. Se hanno una convenzione di denominazione specifica, ad esempio, *.wav , è possibile specificare anche il comando find da cercare per nome. find . -name '*.wav'

Ho detto tutto ciò per familiarizzare con la parte più semplice di find ; quella che segue è la parte che tende a far inciampare la gente. find ha direttive puoi farle a ciò che trova. -print è così comune che è quello predefinito e generalmente non deve essere specificato. -print0 , tuttavia, è un po 'più interessante: fa per lo più la stessa cosa di -print , ma lo 0 è un carattere NUL che sostituisce i linefeed; rende le tubazioni a xargs più facili. Quello a cui siamo interessati, tuttavia, è la direttiva -exec , che consente di eseguire la maggior parte dei comandi di shell su ogni file, che ci porta a {} e \; . Il \; è di uscire da un punto e virgola per la fine del comando exec e le parentesi graffe provengono da awk , se ricordo correttamente. Vengono sostituiti da ciò che viene trovato.

chmod è ancora in circolazione dai giorni Unix; in effetti, molti dei comandi che puoi eseguire in Linux in xterm hanno qualche analogico nel terminale Mac. chmod 666 ti darà accesso in lettura e scrittura per tutti; tuttavia, se non riesci a ricordarlo, prova chmod a=rw . Entrambi questi comandi significano: "prendi il file di cui sto parlando e imposta le autorizzazioni per l'accesso in lettura e scrittura per tutti".

Inoltre, dal momento che stai collaborando, potresti voler eseguire un privato git , Perforce ( p4 ) o Mercurial ( hg ) server, poiché anche questi sistemi di gestione gestisci le autorizzazioni dei file.

Altre informazioni

find

  1. man find dal Terminale
  2. questo tutorial

chmod

  1. man chmod

sudo

  1. man sudo

git : Dalla homepage di git

Se hai bisogno di ulteriore aiuto, basta chiedere.

Oh, prima che dimentichi: sudo chiede la tua password amministratore per quella macchina.

    
risposta data 04.03.2013 - 09:18
fonte

Leggi altre domande sui tag