Come ottenere i permessi di root

Alessandro Nodari
Alessandro Nodari
Come ottenere i permessi di root

Ottene i permessi di root significa avere accesso all'intero sistema operativo. L'espressione è generalmente usata in ambiente Linux, e di conseguenza Android, che usa il kernel Linux (il kernel è la parte centrale di qualsiasi sistema operativo), mentre in Windows si usa il termine utente amministratore.

Questo tipo di accesso è in genere bloccato dai produttori di dispositivi, Android ma anche Apple, perché come vedremo può potenzialmente portare a diversi problemi, ma in alcuni casi è anche l'unico modo che consente di usare determinate applicazioni. In questa guida vedremo come ottenere i permessi di root nel 2022, su dispositivi Android, Android TV e Linux.

IMPORTANTE:

Come detto ottenere i permessi di root vi darà totale accesso al sistema. Questo è estremamente pericoloso se non si sa quello che si fa, visto che si potrebbe concedere ad app malintenzionate accesso ai nostri dati, oppure si potrebbe rimuovere per errore file di sistemi fondamentali per il corretto funzionamento del dispositivo.

 

Come ottenere i permessi di root Android

Prima di procedere, è doveroso dare delle spiegazioni. Eseguite il root del telefono solo se desiderate usare un'app specifica che lo richiede, oppure se avete esigenze particolari. Se non avete intenzione di fare nulla una volta ottenuto l'accesso come root, non c'è alcun bisogno che lo facciate, per una serie di motivi. 

  • Sicurezza: l'accesso come root "rompe" la normale sandbox di sicurezza di Android. Le app a cui è concesso, potrebbero abusare dei privilegi di root e spiare altre app, cosa che normalmente non è possibile. Infatti Google impedisce di utilizzare Android Pay su dispositivi su cui è attivato proprio per questo motivo, come anche alcune app bancarie o di streaming.
  • Garanzia: alcuni produttori affermano che ottenere il root annulla la garanzia del dispositivo, anche se in sé il rooting non danneggerà effettivamente il telefono.
  • Bricking: qualunque cosa facciate, la fate a vostro rischio e pericolo. Il rooting è generalmente un processo molto sicuro, ma può portare alla rottura del telefono (il che trasformerebbe il vostro telefono in un fermacarte, brick) se non si eseguono le istruzioni alla lettera. Leggete bene le guide prima di affrontarlo.

Detto questo, per molti utenti è fondamentale eseguire il root per avere pieno accesso al proprio dispositivo, rimuovere app di sistema e molto altro.

Una cosa che dovete tenere a mente, è che il processo di root porterà alla cancellazione dei dati sul vostro dispositivo. Quindi fate prima un backup del telefono (qui potete trovare la nostra guida esaustiva).

Un'altra considerazione da fare è che effettuare il root può essere diverso da dispositivo a dispositivo. Qui di seguito vi proponiamo un modo che funziona su ogni telefono Android, ma potrebbero esserci delle variazioni. Inoltre fino a qualche tempo fa andavano di moda i metodi "one click root", app che consentivano il root con un clic. Android è molto cambiato negli ultimi anni e queste opzioni o non funzionano o potrebbero essere veicoli di malware. In ogni caso, ne sconsigliamo l'utilizzo. 

Vediamo come ottenere i permessi di root su un dispositivo Android generico. La soluzione attuale standard è utilizzare Magisk, che consente di ottenere l'accesso come root lasciando intatta la partizione di sistema e modificando la partizione di avvio.

Questo è il motivo per cui viene definito un metodo di root "senza sistema" (systemless). Prima di procedere, bisogna installare sul computer adb e fastboot e sbloccare il bootloader

Installare ADB e fastboot

ADB sta per Android Debug Bridge ed è uno strumento di Google perché gli sviluppatori possano eseguire il debug di varie parti delle loro applicazioni o del sistema ed è formato da tre componenti

  • client, il PC o Mac collegati al dispositivo Android e da cui inviamo i comandi tramite il cavo USB (e in alcuni casi anche in modalità wireless).
  • demone (adbd), che esegue comandi su un dispositivo. Il demone viene eseguito come processo in background su ciascun dispositivo.
  • server, che gestisce la comunicazione tra il client e il demone. Il server viene eseguito come processo in background sul PC/Mac.

Su smartphone o tablet Android attivate la modalità Debug. Per farlo

  1. Andate nelle Impostazioni
  2. Attivate la Modalità sviluppatore (qui un nostro approfondimento
    1. Cliccare su Informazioni sul telefono (ultima voce)
    2. Cliccate su Numero build (ultima voce) e continuate a cliccarci sopra finché non viene visualizzato un messaggio di conferma (e in alcune versioni verrà richiesta la password di sblocco), che dirà "Ora sei uno sviluppatore"
    3. Tornate indietro in Impostazioni
  3. Cliccate su Sistema
  4. Cliccate su Opzioni sviluppatore (icona con due parentesi graffe {}). In caso non la troviate, scrivete Opzioni sviluppatore nel campo ricerca in alto
  5. Attivate Debug USB e confermate di volerlo fare nella finestra che appare

Per installare ADB su Windows:

  1. Scaricate il file ZIP di Android SDK Platform Tools per Windows.
  2. Estraete il contenuto di questo file ZIP in una cartella facilmente accessibile (come C:\platform-tools)
  3. Aprite Esplora file e andate al punto in cui avete estratto il contenuto di questo file ZIP
  4. Aprite un prompt dei comandi dalla stessa directory dove c'è ADB. Questo può essere fatto tenendo premuto Maiusc e facendo clic con il pulsante destro del mouse all'interno della cartella, quindi cliccate sull'opzione "Apri finestra di comando qui". (Alcuni utenti di Windows 10 potrebbero visualizzare "PowerShell" invece di "finestra di comando".)
come ottenere i permessi di root Android

Ora potete collegare smartphone e computer

  1. Collegate lo smartphone o tablet al computer con un cavo USB. Modificate la modalità USB sul telefono in modalità "trasferimento file (MTP)". Alcuni produttori potrebbero non richiederlo, ma è meglio lasciarlo in questa modalità per compatibilità generale.
  2. Nella finestra del prompt dei comandi, immettete il seguente comando per avviare il demone ADB: adb devices
  3. Sullo schermo del telefono, dovreste vedere una richiesta per consentire o negare l'accesso al debug USB. Concedetelo e cliccate su Consenti sempre se non volete mai più vedere quel prompt
  4. Ripetete il comando adb devices
  5. Se tutto è andato a buon fine, ora dovreste vedere il numero di serie del vostro dispositivo nel prompt comandi.

Per installare ADB su Mac:

  1. Scaricate il file ZIP di Android SDK Platform Tools per macOS.
  2. Estraete lo ZIP in una posizione facilmente accessibile (come ad esempio la scrivania).
  3. Aprite il Terminale.
  4. Per accedere alla cartella in cui avete estratto ADB, inserite il seguente comando: cd /percorso/alla/cartella/estratta/
  5. Ad esempio: cd /Users/Alessandro/Desktop/platform-tools/
  6. Collegate il dispositivo al Mac con un cavo USB compatibile. Modificate la modalità di connessione USB in modalità "trasferimento file (MTP)". Questo non è sempre richiesto per tutti i dispositivi, ma è meglio lasciarlo in questa modalità in modo da non incorrere in problemi.
  7. Controllate sul Terminale di essere nella stessa cartella in cui si trovano gli strumenti ADB
  8. Eseguire il seguente comando per avviare il demone ADB: ./adb devices
  9. Sul dispositivo, vedrete una notifica "Consenti debug USB". Date il consenso
  10. Inserite nuovamente il comando ./adb devices
  11. Se tutto è andato a buon fine, ora dovreste vedere il numero di serie del vostro dispositivo nella finestra Terminale di macOS.

Sbloccare il bootloader

Sbloccare il bootloader può essere piuttosto diverso da produttore a produttore e per le guide specifiche vi consigliamo di consultare il sito XDA Developers.

 Tenete presente che lo sblocco del bootloader cancellerà la memoria del dispositivo e lo riporterà allo stato di fabbrica. Inoltre per i dispositivi Samsung farà scattare Knox. In generale, dovete prima abilitare lo sblocco OEM dalle Impostazioni.

  1. Andate in Impostazioni
  2. Cliccate su Sistema (può essere diverso da smartphone a smartphone)
  3. Cliccate su Opzioni sviluppatore
  4. Abilitate il pulsante Sblocco OEM (o sblocco bootloader)

Siete quasi pronti per sbloccare il bootloader del telefono con lo strumento Fastboot che avete scaricato per abilitare ADB. Prima di andare oltre, controllate se il telefono richiede un codice del produttore per sbloccarlo. Ecco le istruzioni per diversi importanti produttori:

  • LG
  • HTC
  • Motorola
  • Sony
  • Xiaomi
  • Samsung (è possibile sbloccare solo i telefoni Samsung internazionali con un processore Exynos.)
  • I telefoni Google possono essere tutti sbloccati per impostazione predefinita 

Ora potete iniziare la procedura.

  1. Collegate il telefono al computer con il cavo USB.
  2. Nel terminale (o nel prompt dei comandi), eseguite il comando seguente per connettere il telefono: adb devices
  3. Vedrete un messaggio che richiede l'accesso sul telefono. Selezionate la casella per consentire sempre la connessione e confermate.
  4. Ripetete il comando e vedrete il numero di serie del telefono
  5. Eseguite il comando seguente per riavviare il telefono in modalità bootloader: adb reboot bootloader
  6. Attendete il riavvio del telefono. Ora siete pronto per sbloccare con Fastboot. Controllate che sia tutto a posto con il seguente comando: fastboot devices
  7. Dovreste vedere il numero di serie del dispositivo
  8. Sui dispositivi più recenti e sui dispositivi Google, eseguite il comando seguente: 
    • fastboot flashing unlock
  9. Sui dispositivi che richiedono un codice, o, eventualmente, alcuni dispositivi meno recenti, eseguire questo comando:
    • fastboot oem unlock
  10. Dopo aver visualizzato un messaggio di conferma che il bootloader è sbloccato, potete riavviarlo con il seguente comando: fastboot reboot
  11. Ora il dispositivo si riavvierà e potrete ripetere la configurazione iniziale. Mantenetelo collegato al computer e con il Terminale o Prompt dei comandi aperti.

Ottenere il root

Ora possiamo procedere con il root.

Per prima cosa, dovete identificare il tipo di immagine di avvio.

  1. Sul telefono, scaricate l'ultima versione dell'app Magisk dal repository GitHub del progetto.
  2. Installatela sul telefono cliccandoci sopra dalla cartella Download. Poiché l'APK di Magisk non è presente nel Google Play Store, potrebbe essere necessario consentire prima il sideload di app da fonti sconosciute
  3. Dopo l'installazione, aprite l'app Magisk cliccando sulla nuova icona a forma di maschera. Dovreste vedere una schermata come questa sotto
Come ottenere permessi root

Ora dovete annotare i valori dei seguenti parametri che vedete sull'app.

  • Ramdisk
  • A/B
  • SAR

Ora dovrete modificare l'immagine di avvio (boot.img) del dispositivo, e per farlo dovrete prima estrarla dai pacchetti firmware ufficiali. Nel caso in cui utilizziate una ROM personalizzata come LineageOS, il file ZIP flashabile contiene l'immagine di avvio. Vediamo i diversi casi d'uso.

Caso I: avete accesso al file ZIP che si può installare da recovery

Se si ha un dispositivo che utilizza ancora lo schema di partizione A-only, è possibile trovare il file boot.img direttamente all'interno del file ZIP che si può installare da recovery.

Basta estrarlo usando un programma di archiviazione adatto (clic + tasto destro del mouse > estrai in Windows o control + clic > Apri in macOS).

come ottenere i permessi di root

Se il dispositivo è più moderno (es Google Pixel 5), utilizza invece lo schema di partizione A/B. In questo caso l'immagine di avvio e altre immagini di partizione vengono ulteriormente impacchettate all'interno di un file denominato payload.bin come mostrato di seguito. 

come ottenere i permessi di root

In questo caso, estraete il file payload.bin utilizzando un programma per decomprimerlo come payload-dumper-go (scaricabile da qui, selezionate quello per il vostro sistema operativo). Il programma consente di estrarre una singola immagine di partizione senza decomprimere l'intero payload.bin, il che è particolarmente utile per fare il root.

  1. Copiate l'immagine originale (archivio zip o payload.bin) nella stessa directory in cui c'è payload-dumper-go.
  2. Aprite il prompt dei comandi o il terminale
  3. Navigate nella cartella in cui ci sono i due file
  4. Usate il seguente comando per estrarre boot.img: payload-dumper-go -p boot payload.bin
Come ottenere il root

Caso II: avete accesso all'immagine installabile con Fastboot

Alcuni produttori come Google e Xiaomi forniscono immagini di fabbrica installabili con Fastboot per i propri dispositivi.

Se avete ottenuto un pacchetto di questo tipo, il file boot.img può essere facilmente estratto dall'archivio  (clic + tasto destro del mouse > estrai in Windows o control + clic > Apri in macOS).

Come ottenere il root

Per gli smartphone Samsung, la procedura è un po' diversa in quanto non hanno un'interfaccia Fastboot tradizionale e le loro immagini di fabbrica sono diverse.

  1. Usate Samsung Firmware Downloader per scaricare l'immagine di fabbrica per il vostro modello.
  2. Decomprimete il pacchetto
    • clic + tasto destro del mouse > estrai in Windows 
    • control + clic > Apri in macOS
  3. Individuate il file AP tar sul dispositivo Normalmente è chiamato AP_[device_model_sw_ver].tar.md5

Ora dovrete patchare l'immagine di avvio. 

Effettuare il patch dell'immagine di avvio - Caso I: Il valore del parametro "Ramdisk" è "Sì"

Dopo aver installato Magisk, abbiamo ottenuto dei valori. Se il valore di fianco a Ramdisk è Sì, fate come segue.

  1. Copiate l'immagine di avvio (boot.img) sul dispositivo
  2. Aprite l'app Magisk
  3. Nella scheda Magisk premete il pulsante Installa
  4. In Metodo scegliete Seleziona e patcha un file
  5. Selezionate l'immagine di avvio stock (boot.img)
  6. L'app Magisk patcherà l'immagine in [Archiviazione interna]/Download/magisk_patched_[random_strings].img
Come ottenere il root
  1. Copiate l'immagine patchata sul PC con questo comando ADB: adb pull /sdcard/Download/magisk_patched_[random_strings].img (cambiate il nome di conseguenza)
  2. Flashate l'immagine di avvio patchata sul dispositivo. Per la maggior parte dei dispositivi, riavviate in modalità Fastboot con il comando adb reboot bootloader
  3. Eseguite il flashing con il seguente comando: fastboot flash boot /percorso/a/magisk_patched.img (cambiate nome e posizione di conseguenza)
  4. Riavviate e ora avrete l'accesso come root

Se avete un dispositivo più vecchio, potete patchare l'immagine di avvio al volo tramite recovery (per esempio TWRP), ma il metodo non è più consigliato sui dispositivi moderni.

Detto questo, se avete un vecchio telefono e desiderate usare il vecchio metodo, i passaggi sono i seguenti:

  1. Scaricate l'APK di Magisk
  2. Rinominate l'estensione del file .APK in .ZIP (ad es. Magisk-v23.0.APK → Magisk-v23.0.ZIP)
  3. Effettuate il flash il file ZIP proprio come qualsiasi altro normale ZIP che si può flashare da recovery.

Effettuare la patch dell'immagine di avvio - Caso II: Il valore del parametro "Ramdisk" è "No"

In questo caso, dovete individuare il file recovery.img dall'immagine di fabbrica del dispositivo invece del file boot.img. Questo perché Magisk deve essere installato nella partizione di recovery, il che significa che dovrete riavviare in modalità di recovery ogni volta che desiderate avere l'accesso come root. Ecco come fare

  1. Copiate l'immagine di recovery sul dispositivo
  2. Aprite l'app Magisk
  3. Nella scheda Magisk premete il pulsante Installa.
  4. In Metodo scegliete Seleziona e applica patch a un file
  5. Selezionate l'immagine di revovery (recovery.img) stock.
  6. L'app Magisk patcherà l'immagine in [Archiviazione interna]/Download/magisk_patched_[random_strings].img
  7. Copiate l'immagine patchata sul PC con il seguente comando ADB: adb pull /sdcard/Download/magisk_patched_[random_strings].img
  8. Flashate l'immagine di ripristino con patch sul tuo dispositivo. Per la maggior parte dei dispositivi, riavviate in modalità Fastboot con il comando adb reboot bootloader
  9. Eseguite il flashing con il seguente comando: fastboot flash recovery /percorso/a/magisk_patched.img
  10. Riavviate

Ora ci sono tre possibilità:

  • Se accendete normalmente il telefono non avrete accesso come root.
  • Se riavviate con la combinazione di pulsanti per riavviare in recovery (in genere pulsante di accensione e volume su, ma qui trovate tutte le combinazioni)
    1. Quando arrivate alla schermata iniziale, rilasciate tutti i pulsanti
    2. Il sistema dovrebbe avviarsi con Magisk e accesso root completo.
  • Se riavviate con la combinazione di pulsanti per riavviare in recovery (vedete sopra)
    1. Quando arrivate alla schermata iniziale, continuate a premere il volume su per accedere alla modalità di recovery

Caso speciale: Samsung

  1. Copiate il file tar AP estratto sopra sul dispositivo 
  2. Aprite l'app Magisk
  3. Sulla scheda Magisk premete il pulsante Installa
  4. Se il dispositivo non ha ramdisk di avvio, assicuratevi che Recovery Mode sia selezionata nelle opzioni.
  5. In Metodo scegliete Seleziona e patcha un file
  6. Selezionate il file tar AP.
  7. L'app Magisk patcherà l'intero file del firmware in [Archiviazione interna]/Download/magisk_patched_[random_strings].tar
  8. Copiate il file tar corretto sul PC con il seguente comando ADB: adb pull /sdcard/Download/magisk_patched_[random_strings].tar
  9. Nota bene: non copiatelo in altro modo
  10. Riavviate in modalità download
    1. Collegate il telefono a un cavo USB mentre l'altra estremità è collegata al computer.
    2. Il telefono si accenderà immediatamente e vi verrà mostrata una schermata di avviso dopo il logo Samsung.
    3. Premete il pulsante volume su e entrerete in modalità download.
  11. Aprite Odin (potete scaricarlo da qui) sul PC
  12. Flashate magisk_patched.tar come AP, insieme a BL, CP e CSC che potete recuperare dal firmware originale.
  13. Non scegliere HOME_CSC perché cancelleremo i dati.
  14. Il dispositivo dovrebbe riavviarsi automaticamente una volta che Odin ha finito di lampeggiare. Accettate di eseguire un ripristino delle impostazioni di fabbrica se richiesto.
  15. Se il tuo dispositivo non ha ramdisk di avvio, riavviate ora in recovery per abilitare Magisk.
  16. Installate l'ultima app Magisk e avviatela
  17. Dovrebbe mostrare una finestra di dialogo che richiede una configurazione aggiuntiva. Lasciate che faccia il suo lavoro e l'app riavvierà automaticamente il dispositivo.
  18. Riavviate lo smartphone

Come ottenere i permessi di root Android senza PC

Online troverete diversi metodi per ottenere il root "one click" senza PC, ma non ve li consigliamo.

La procedura sopra indicata è quella più sicura e utilizzata, con strumenti open source il cui codice è verificabile e verificato su GitHub, quindi vi consigliamo comunque di passare dal PC per ottenere il root. 

Come ottenere i permessi di root Android TV

Per ottenere il root su Android TV non ci sono metodi che ci sentiamo di consigliarvi, in quanto si basano su metodi "one click" con app non verificabili. 

Come ottenere i permessi di root Linux

L'account utente root su Linux ha privilegi amministrativi completi sull'intero sistema, che vi consente di modificare i file di configurazione del sistema, installare software, aggiungere utenti o praticamente qualsiasi altra cosa al di fuori della home.

Per la maggior parte delle attività, non sarà necessario accedere o passare all'account utente root, in quanto potete eseguire le attività amministrative con il comando sudo per eseguirle come root. Se state usando Ubuntu, l'account root è bloccato per impostazione predefinita per evitare che facciate danni.

Ma se avete bisogno di mantenere l'accesso come root mentre svolgete una grande quantità di attività di sistema, potete abilitarlo in questo modo.

Sbloccate l'account root

  1. Aprite il terminale, anche con il comando Ctrl + Alt + T
  2. Digitate sudo passwd root e premete Invio
  3. Quando richiesto, inserite la password utente
  4. Vi verrà chiesto di creare una nuova password e inserirla due volte. Una volta impostata una password, l'account root sarà attivo

Ottenete l'accesso root

  1. Aprite il terminale
  2. Digitate su -
  3. Premete Invio
  4. Inserite la password
  5. Se ricevete un messaggio di "errore di autenticazione", è probabile che il vostro account root sia bloccato. Dovrete sbloccarlo come indicato sopra. Ora sarete super utenti e potete usare questo comando per accedere come qualsiasi utente sulla macchina, ma se lasciato vuoto tenterà di accedere come root.
  6. Controllate il prompt dei comandi. Quando siete loggati come root, il prompt dei comandi termina con # invece di $ (se state usando la shell bash, bourne o korn) o % (se state usando csh, tcsh o zsh)
  7. Dopo aver utilizzato su - per accedere come root, potete eseguire tutti i comandi che richiedono l'accesso come root. Il comando su viene conservato fino alla fine della sessione, quindi non è necessario reinserire la password ogni volta

Consentire il login come root (Ubuntu)

  1. Aprite il terminale
  2. Digitate sudo nano /etc/gdm3/custom.conf
  3. Premete Invio 
  4. Questo comando consente di modificare il file "custom.conf" in modo da poter accedere come account root nella pagina di accesso all'avvio del computer
  5. Inserite la password
  6. Andate in fondo al file. Aggiungete AllowRoot=True sotto TimedLoginDelay = 10. Aggiungete alcuni spazi in modo che la A in AllowRoot vada proprio sotto la T in TimedLoginDelay
come ottenere permessi root
  1. Premete Ctrl+x. Verrà visualizzato un messaggio che chiede se si desidera salvare il file.
  2. Premete Y seguito da Invio. Questo salva il file Custom.conf
  3. Digitate sudo nano /etc/pam.d/gdm-password
  4. Premete Invio. Questo è il comando per modificare il file di gestione dell'autenticazione della password
  5. Inserite la password
  6. Mettete un # all'inizio della terza riga, di fianco a auth required pam_succeed_if.so user != root quiet_success
  7. L'intera linea dovrebbe diventare blu. Questo abilita il login come root utilizzando la password di root.
  8. Premete Ctrl+x. Verrà visualizzato un messaggio che chiede se si desidera salvare il file.
  9. Premete Y seguito da Invio

Effettuare il login come root

Ora potete effettuare l'accesso come utenti root.

  1. Se l'account root è sbloccato e conosci la password, potete accedere come root quando vi viene chiesto di accedere con un account utente.
    1. Immettete root come utente quando viene richiesto di accedere.
  2. Se root non è elencato come uno degli account di accesso, cliccate su Non elencato? e digitate root come nome utente.
  3. Se è necessario l'accesso come root per eseguire un comando, utilizzare il metodo nella sezione precedente
  4. Inserire la password
  5. Ora avete effettuato l'accesso come root

Reimpostazione della password di root o amministratore

  1. Se avete dimenticato la password di root e la password utente, dovrete avviare la modalità di recovery per cambiarle. Se conoscete la password utente e dovete cambiare la password di root,
    1. Digitate semplicemente sudo passwd root
    2. Inserite la password utente
    3. Create una nuova password di root
  2. Riavviate il computer e tenete premuto il tasto Maiusc sinistro dopo la schermata del BIOS. Questo aprirà il menu di GRUB. Il tempismo può essere complicato, quindi potreste dover provare più volte.
  3. Selezionate la prima voce (recovery mode) nell'elenco. Questo caricherà la modalità di recovery per la vostra attuale distribuzione.
come ottenere root
  1. Selezionate l'opzione root dal menu che appare. Questo avvierà il terminale con l'accesso come account root.
  2. Immettete il comando seguente per abilitare l'accesso in scrittura: mount -rw -o remount /
  3. Dopo aver effettuato l'accesso come root e aver modificato i permessi di accesso, potete creare una nuova password per qualsiasi account:
  4. Digitate passwd accountName
  5. Premete Invio
  6. Se è necessario modificare la password di root, digitate passwd root
  7. Immettere la nuova password due volte quando richiesto.
  8. Riavviate il computer con il comando reboot_
Mostra i commenti