Può capitare di dimenticare la password di root oppure di modificare i permessi di modo che non risulta più possibile accedere al livello di amministrazione con il comando sudo ( per poter lanciare i comandi via sudo è necessario che l’utente appartenza al gruppo sudo ). In questo caso conviene sfruttare il boot loader grub per accedere al terminale senza login.
Accesso al terminale senza password
Per ripristinare la password di root conviene appoggiarsi a grub modificando le direttive di accesso a livello della riga che lancia il Kernel così da accedere in modo diretto al terminale con i privilegi di root senza la necessità di effettuare il login.
Per effettuare l’accesso diretto aggiungere la direttiva init=/bin/bash al termine della riga
Per entrare in modalità edit di grub premere il tasto e come indicato in basso nella schermata di grub
La schermata in modalità edit di grub 2.02 con le istruzioni per avvio di Debian 9.xx.
modificare la riga per l’avvio del Kernel
la riga per l’avvio del kernel che inizia con il comando linux va modificata dopo i parametri ro quiet va appunto aggiunto init=/bin/bash
Adesso è possibile avviare debian come indicato in basso nella schermata premere F10 o Ctrl-X.
Ua volta che si è in modalità terminale come root si monta il file system in modalità rw
root@(none):/mount -o remount,rw /
A questo punto si ha il controllo del sistema e come utente root sarà possibile eseguire tutti i comandi necessari.
Ad esempio ripristinare la password con
passwd
assegnare i diritti di root ad un utente inserendolo nel gruppo sudo
usermod -aG sudo maurizio
riavviare con
root@(none):/reboot -f
Alcuni utili comandi
Prima di ripristinare la password dimenticata in Debian 9.xx alcuni utili comandi:
Controllare i gruppi a cui l’utente appartiene con
id
Se l’utente non appartiene al gruppo sudo non avrà i privilegi di root e non potrà avviare comandi che li richiedono espressamente come mount, …
per controllare gli users di un determinato gruppo ( ad esempio gruppo sudo ) si può utilizzare
getent group sudo
il file /etc/sudoers elenca i privilegi per il lancio dei.
Ad esempio in Ubuntu è presente la linea
%sudo ALL=(ALL:ALL) ALL
che sta indicare che il gruppo sudo ha gli stessi privilegi dell’utente root
root ALL=(ALL:ALL) ALL
Risorse: