Innanzitutto l'avvertimento ...
La procedura di protezione con password di grub2 può essere piuttosto complicata e se sbagli c'è la possibilità di lasciarti con un sistema non avviabile. Pertanto, esegui sempre prima un backup completo dell'immagine del tuo disco rigido. La mia raccomandazione sarebbe di usare Clonezilla - potrebbe essere usato anche un altro strumento di backup come PartImage .
Se vuoi esercitarti, usa un guest della macchina virtuale che puoi ripristinare un'istantanea.
Cominciamo
La procedura seguente protegge la modifica non autorizzata delle impostazioni di Grub durante l'avvio, ovvero premendo eper modificare è possibile modificare le opzioni di avvio. Ad esempio, potresti forzare l'avvio in modalità utente singolo e quindi avere accesso al tuo disco rigido.
Questa procedura deve essere utilizzata in combinazione con la crittografia del disco rigido e un'opzione di avvio di bios sicura per impedire l'avvio da cd live come descritto nella risposta associata a questa domanda.
quasi tutto sotto può essere copiato e incollato una riga alla volta.
Innanzitutto, eseguiamo il backup dei file grub che modificheremo - apri una sessione 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: myusername e recovery
Successivo: torna al terminale (non chiudere gedit
):
Solo utenti Natty e Oneiric
Genera una password crittografata digitando
grub-mkpasswd-pbkdf2
Inserisci la password che utilizzerai due volte quando richiesto
Your PBKDF2 is grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
Il bit a cui siamo interessati inizia grub.pbkdf2...
e finisceBBE2646
Evidenzia questa sezione usando il mouse, fai clic con il tasto destro e copia questo.
Torna alla tua gedit
applicazione - evidenzia il testo "xxxx" e sostituiscilo con quello che hai copiato (fai clic con il tasto destro e incolla)
cioè la linea dovrebbe apparire come
password myusername grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
tutte le versioni di buntu (lucido e sopra)
Salva e chiudi il file.
Infine, è necessario proteggere con password ogni voce del menu di grub (tutti i file che hanno una riga che inizia l' inserimento di menu ):
cd /etc/grub.d
sudo sed -i -e '/^menuentry /s/ {/ --users myusername {/' *
Ciò aggiungerà una nuova voce --users myusername
per ogni riga.
Esegui update-grub per rigenerare grub
sudo update-grub
Quando si tenta di modificare una voce di grub, verrà richiesto il nome utente, ad esempio il mio nome utente e la password utilizzata.
Riavvia e verifica che nome utente e password vengano applicati durante la modifica di tutte le voci di grub.
NB ricordati di premere SHIFTdurante l'avvio per visualizzare il tuo grub.
Protezione password modalità di recupero
Tutto quanto sopra può essere facilmente risolto utilizzando la modalità di ripristino.
Fortunatamente puoi anche forzare un nome utente e una password per utilizzare la voce di menu della modalità di ripristino. Nella prima parte di questa risposta creiamo un nome utente aggiuntivo chiamato recupero 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}"
Per:
if ${recovery} ; then
printf "menuentry '${title}' --users recovery ${CLASS} {\n" "${os}" "${version}"
else
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi
Quando si utilizza il recupero, utilizzare il nome utente di recupero 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 tenti di avviare la modalità di ripristino.
Ulteriori informazioni - http://ubuntuforums.org/showthread.php?t=1369019