Prima l'avvertimento ...
La procedura di protezione della password di grub2 può essere abbastanza complicata e se si sbagliano c'è la possibilità di abbandonare se stessi con un sistema non avviabile. Pertanto sempre fai prima un backup completo dell'immagine del tuo disco rigido. La mia raccomandazione sarebbe quella di utilizzare Clonezilla - un altro strumento di backup come PartImage potrebbe anche essere utilizzato.
Se vuoi esercitarti, usa un guest della macchina virtuale che puoi eseguire il rollback di un'istantanea.
iniziamo
La procedura seguente protegge le modifiche non autorizzate delle impostazioni di Grub durante l'avvio, ovvero premendo e per modificare è possibile modificare le opzioni di avvio. Ad esempio, è possibile forzare l'avvio in modalità utente singolo e quindi accedere al disco rigido.
Questa procedura deve essere utilizzata in combinazione con la crittografia del disco rigido e un'opzione di avvio del BIOS sicura per impedire l'avvio dal CD live come descritto nella risposta associata a questa domanda.
quasi tutto sotto può essere copiato e incollato una riga alla volta.
Per prima cosa consente di eseguire il backup dei file di grub che modificheremo - apri una sessione di terminale:
sudo mkdir /etc/grub.d_backup
sudo cp /etc/grub.d/* /etc/grub.d_backup
Consente di creare un nome utente per grub:
gksudo gedit /etc/grub.d/00_header &
Scorri fino in fondo, aggiungi una nuova riga vuota e copia e incolla quanto segue:
cat << EOF
set superusers="myusername"
password myusername xxxx
password recovery 1234
EOF
In questo esempio sono stati creati due nomi utente: nomeutente e recupero
Avanti - torna al terminale (non chiudere gedit
):
Solo utenti Natty e Oneiric
Genera una password crittografata digitando
grub-mkpasswd-pbkdf2
Inserisci la password che verrà utilizzata due volte quando richiesto
Your PBKDF2 is grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
Il bit a cui siamo interessati inizia grub.pbkdf2...
e termina BBE2646
Evidenzia questa sezione con il mouse, fai clic con il pulsante destro del mouse e copia questo.
Ritorna alla tua applicazione gedit
- evidenzia il testo "xxxx" e sostituiscilo con ciò che hai copiato (tasto destro del mouse e incolla)
vale a dire. la linea dovrebbe apparire come
password myusername grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
tutte le versioni di "buntu (lucido e superiore)
Salva e chiudi il file.
Infine devi proteggere con password ciascuna voce di menu di Grub (tutti i file che hanno una riga che inizia menuentry ):
cd /etc/grub.d
sudo sed -i -e '/^menuentry /s/ {/ --users myusername {/' *
Questo aggiungerà una nuova voce --users myusername
a ciascuna linea.
Esegui update-grub per rigenerare il tuo grub
sudo update-grub
Quando provi a modificare una voce di grub, ti chiederà il tuo nome utente, cioè myusername e la password che hai usato.
Riavvia e verifica che nome utente e password vengano applicati durante la modifica di tutte le voci di grub.
NB. ricorda di premere SHIFT durante l'avvio per visualizzare il tuo grub.
Protezione tramite password della modalità di ripristino
Tutti i precedenti possono essere facilmente risolti utilizzando la modalità di ripristino.
Fortunatamente è anche possibile forzare un nome utente e una password per utilizzare la voce del menu di ripristino. Nella prima parte di questa risposta creiamo un nome utente aggiuntivo chiamato ripristino con una password di 1234 . Per utilizzare questo nome utente è necessario modificare il seguente file:
gksudo gedit /etc/grub.d/10_linux
cambia la linea da:
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
A:
if ${recovery} ; then
printf "menuentry '${title}' --users recovery ${CLASS} {\n" "${os}" "${version}"
else
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi
Quando utilizzi il recupero usa il nome utente ripristino e la password 1234
Esegui sudo update-grub
per rigenerare il tuo file grub
Riavvia e verifica che ti venga richiesto come nome utente e password quando provi ad avviare la modalità di ripristino.
Ulteriori informazioni - link