Eseguire applicazioni da GUI come root su Mac OS X – Guida SlideToMac

Per gli amanti del Terminale si tratta di ordinaria amministrazione ma ai meno avvezzi alle profondità del sistema, come fare per lanciare programmi da interfaccia grafica nelle situazioni (rare) in cui siano richiesti privilegi root?

hexley_fork_450

Prima di addentrarci nella guida, un chiarimento per il “diavoletto” in apertura: affrontiamo un argomento che va a scavare nel cuore del sistema, permettendoci di ottenere i privilegi necessari all’esecuzione di quelle operazioni a cui Apple, a buon ragione, preferisce mantenerci a distanza perché con i privilegi da root, è possibile, in teoria e pratica, far imboccare la via del non ritorno ad ogni sistema operativo… la mascotte? E’ l’ornitorinco Hexley, il compagno di sviluppo di tutti coloro che hanno lavorato a Darwin, alla base, come sappiamo dei nostri sistemi operativi Mac OS X.

stop-copyright-hack-patent

Con il rischio di scadere nel logorroico, ribadiamo come ottenuti tali privilegi il Mac sia completamente vulnerabile alle operazioni richieste e se in locale l’argomento potrebbe avere rilevanza arginabile, con un Mac in rete, o connesso ad Internet, i rischi aumentano in modo esponenziale. Purtroppo tendiamo ad seguire guide simili con molta leggerezza per questo, ogni tanto, è bene spendere qualche paragrafo per ricordarci come il Web non sia la terra del nettare e dell’ambrosia e le truffe, l’effrazione, il furto informatico, sono realtà giornaliere.

Torniamo a parlare di cose “interessanti”… con questa guida è possibile eseguire le applicazioni che sono eseguite utilizzando l’interfaccia grafica di Mac OS X (o OS X) utilizzando i privilegi da root, “un utente speciale che ha privilegi di lettura e scrittura per tutte le aree del file system. L’utente root dovrebbe essere utilizzato solo per specifiche attività di amministrazione o di monitoraggio.”

La sintassi da eseguire all’interno di una finestra Terminale per eseguire le operazioni con privilegi root è la seguente:

07-02-2013 17-33-30

L’arcobaleno di colori nella linea di comando precedente può essere così chiarito:

sudo: è il comando da impartire per chiedere l’esecuzione come utente root;

/Path/To/Application/: indica il percorso in cui è contenuta l’applicazione da lanciare, in genere Applicazioni (da console invece è /Applications);

ApplicationName.app: il nome dell’applicazione, o propriamente il suo package;

/Path/To/: il percorso in cui è contenuto l’eseguibile vero e proprio nel package, anche qui, in genere, il path predefinito è Contents/MacOS

Executable: l’eseguibile.

07-02-2013 17-34-17

Per i sopravvissuti, finalmente, un esempio pratico, scegliendo come cavia TexEdit.

Da console, quindi, digitiamo il necessario per la sua esecuzione come utenti root:

07-02-2013 17-04-20

Dopo aver confermato, si aprirà, in apparenza “come al solito”, TextEdit ma con due note a margine: la console bloccata, in attesa che venga completato il processo, e l’esecuzione di TextEdit come applicazione da root.

Chiariamo entrambi: per evitare che dopo aver invocato il comando la console si blocchi in attesa che venga chiuso l’applicativo, dobbiamo aggiungere un’opzione alla riga di comando ed in tal modo il processo sarà eseguito in background:

07-02-2013 17-10-54

Per l’esecuzione, quindi, aggiungiamo l’opzione -b:

07-02-2013 17-15-19

Come verifichiamo, invece, che TextEdit sia in esecuzione con privilegi da root?

Due le strade: da Terminale, con il comando ps au|grep TextEdit

07-02-2013 17-19-16

Da interfaccia grafica, con l’utility Monitoraggio Attività:

07-02-2013 16-40-10

Alla guida originaria di osXdaily aggiungiamo quanto attinto dai commenti e come fare per uscire da tale modalità senza chiudere la finestra del terminale: partiamo dall’ultima, ovvero, da root come tornare al livello di privilegi precedente? Digitiamo il comando exit

07-02-2013 17-21-27

Pratica archiviata… interessante, la nota in un commento per eseguire direttamente, da Terminale, l’applicativo interessato senza specificare il percorso all’interno del package: il comando, applicato sempre alla nostra “cavia” prevede l’uso dell’opzione open, ovvero: sudo open /Applications/TextEdit.app

07-02-2013 17-29-21

[ via osXdaily ]

HotAcquista iPhone 15 su Amazon!
Guide Mac