sabato 27 giugno 2015

Recuperare l'accesso a linux mint!

Ciao a tutti!

Oggi voglio parlarvi di una cosa che mi è successa, e che potrebbe succedere a molti di voi, soprattutto ai più sbadati.

Dopo alcuni anni di non utilizzo, oggi ho ripreso tra le mani il mio vecchio portatile, un ACER TravelMate 4000WLMi. Non ricordavo quale sistema operativo ci fosse installato (ne ha montati veramente tanti :P ), comunque accendendolo ho visto partire direttamente Linux Mint 13, senza neanche vedere la schermata di grub.

Alla schermata di login, il sistema chiedeva username e password. Tranquillo e sicuro della mia memoria ho inserito i dati per poi constatare un attimo dopo che erano errati. Mi son detto: "strano...io utilizzo da anni quasi sempre le stesse password" (che non è una buona cosa). Così con fare maniacale e sempre più spazientito ho cominciato a provare tutte le credenziali che mi venivano in mente senza però riuscire nell'intento.

Così, mentre l'idea di una formattazione prendeva spazio nella mia mente mi son messo a cercare una soluzione più "diplomatica" che vi propongo qui sul blog perchè funzionante.

Allora come primo tentativo (non funzionante) ho provato a seguire i seguenti step:

  1. Avvio recovery (per far apparire la schermata di grub basta tenere premuto il tasto shift)
  2. Una volta avviata la recovery, selezionare root - Drop to root shell prompt
 Da qui ho pensato di poter lavorare sul sistema e aggiungere un utente o cambiare la password dell'utente già esistente. Ma i sistemi linux si tutelano da operazioni di questo tipo e dopo il punto 2. appare una shell, alla quale però serve una password di root, affinchè permetta l'accesso al sistema.

Ovviamente tale password non la ricordavo perciò mentre già preparavo una pendrive per reinstallare linux mint ( che non avrebbe funzionato, perchè il pc in quanto vecchiotto necessità di cd per il boot), ho trovato un'altra soluzione.

Quando si è sulla schermata di grub, si seleziona il sistema linux da far partire e si preme il tasto "e" entrando così in "edit mode".

A questo punto potrete notare una linea simile a questa:

linux /boot/vmlinuz-[kernel version]-generic root=UUID=[letters and numbers]\[letters and numbers] ro quiet splash vt.handoff=7

Quello che bisogna fare è modificare l'ultima parte della linea in questo modo:
  
linux /boot/vmlinuz-[kernel version]-generic root=UUID=[letters and numbers]\[letters and numbers] rw init=/bin/bash
 
In questo modo ro (read only) viene sostituito in rw (read and write) ed una shell sarà avviata con permessi di root.

A questo punto basta premere F10 per fare il reboot ed avviare la shell che ci loggerà automaticamente come utenti root senza chiederci nessuna password.

Da qui in poi il gioco è semplice.

per capire quale utenti ci sono nel sistema basta digitare:

cat /etc/passwd


individuato l'utente basta dare il comando seguente per settare una nuova password:



passwd nomeutente

Settate la nuova password (vi chiederà di inserirla due volte) e poi riavviate, il gioco è fatto! 

In questo modo sono riuscito a scoprire che l'account impostato non era il mio ma di mia sorella ( lo avevo prestato a lei il pc anni fa) e le mie password non avrebbero mai funzionato!

Ciò che mi lascia perplesso di questo procedimento è che anche se io l'ho eseguito su una macchina con linux mint 13, dovrebbe in linea di massima funzionare quasi con ogni sistema linux, quantomeno sui sistemi debian-based e questo non è confortante per niente. Oggi giorno la sicurezza è un punto cruciale, e riuscire ad accedere con tanta facilità ad un sistema linux non farà dormire in maniera tranquilla i maniaci della sicurezza.

A presto!

Francesco