TAGS CLOUD
Incrementa dimensioniDecrementa dimensioni
Linux hardcore
Prendiamo fiato e immergiamoci nei centri nevralgici del sistema per esplorarne ogni aspetto, anche quelli più nascosti. Dai meandri del kernel alla gestione dei servizi, fino alla configurazione del sistema di avvio. Da oggi in poi il PC non avrà più
(pagina 7 di 9)


Il bootloader è il programma che permette di caricare il sistema operativo subito dopo l'accensione della macchina. Lilo è il bootloader “storico” di GNU/Linux ma diverse distribuzioni, ormai, preferiscono installare di default Grub: più potente e flessibile del primo. In questa sezione, quindi, esploreremo le opzioni messe a disposizione da Grub, fornendo le informazioni di base e indicando, allo stesso tempo, qualche piccolo trucco per gestire al meglio il caricamento di GNU/Linux.
La costruzione del menu di boot
 Innanzitutto, vediamo come è fatto Grub seguendo il tutorial “Una seconda distro al boot”, il quale spiega in modo dettagliato come aggiungere una distribuzione al menu di avvio del PC, in pratica la configurazione di un sistema dualboot con Grub. Vogliamo provare gli aggiornamenti giornalieri di Debian GNU/Linux Sid  o Arch Linux , senza dover rinunciare alla nostra distribuzione preferita? È il momento giusto per vedere come si fa. Per chiarezza, nel tutorial partiamo dal presupposto che la directory di Grub (/boot/grub) si trovi all'interno della quinta partizione del primo hard disk “hd0,4”, secondo la notazione di Grub (vedi riquadro “Come Grub identifica le partizioni”). Ricordiamo, infine, che nella configurazione di default di Ubuntu per accedere al menu di Grub all'avvio del PC bisogna premere il tasto “Esc”.
Un bootloader troppo generoso
All'avvio del PC Grub mette a nostra disposizione una vera e propria shell attraverso la quale è possibile inserire direttamente comandi e provare nuove configurazioni, senza dover metter mano al file menu.lst. Questo tool è molto comodo ma, spesso, rende il sistema poco sicuro. Questo perché, ottenuto l'accesso alla shell, qualsiasi utente può leggere il contenuto dei file sull'hard disk con i permessi di root; come se non bastasse, nella configurazione di default di Grub non ci sono restrizioni all'avvio in modalità recupero: un qualunque utente, dunque, può fare tutto ciò che desidera. Vediamo quindi come proteggere Grub mediante l'uso di una password.
Come Grub indica le partizioni
I dispositivi corretti per la configurazione del bootloader
In Grub i dispositivi (hard disk e partizioni) vengono identificati mediante una particolare notazione. I nomi dei dispositivi devono essere inseriti all'interno di una coppia di parentesi tonde “(“ e “)”. Successivamente, bisogna indicare il tipo di dispositivo: hdper hard disk (senza alcuna distinzione tra SCSI e IDE), fd per il floppy. Infine, è necessario scrivere la posizione numerica del disco rigido e quella della partizione alla quale si fa riferimento, iniziando a contare da zero. Per fare degli esempi, quindi, la prima partizione del primo hard disk in Grub è identificata come (hd0,0), la terza partizione del secondo disco come (hd1,2) e così via.
Una seconda distro al boot
Configuriamo Grub per poter avviare, al bisogno, un'altra distribuzione di “prova”
Il nome della distro

Apriamo il file di configurazione di Grub con il solito editor nano: “sudo nano /boot/grub/menu.lst”. Posizioniamo il cursore alla fine del file. A questo punto, in una nuova riga scriviamo la parola “title”, seguita dal nome da assegnare alla voce che apparirà nel menu di Grub e che servirà per avviare la nuova distribuzione. Infine, andiamo a capo.
Il Kernel da caricare

Digitiamo “root“ seguito dalla partizione in cui sono memorizzati i file di Grub (solitamente si tratta della partizione di root della prima distro o quelle di boot delle altre). Andiamo a capo e scriviamo “kernel“, dopodiché aggiungiamo il percorso del kernel della nuova distro (il file, di solito, inizia con “vmlinuz” e si trova nella directory di /boot).
La partizione di root

Sulla stessa riga inseriamo la partizione di root della nuova distro seguendo la normale notazione e scriviamo poi “ro” (avvio della partizione in sola lettura). A questo punto, andiamo a capo e inseriamo “initrd” ed il percorso del file di initrd  (estensione “.img”) sempre con la notazione di Grub. Nell'ultima riga scriviamo solo “boot”.
Proteggiamo grub con una password

Per proteggere Grub, bisogna inserire in menu.lst la password cifrata


La shell di Grub restituisce la password cifrata

Cominciamo stabilendo la password da usare e rendiamola illeggibile (ciò per evitare che qualcuno possa impadronirsene semplicemente leggendo il file /boot/grub/menu.lst). Apriamo una console ed entriamo nella shell di Grub con il comando “sudo grub”. Al prompt scriviamo “md5crypt” e premiamo Invio. Inseriamo, quindi, una password a nostra scelta: immediatamente Grub creerà una versione cifrata (riga “Encrypted:”) di questa. Selezioniamo la password criptata con il mouse e copiamola: per farlo, sia in Gnome Terminal che in Konsole, andiamo sul menu “Modifica” e clicchiamo su “Copia”. Infine, usciamo dalla shell di Grub eseguendo il comando “quit”.
Menu.lst sotto stretta sorveglianza
A questo punto, non resta che modificare opportunamente il file menu.lst. Apriamolo con “sudo nano /boot /grub/menu.lst” e, nella sezione “password” all'inizio del file, aggiungiamo la riga seguente: “password --md5”. Inoltre, senza andare a capo, inseriamo la password cifrata dal menu “Modifica/ Incolla” di Konsole o Gnome Terminal. A questo punto l'accesso alla shell di Grub durante il boot è bloccato. Non resta che “chiudere a chiave” le voci presenti nel menu di Grub che non vogliamo mettere a disposizione degli estranei. Per impedire l'avvio di Ubuntu in modalità recupero, ad esempio, cerchiamo all'interno di menu.list la riga che comincia con “lockalternative” e modifichiamola in “lockalternative=true”. Salviamo il file di configurazione e chiudiamo l'editor, infine, eseguiamo in console il comando “sudo update-grub” per rendere attive le modifiche. A questo punto, la blindatura si può dire conclusa: per avere accesso alla shell di Grub e per poter entrare al boot in modalità recupero, non dovremo fare altro che premere “p” nella schermata di avvio del boot loader ed inserire la password (purtroppo in chiaro questa volta, quindi attenti!).
I parametri del Kernel
Le direttive più importanti da passare tramite Grub
Nella linea “kernel” di menu.lst abbiamo inserito i parametri “root=” e “ro”. Quali sono le altre opzioni che possiamo inserire nelle voci del menu di avvio? Ecco qualche esempio. Con “acpi=off” possiamo disabilitare il sistema ACPI  al boot (utile in caso di problemi di compatibilità hardware), mentre con “quiet” diminuiamo drasticamente il numero di messaggi che compaiono sullo schermo durante l'avvio del PC. Grazie a “vga=”, infine, è possibile indicare al BIOS la risoluzione video da adottare in console. Per ulteriori approfondimenti, un buon testo in italiano sull'argomento è disponibile in rete all'indirizzo seguente: www.techtown.it/ public/ html/InfoLinux/MyLinuxsu60.html.
La shell di Grub
Tutti i comandi disponibili
Per accedere alla shell di Grub, durante i pimi istanti di avvio del PC, bisogna premere “c”. A questo punto i comandi che possiamo inserire sono numerosi. Innanzitutto, usiamo “help”, che fornisce l'elenco di quelli disponibili. Tra questi c'è “find”, che consente di stabilire in quali partizioni è presente un file specifico (ad esempio, “find /etc/passwd”); “cat” che mostra a schermo il contenuto di un file (“cat (hd0,0)/etc/profile”). I comandi sono un sottoinsieme di quelli disponibili in menu. lst, quindi dalla shell potremo caricare un kernel (comando “kernel”), avviare il sistema operativo (“boot”) e così via.
Amministrare gli utenti
Come funziona il sistema che si occupa della loro gestione, i file responsaili e la tecnica delle shadow password. Questo e altro ancora per diventare padroni assoluti del computer
Pagina 7/9
Lascia un commento
Tag: linux, kernel, patch, moduli, runlevel, cron, crontab, demoni, file /etc/fstab, DI /PROC, udev, bash, syslog
Condividi