Mac
Os X - Tips e mini-tutorial
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?path=Mac/10.4/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.
Tutorial di Hartz (Forum
Di Mac Peer)
|