Jump to content

L'importanza di riparare i permessi


ErmaC
 Share

1 post in this topic

Recommended Posts

Fonte: MAC PEER

Titolo originale: Riparare i permessi: tutto ciò che è necessario sapere

Ringraziamento a: Mela Quadrata per la seconda parte di questo post.

 

Riparare i permessi: tutto ciò che è necessario sapere

 

(libera traduzione di un articolo di Dan Frakes, MacWorld – 4 agosto 2006)

 

Quando si tratta di fare una piccola manutenzione al Sistema Operativo la riparazione dei permessi è una delle tecniche più raccomandate (e più vituperate).

Accanto alla ricostruzione della Scrivania di antica memoria (System 9), al reset della PRAM e a una nuova installazione, per molti utenti la riparazione dei permessi è assurta al ruolo di “cura di ogni male” e di prevenzione di malesseri futuri.

D’altro canto c’è una voce montante secondo la quale detta procedura sarebbe inutile, se non addirittura dannosa: la verità sta probabilmente nel mezzo.

 

Che cosa sono i permessi?

Su un hard disk formattato con Mac OS X ogni file e cartella ha un insieme di permessi, impostazioni che determinano quale utente ha accesso (e di quale tipo) a ciascun elemento. Per esempio i permessi stabiliscono se un determinato utente può aprire e modificare un certo file. Ma i permessi stabiliscono anche a quali componenti il Sistema Operativo – o sue parti specifiche – possa accedere o modificare e quali file sono accessibili dalle applicazioni. (Nel suo libro Take Control of Permissions in Mac OS X Brian Tanaka entra in maggiori dettagli sui vari tipi di permessi).

 

Che cosa succede quando si riparano i permessi?

La funzione “Ripara i Permessi” esamina certi file e cartelle sull’HD per controllare se i permessi sono come OS X se li aspetta: se vengono trovate delle discrepanze, vengono apportate le modifiche necessarie per ripristinare la situazione che il Sistema si aspetta di trovare.

(In Mac OS X 10.3 e successivi la riparazione dei permessi svolge anche un altro compito: se manca il link simbolico invisibile /tmp - che è correlato alla directory /private/tmp -, esso viene ricreato).

 

Perché è necessario riparare i permessi?

Se i permessi di un certo file sono “non corretti” si possono verificare problemi quando il Sistema cerca di accedere a questi file o di modificarli. Per esempio possono diventare problematici il login al proprio account, la stampa, il lancio di applicazioni o persino l’avvio del Mac. In modo simile, se un’applicazione – non importa che sia di Apple o di terze parti – ha bisogno di accedere ad un determinato file o cartella per poter funzionare e i permessi di tale elemento sono stati modificati e ne impediscono l’accesso, l’applicazione può funzionare male o non funzionare per nulla.

Qui c’è anche una questione di sicurezza: molti file di Sistema hanno i permessi regolati in modo che l’utente o un’applicazione non li vadano a pasticciare.

 

Come si riparano i permessi?

La funzione di riparazione dei permessi fa parte di Utility Disco (in Applicazioni > Utility). Dopo aver lanciato Utility Disco, si seleziona il disco nella lista di sinistra e si fa clic sulla linguetta S.O.S. Nella parte inferiore della finestra si fa clic sul pulsante “Ripara permessi del disco”.

 

La funzione “Ripara i permessi” come fa a sapere quali sono i permessi “corretti”?

Quando si usa l’installer di Apple per installare del software (come lo stesso OS X o un suo aggiornamento), il pacchetto di installazione (il file .pkg che si apre con un doppio clic per avviare l’installazione o che Aggiornamento Software scarica in background per un’installazione automatica) generalmente lascia dietro di sé una ricevuta - un piccolo pacchetto che contiene informazioni su ogni file installato, compresi i permessi che ciascun file dovrebbe avere. Questa ricevuta viene piazzata in /Libreria/Receipts. La funzione Ripara Permessi va ad esaminare le ricevute relative al disco che viene riparato (ciò significa che la funzione opera solo su volumi con installato OS X) e confronta le informazioni contenute nelle ricevute con i file reali sul disco.

Se vengono riscontrate delle differenze, i permessi dei file vengono riportati ai valori contenuti nelle ricevute. I più curiosi possono conoscere le informazioni contenute nelle ricevute usando Pacifist (http://www.charlessoft.com/): basta trascinare una ricevuta sopra la finestra di Pacifist per vedere una lista di tutti i file installati dall’omonimo pacchetto con i relativi permessi.

 

La riparazione dei permessi tocca tutti i file?

No. Solo quelli installati con l’apposito installer di OS X e i cui pacchetti di installazione si lasciano dietro la ricevuta. In altri termini: in gran parte i file sensibili alla riparazione dei permessi sono file di Sistema, applicazioni o file pertinenti al Sistema, ma non le applicazioni installate con il drag-and-drop e nemmeno documenti o altri file dell’utente.

Oltre a ciò solo alcune ricevute sono controllate: solo quelle associate con OS X. Questa limitazione della funzione Ripara Permessi è stata a lungo dibattuta in Rete, ma ogni utente può accertarsene personalmente con il Terminale: usando il comando fs_usage con le sue appropriate opzioni è possibile vedere esattamente a quali ricevute la funzione Ripara Permessi accede. Quello che segue è un elenco di tali ricevute sul Mac di Dan Frakes (OS X 10.4):

 

AdditionalAsianFonts.pkg

AdditionalEssentials.pkg

AdditionalFonts.pkg

AddressBook.pkg

ApplicationsServer.pkg

Automator.pkg

BaseSystem.pkg

BrotherPrinterDrivers.pkg

BSD.pkg

BSDSDK.pkg

CanonPrinterDrivers.pkg

CommonAccessCard.pkg

CommonCriteriaTools.pkg

DevDocumentation.pkg

DeveloperTools.pkg

DevExamples.pkg

DevFatLibraries.pkg

DevInternal.pkg

DevSDK.pkg

ElectronicsForImagingPrinterDrivers.pkg

EpsonPrinterDrivers.pkg

Essentials.pkg

FatLibraries.pkg

GimpPrintPrinterDrivers.pkg

HewlettPackardPrinterDrivers.pkg

iCal.pkg

iChat.pkg

Internal.pkg

iTunes.pkg

Java.pkg

LexmarkPrinterDrivers.pkg

Mail.pkg

MicrosoftIE.pkg

MigrationAssistant.pkg

OxfordDictionaries.pkg

QuickTimeStreamingServer.pkg

RicohPrinterDrivers.pkg

Safari.pkg

ServerAdminTools.pkg

ServerEssentials.pkg

ServerFatLibraries.pkg

ServerInternal.pkg

ServerSetup.pkg

X11SDK.pkg

X11User.pkg

XeroxPrinterDrivers.pkg

 

Queste ricevute sono tutte relative ad installazioni di OS X o di Xcode/Developer Tools. Dato che i file non elencati nelle precedenti ricevute non vengono toccati dalla funzione Ripara Permessi, ciò significa che detta funzione è uno strumento per risolvere problemi collegati ai permessi del software di Sistema.

 

La riparazione dei permessi riguarda in qualche modo le applicazioni di terze parti?

La descrizione di Apple (http://docs.info.apple.com/article.html?artnum=25751) della funzione Ripara Permessi sembra implicare che ogni software, incluso quello di terze parti, installato usando l’installer e accompagnato dalla ricevuta in /Libreria/Receipts è soggetto alla riparazione dei permessi. Comunque questo non è esatto: l’unico software di terze parti che risente della riparazione dei permessi è quello incluso in OS X e installato dall’installer di OS X; per esempio il Flash browser plug-in (/Libreria/Internet Plug-Ins/flashplayer.xpt) e, nelle versioni più vecchie di Mac OS X, Internet Explorer.

È facile verificare che il software di terze parti non viene toccato. Dan Frakes ha cambiato i permessi al file NuFile.plugin, un menu contestuale di terze parti, ma installato con l’installer di OS X e con tanto di ricevuta (NuFileInstaller1-8.pkg): la funzione Ripara Permessi non ha riportato i permessi al loro valore originario.

Qualcuno potrebbe obiettare che si tratta di una limitazione della funzione Ripara Permessi: è vero, ma è anche un vantaggio per la sicurezza.

Un software maligno potrebbe lasciarsi dietro una ricevuta concepita in modo da cambiare i permessi ai file di Sistema, per esempio rendendoli più accessibili: un grosso rischio. Questo potrebbe avvenire perché molti software di terze parti si appoggiano a componenti di OS X.

E quindi, nonostante la riparazione dei permessi non riguardi direttamente il software di terze parti, se si verifica un problema di permessi su un file di Sistema, esso potrebbe avere delle ricadute anche sul software di terze parti.

 

È possibile sbarazzarsi delle “ricevute”?

Se le ricevute si spostano o si eliminano da /Libreria/Receipts, la funzione Ripara Permessi non potrà più far nulla sui file a cui dette ricevute fanno riferimento: la riparazione dei permessi sarà impossibile. Inoltre, come descritto più avanti, alcune ricevute sono essenziali al funzionamento stesso della funzione Ripara Permessi.

Infine le ricevute vengono utilizzate anche da Aggiornamento Software per stabilire se l’utente già possiede una certa versione di un determinato software.

Non si pone nemmeno il problema dello spazio occupato: la cartella Ricevute occupa circa 200 Mb di spazio: un’inezia rispetto alla capacità degli attuali HD.

In conclusione: è meglio non toccare il contenuto della cartella Ricevute.

 

È possibile spostare i file che sono soggetti al controllo della funzione Ripara Permessi?

La collocazione dei file è codificata dentro le ricevute: se i file vengono spostati, i loro permessi non verranno più controllati. Questo è il motivo per cui è preferibile non cambiare posto al software di Apple.

 

La riparazione dei permessi si deve fare dal disco di avvio o si può fare anche dopo aver avviato da un HD esterno?

Nelle versioni più recenti di OS X la funzione Ripara Permessi va a leggere la cartella Ricevute sull’HD che viene riparato: quindi è indifferente riparare i permessi dal disco di avvio o da un HD esterno.

 

Impossibile riparare i permessi…

Nel caso le ricevute siano state cestinate (errore –9997: “non ci sono pacchetti validi”) la riparazione dei permessi non può avvenire. Dato che come minimo deve essere presente la ricevuta BaseSystem.pkg (che contiene la descrizione dei permessi per l’installazione minima del Sistema) Apple raccomanda di copiarla da un altro Mac che abbia la stessa versione di Sistema (http://docs.info.apple.com/article.html?artnum=25704).

Se ciò fosse impossibile allora è necessario reinstallare OS X.

 

Perché si vedono così tanti “permessi speciali” quando si riparano i permessi?

Perché non è stato ancora effettuato l’aggiornamento a OS X 10.4.6 o successivo. Per motivi vari a volte Apple decide che alcuni nuovi file o file recentemente aggiornati debbano avere permessi differenti rispetto a quelli di una versione precedente. Per esempio, immaginiamo un file installato da OS X 10.4.0 con i suoi permessi riassunti nella ricevuta BaseSystem.pkg. Se in un successivo aggiornamento Apple decide di cambiare i permessi per quel file, allora si verifica una discrepanza tra i permessi nuovi e il “modello” contenuto nella vecchia ricevuta: la funzione Ripara Permessi si affretta a ripararli, anche se, alla fine, i permessi risultano “non corretti”. Per evitare simili riparazioni erronee i più recenti aggiornamenti Apple includono un file chiamato HintFile.plist, installato in /Sistema/Libreria/PrivateFrameworks/DiskManagement.framework/Versions/A/Resources, che elenca tutti i permessi che dovrebbero essere diversi da quelli elencati nelle ricevute. In pratica si tratta di istruzioni rivolte alla funzione Ripara Permessi di lasciar perdere …

Chi monta versioni di Sistema precedenti la 10.4.6 deve semplicemente ignorare ogni messaggio di Utility Disco che contenga la frase “Stiamo usando permessi speciali.”

 

Qual è la causa del cambiamento dei permessi?

Le cause possono essere diverse; ecco alcuni esempi:

  • Installer malfunzionanti. Un installer scritto male può cambiare i permessi di file o cartelle. Questo è ciò che è successo con un particolare installer di Quark, che ha creato una confusione enorme nei permessi dei file di Sistema.
  • Utenti pasticcioni. Un utente può leggere da qualche parte un certo modo per intervenire sui file di Sistema, modificandone prima i permessi… ma poi, a lavoro ultimato, dimentica di riportare i permessi allo stato originario.
  • Avviare con Mac OS 9. Ovviamente questo si riferisce solo ai Mac più vecchi. Avviare con OS 9 e poi muovere o modificare i file di Sistema di OS X può causare problemi di permessi, dato che OS 9 non li prevede.
  • Corruzione del disco o delle directory. I permessi non sono altro che dati conservati sul disco rigido. Se il disco ha dei problemi o se una directory è difettosa (il che è abbastanza frequente), i processi in corso possono non individuare correttamente i permessi. Questo significa che ogni evento che può causare problemi al disco (per esempio: interruzioni di corrente, crash di Sistema o intensa attività delle directory) può anche comportare problemi ai permessi. (Ovviamente, se il disco ha simili problemi, è bene ripararlo con Utility Disco oppure con utility di terze parti come DiskWarrior (http://www.alsoft.com/DiskWarrior/) di Alsoft o TechTool Pro (http://www.micromat.com/) di Micromat).
  • Utility di backup. Se l’utility di backup non supporta pienamente i permessi o lei stessa non ha il permesso di scrivere file a livello di Sistema, recuperare file da un backup potrebbe comportare problemi legati ai permessi.
Questa lista non è esaustiva, ma si limita a mostrare che i permessi non cambiano magicamente e che ci sono parecchie possibili cause per la loro modifica al punto che, se il Mac ha dei problemi, si è giustificati nel ritenere che una delle possibili cause siano i permessi.

 

Se la riparazione dei permessi è generalmente utile, perché Apple non la raccomanda come una manutenzione di routine?

Apple lo fa in questo modo: Come regola di manutenzione sistematica, è una buona idea riparare i permessi dopo aver aggiornato o installato nuovo software.

La frase è tratta dall’Aiuto sia di Panther che di Tiger, ma si può anche trovare in Rete a questo indirizzo: http://docs.info.apple.com/article.html?pa.../en/mh1928.html.

 

È necessario riparare i permessi prima di installare aggiornamenti di Sistema?

No. Prima di installare un aggiornamento di OS X viene richiesto di inserire una password: questo significa che l’installazione avviene con l’accesso di root. In altre parole l’installer non è in alcun modo limitato dal sistema di permessi di OS X: li ignora completamente in quanto proprietario del Sistema.

Questo avviene perché l’installer sia in grado di aggiornare il Sistema ma, importante ai fini di questa discussione, ciò significa anche che permessi “non corretti” non dovrebbero interferire con l’installazione.

L’unico vantaggio nel riparare i permessi anche prima di un aggiornamento di Sistema è che, se si riparano i permessi, si installa subito e poi si riparano nuovamente, ogni correzione di permessi che viene segnalata alla fine è unicamente imputabile all’aggiornamento stesso. Si tratta più che altro di una curiosità intellettuale…

 

Dato che Apple raccomanda di riparare i permessi dopo un aggiornamento di Sistema, perché non lo fa l’installer automaticamente?

La domanda è stata posta direttamente ad Apple… che si è rifiutata di commentare.

 

La riparazione dei permessi può essere causa di qualche problema?

I critici delle frequenti riparazioni dei permessi sostengono che, se i permessi sono stati cambiati dall’utente per qualche sua ragione, la riparazione può causare problemi: ma qui si ha a che fare con utenti di una classe superiore che sanno ciò che fanno quando mettono le mani sul Sistema.

 

Cosa fare quando un problema di permessi impedisce al Mac di avviarsi?

È un’eventualità abbastanza rara ma, se dovesse verificarsi, è sufficiente avviare dal CD o DVD che è stato fornito all’acquisto del Mac (o i pacchetti di Panther o di Tiger) e poi scegliere Utility Disco dal menu Utility che appare quando si avvia dal disco.

 

Una soluzione interessante è rappresentata dal freeware AppleJack (http://applejack.sourceforge.net/). Come Utility Disco, AppleJack può riparare i permessi sul disco di avvio ma, dato che funziona all’avvio in “single-user mode”, può riparare problemi legati ai permessi che impediscono un corretto avvio del Mac e non richiede di avere l’appropriato CD o DVD a portata di mano. Sfortunatamente AppleJack non è ancora compatibile con i MacIntel.

 

Cosa NON Fare: la riparazione permessi

E' impossibile non averne mai sentito parlare. Qualunque cosa accada al tuo Mac, di certo troverai un utente che consiglierà: "Ripara i permessi!". Nel 90% dei casi è inutile, però nessuno ha provato ad andare oltre quanto si legge o si dice, e un po' tutti si limitano a ripetere quanto letto.

Prima di tutto, per iniziare a capirci qualcosa, basta leggere quello che Apple stessa in un documento (in italiano), afferma. Troverai tutto a questo indirizzo Web: http://support.apple.com/kb/HT1452?viewlocale=it_IT

Letto? Bravissimo! Sia chiaro: esistono dei segnali (e solo quelli), che indicano come sia indispensabile ricorrere alla riparazione dei permessi. Per esempio, quando non è più possibile stampare, né accedere ad una cartella dove sono conservati i nostri documenti, e neppure modificarli. Quando non è più possibile lanciare i programmi. Se nel Dock un bel dì, al posto dell'icona di un programma, compare un punto di domanda.

Attenzione però: la comparsa di un punto di domanda non è sempre indice di qualcosa che non funziona più a livello di permessi. Se per esempio hai gettato via un'applicazione (che era presente nel Dock), un bel giorno al riavvio del Mac potresti trovarci proprio un punto interrogativo al posto della sua icona. E questo avviene poiché il Mac, non trovando più il programma non sa più a cosa associare l'icona!

Per quale motivo accade tutto questo? Prima di rispondere: ricordati che la riparazione dei permessi funge solo con i programmi già nel sistema operativo, e con quelli che usano l'Installer di Apple per eseguire appunto l'installazione.

In caso fossi confuso e non capissi di cosa sto parlando, ecco la simpatica icona dell'Installer.

Quando nel Dock vedi apparire questa icona, sappi che è quella dell'Installer, esatto.

La puoi trovare al termine di questo percorso:

Nomediscorigido>Sistema>Libreria>CoreServices>Installer App.

I programmi installati in questa modo, e solo questi, producono una sorta di "ricevuta", che viene poi depositata in una cartella chiamata "Receipts" al termine di questo percorso:

Nomediscorigido>Libreria>Receipts.

Quando installi un'applicazione tramite trascinamento, per esempio, non viene prodotta alcuna ricevuta. Pertanto se inizia a farti le boccacce (d'accordo, è difficile che accada qualcosa del genere), è inutile lanciare la riparazione dei permessi. Conviene piuttosto rivolgersi al produttore.

Ficcando il naso nella cartella delle Ricevute, troverai tuttavia un mucchio alto così di ricevute di software prodotto da aziende diverse da Apple. E potresti concludere che non è esatto quanto ho appena affermato: solo le applicazioni installate per mezzo dell'Installer di Mac OS X possono ricevere le cure della Riparazione dei permessi. Dal momento che qui si trovano le loro ricevute, di certo accadrà che il lancio di questa procedura coinvolgerà anch'esse.

Se apri il Terminale e digiti questo codice:

strings /System/Library/PrivateFrameworks/DiskManagement.framework/Versions/A/Resources/DiskManagementTool | grep Receipts

e premi il pulsante "Invio", avrai l'elenco esatto delle ricevute che la Riparazione dei permessi curerà quando la utilizzerai. E come puoi ben vedere, non corrisponde affatto a quello che è effettivamente presente (e visibile), dentro la cartella "Receipts".

Ricorrere ai suoi servigi è molto semplice: basta lanciare l'applicazione Utility Disco (dentro la cartella Utility, racchiusa in quella "Applicazioni"), e poi premere o il pulsante Verifica permessi oppure, se hai la macchina in doppia fila, quello "Ripara permessi". In quest'ultimo caso, ovviamente, salti la procedura della verifica e approdi direttamente a quella della riparazione.

Lo riscrivo. Si deve lanciare solo se si incontrano i segnali che ho elencato all'inizio del capitolo. Qualcuno potrebbe adesso osservare che se lancio Utility Disco e metto in azione la funzione "Verifica i permessi" (cosa che io non faccio mai), troverei ad accogliermi un corposo elenco di permessi da riparare. Non ne subito affatto: ma si tratta di messaggi che si possono ignorare. A dirlo è Apple stessa, in un documento proposto sul suo sito: http://support.apple.com/kb/TS1448? viewlocale=it_IT

La conclusione? Di una semplicità disarmante. Se le applicazioni del sistema operativo Mac OS X rivelano dei comportamenti anomali (li ho elencati al principio del capitolo), allora puoi ricorrere alla Riparazione dei permessi. Non è una procedura da eseguire con regolarità, come qualcuno ripete: a questo scopo non serve a nulla.

Funge solo con quelle applicazioni che rilasciano la ricevuta, e questa finisce nella cartella Receipts. E nemmeno tutte le applicazioni qui presenti sono intaccate dalle sue attenzioni (ricorda lo script da digitare nel Terminale). Applicarla a sofware di terze parti è solo una perdita di tempo.

 

Ultima revisione: ErmaC - 10 Settembre 2010

Link to comment
Share on other sites

 Share

×
×
  • Create New...