Come devo correggere i proprietari e le autorizzazioni in una cartella utente di OS X?


9

Il mio problema è che ho seriamente eliminato tutti i proprietari e le autorizzazioni sulla mia cartella utente e sottocartelle e sta causando molti problemi usando molte applicazioni.

La causa iniziale era che avevo rinominato un utente seguendo le istruzioni del supporto Apple su http://support.apple.com/kb/HT1428

Dopo la configurazione del nuovo utente, il backup Mozy non eseguiva più il backup e molte delle mie applicazioni non potevano aggiornarsi automaticamente. L'applicazione di solito ha ripreso a funzionare se ho eliminato il programma in questione e reinstallato. Ho pensato che fosse perché le autorizzazioni erano sbagliate e ho trovato alcuni posti in cui GetInfo indicava che le autorizzazioni facevano riferimento al vecchio utente. A volte la finestra di dialogo diceva semplicemente "Recupero" per il nome utente e non si aggiornava mai a nient'altro.

Ho eseguito Onyx "permessi di correzione" e Utilità disco "Permessi di riparazione" senza risultati. Con "Permessi di riparazione", continua a lanciare alcuni avvisi di informazioni su ACL imprevisti, ma le informazioni che ho trovato online non pensavano che avrebbero causato problemi come questo.

Ho provato a eseguire in modo ricorsivo alcuni script da riga di comando nelle cartelle dell'utente (sia connesso come root che usando sudo). chmod ha avuto molti errori riguardo al fatto che il proprietario dei file fosse sbagliato. chown dopo che mi ha dato altri errori (non ricordo esattamente cosa fossero). In preda al panico, ho fatto clic con il pulsante destro del mouse sull'intera cartella utente e ho scelto di applicare le autorizzazioni a tutti i bambini.

Da quello che posso dire, quando l'ho fatto, ho impostato tutto su Lettura e scrittura per quell'utente e Sola lettura per " tutti " e " personale ". Ora sto peggio di prima. Firefox si è arrestato in modo anomalo e non è nemmeno in grado di aggiornare le proprie impostazioni, quindi fa apparire "Vuoi ripristinare queste schede" ogni volta che si avvia, anche dopo aver ripetutamente detto "Avvia nuova sessione".

Fondamentalmente, tutto nella mia cartella utente è rotto per quanto riguarda il proprietario e le autorizzazioni e devo sapere cosa dovrebbero essere. Chi dovrebbe essere il proprietario dei file in ogni directory (download, applicazioni, ecc.) E quali dovrebbero essere le autorizzazioni? Dati questi permessi e proprietari, qual è il modo migliore per sistemarli?

Ho visto una domanda simile a questa in Ripristino delle autorizzazioni utente sulla modalità predefinita, ma riguarda solo le autorizzazioni, non i proprietari, che è già stato un problema.

Non sono sicuro che reinstallare il sistema operativo sulla copia che ho in questo momento risolverà qualsiasi cosa e sono vicino a chiamare il supporto Apple se non riesco a capire nulla nei prossimi giorni. Grazie per qualsiasi aiuto.


Hai almeno capito come è successo? Che cosa è specificamente sbagliato? ACL, metadati o autorizzazioni UNIX tradizionali. È difficile coprire tutto in una sola risposta, soprattutto se necessario reimpostare i bit immutabili.
bmike

E per facilitare la risoluzione dei problemi, installerei il sistema operativo su un'unità esterna, avvierei da lì e monterei l'unità "problematica" per ignorare le autorizzazioni e vedere se rsync o qualcosa ti consentirà di riportare i file in uno stato più pulito. Quindi è possibile eliminare l'utente e copiarlo nuovamente - rispettando l'ACL del nuovo utente e le autorizzazioni per le cartelle in ~ - facendo attenzione a spostare il contenuto ~/Library/e non ~/Libraryse stesso.
bmike

Non sono sicuro diverso da quello che ho scritto sopra. Apprezzo i suggerimenti ma non sono un grande utente esperto. Se è più complicato di qualche riga di comando o utilità, ho intenzione di rinunciare e ripristinare da un backup di Time Machine.
Cisellis,

Buon piano. Se necessario, puoi chiedere aiuto a un tecnico una volta ripristinato il backup, in genere puoi quindi avere un breve elenco di cose obsolete o mancanti. Sono contento che tu abbia un backup :-)
bmike

Risposte:


10

Il primo passo che consiglierei è provare a ripristinare le autorizzazioni della cartella principale con l'utilità Reimposta password in Lion Recovery. (Nonostante il nome dell'utilità, in realtà non ripristinerai alcuna password.)

Il ripristino delle autorizzazioni della cartella principale con l'utilità Reimposta password reimposterà sia il proprietario che le autorizzazioni.

  1. Riavvia il tuo Mac tenendo premuto + Rper avviare Lion Recovery, che ti porterà alla schermata Ripristina utilità.

  2. Apri Terminale dal menu Utilità.

  3. In Terminale, immettere resetpasswordper aprire l'utilità Reimposta password.

  4. Scegli l'icona del tuo disco rigido in alto, quindi scegli il tuo utente dal menu a discesa in basso. Non reimpostare la password qui.

  5. Nella parte inferiore della finestra, sotto "Ripristina autorizzazioni e ACL della home directory", fai clic sul pulsante "Ripristina". Questo potrebbe richiedere del tempo se nella cartella principale sono presenti molti file.

Ciò dovrebbe risolvere i problemi di autorizzazione per la maggior parte delle app. Tuttavia, è possibile che tu abbia alcune app che hanno salvato file con autorizzazioni speciali diverse dalle autorizzazioni predefinite dell'utente (come le preferenze o i file di supporto dell'applicazione). Per quelle app, potrebbe essere necessario eliminare le loro preferenze o reinstallare l'app.

Se il ripristino delle autorizzazioni della cartella principale non funziona, potrebbe essere necessario provare a ripristinare da un backup o trasferire i dati su un'unità esterna.


Ci sto provando proprio ora. Finora dura circa 12 ore. Ho molti file: P
cisellis

Questo non ha funzionato. L'operazione è durata più di 48 ore prima che mi arrendessi e lo spegnessi. Potrebbe essere finito ad un certo punto, ma non c'era modo di dirlo.
cisellis,

3

Esegui questo

cd $HOME
{ sudo chflags -R nouchg,nouappnd ~ $TMPDIR.. ; \
sudo chown -R $UID:staff ~ $_ ; \
sudo chmod -R -N ~ $_ ; \
sudo chmod -R 755 ~ $_ ; \
sudo chmod 700 Desktop Documents Downloads Dropbox Library Movies Music Pictures Sites $_ ; \
sudo chmod 777 Public ; \
sudo chmod 733 Public/Drop\ Box ; \
} 2> /dev/null

Esattamente quello che stavo cercando! Funziona se riesci ad accedere all'utente in questione e quell'utente è anche un amministratore. Che ne dici di riparare la home directory di un altro utente da un altro account? (l'utente con problemi di autorizzazione potrebbe o meno essere un amministratore)
unom

Riavvia il computer utilizzando la combinazione di tasti di avvio Cmd + R per aprire l'utilità di riparazione, aprire Terminale nel menu Utilità, utilizzare il comando resetpassword, selezionare il disco rigido e l'account utente pertinente dal menu a discesa che si aprirà, selezionare reimposta su reimpostare le autorizzazioni della directory principale e gli ACL dell'account utente selezionato.
davidcondrey,

2

I tuoi problemi sono sostanzialmente gli stessi. Non esiste uno standard per le autorizzazioni per i file nella home directory che dipendono tutti dal loro utilizzo.

La correzione delle autorizzazioni, delle app e degli script e delle installazioni del sistema operativo non dovrebbe interessare affatto l'area dell'utente, tranne forse la modifica delle autorizzazioni nella home directory. Le installazioni del sistema operativo e la maggior parte degli script delle autorizzazioni fisse confrontano le autorizzazioni e i proprietari con ciò che è necessario per un'installazione pulita e questo non ha utenti normali. Se lo facessero, lo considero un bug importante.

La correzione è cambiare il proprietario dei file, ad esempio l'uso di chown nella tua home directory. Il proprietario dovrebbe essere il nome del nuovo proprietario.

Non esiste un modo generale per ottenere i permessi poiché i singoli file dipendono dall'applicazione e tutte le app possono essere diverse.

Quindi l'unico modo è ripristinare da un backup prima della modifica: fai la modifica secondo le note di Apple e poi chown tutti i file. Oppure guarda ogni singolo file e scopri quali autorizzazioni dovrebbe avere - per la maggior parte dei file la tua home directory dovrebbe essere in lettura / scrittura per il proprietario e nulla (o sola lettura) per gli altri. Le directory dovranno inoltre disporre dell'autorizzazione di esecuzione per poter essere elencate. Le applicazioni avranno bisogno di altre autorizzazioni.


Buona. Avevo appena controllato la mia directory home e così tante 777directory e mi sono preoccupato.
Nyxee,

@nyxee che è strano mi aspetterei 755 o 700
user151019

molto .... inizierò a modificare i permessi uno per uno molto lentamente ..
nyxee,

1

Abbiamo riscontrato gli stessi problemi con diversi utenti. Dopo aver tentato senza successo tutto ciò che riguarda il fissaggio delle autorizzazioni, abbiamo trovato una soluzione. Per motivi di chiarezza, l'utente problematico è John Doe e l'account utente (e la directory home) è chiamato "johndoe".

  1. Assicurarsi che l'utente root sia abilitato. Disconnettersi
  2. Accedi come root ed esegui un backup della cartella home di johndoe (la creazione di un backup della cartella home è facoltativa, ma fortemente consigliata nel caso qualcosa vada storto)
  3. Apri Preferenze di sistema / Utenti e gruppi
  4. Elimina l'utente johndoe: ti verrà chiesto cosa fare della directory Home di johndoe
  5. IMPORTANTE: selezionare NON per eliminare la directory
  6. Vai su / Utenti e nota che la cartella di johndoe è stata rinominata in "john doe (cancellata)"; rinominare la directory principale in "johndoe"
  7. Torna a Preferenze di sistema / Utenti e gruppi e ricrea l'account di John Doe
  8. IMPORTANTE: assicurati che il nome account dell'utente sia "john doe", o esattamente come hai chiamato la directory home nel passaggio 6
  9. Ti verrà richiesto che la home directory con quel nome esiste già e se vuoi usare la home directory esistente
  10. Scegli si
  11. Riavvia e accedi come John Doe

Voglio solo ringraziarti. Funzionava
Steve Samuels

0

Sto aggiungendo una sola risposta per rispondere a tutto. Qualunque cosa io abbia fatto con i permessi, è stato completamente interrotto. Ho provato la prima risposta, avviando in modalità di ripristino e reimpostando le autorizzazioni tramite il metodo di reimpostazione della password, ma che ha funzionato per 48 ore prima di ucciderlo e non ha avuto alcun effetto riconoscibile. Ho provato a ripristinare da Time Machine e anche questo è esploso e non sono riuscito a ripristinare il backup.

Ho finito per eseguire il backup di tutto manualmente su un disco esterno, formattando l'intero disco e reinstallando Lion, reinstallando tutto manualmente e copiando i miei dati personali, come la libreria iPhoto e le librerie iTunes, di nuovo manualmente. iPhoto ha dovuto riparare la libreria ma ha funzionato bene e non ho avuto problemi. iTunes non è stato in grado di aggiungere musica alla libreria fino a quando non ho utilizzato Utility Disco per ripristinare nuovamente le autorizzazioni. Dal momento che ho copiato solo la directory iTunes Media e non la directory padre, mi è sembrato di sistemare tutto.

Morale della storia: dimentica Apple, non rinominare gli utenti.


0

Questo non è affatto un problema di autorizzazione! Nulla di ciò che fai con le autorizzazioni lo risolverà perché le autorizzazioni sono già impostate su lettura / scrittura, il che è il più permissivo possibile.

È un problema del proprietario; il sistema è confuso su chi possiede il file e non può risolvere il dilemma. Aggiungiti come nuovo proprietario, concediti le autorizzazioni di lettura / scrittura, quindi elimina l'utente offensivo di "recupero".


0

La funzionalità di reimpostazione delle autorizzazioni di Utility Disco non influisce sulla directory principale, quindi non funzionerà qui. Ma ha anche un secondo strumento di ripristino delle autorizzazioni nascosto per la tua home directory. Lo usi dal Terminale, in questo modo:

diskutil resetUserPermissions / $(id -u)

(Fonte: https://support.apple.com/en-us/HT203538 )

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.