[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: root shell al boot



Alle 00:16, venerdì 26 settembre 2003, Leonardo Canducci ha scritto:
> non ricordo più come si faceva ad ottenere una root shell al boot. mi
> pare che in alcuni kernel venga richiesto all'avvio dopo lilo/grub.
> se ne era parlato per questioni di sicurezza, quando si riesce ad
> accedere fisicamente ad un server, ma non ho ritrovato la discussione
> negli archivi.

Il kernel avvia per default, come primo processo e con permessi di 
root, /sbin/init, che poi leggendo /etc/inittab fa partire tutti i 
processi di avvio. 

Questo nome di file è "hardcoded" nel kernel, ma si può cambiare con la 
linea di comando del kernel, col parametro init=nomefile. Esempio se 
vuoi dimostrare al mondo che emacs è necessario e sufficiente fai 
"init=/usr/bin/emacs" ;) Anche se fa casino col terminale all'uscita...

Per avere la sh basta quindi dare al kernel

init=/bin/sh

Su lilo devi usare la label che usi per il boot:

linux init=/bin/sh

al prompt.

Se usi grub devi editare la riga con "e" ed appendere init=/bin/sh, poi 
fare "b".

Questa cosa funziona anche su altre architetture, non solo su x86, ma si 
può evitare proteggendo il bootloader con una password. In quel caso, 
se il bios non è protetto da password, si può ancora bootare da 
dischetto o da cd ed essere root. Se il bios è protetto, si può sempre 
sproteggerlo cancellando la memoria, dopo aver aperto il case. Ecco il 
significato di "se posso accedere fisicamente alla macchina posso 
essere root".

Se usi questa "feature", la partizione "/" è montata read-only, per 
averla read-write la rimonti, ma poi devi ricordarti di rimontarla 
read-only prima di spegnere. Per spegnere mi sa che fare halt non serve 
a niente perchè non c'è apmd (potrei sbagliare), quindi remount 
read-only e premi il grande tasto rosso ;)

Credo di averti detto tutto! Notte...

V.

-- 
Ho dato al mio dolore la forma di parole abusate
che mi prometto di non pronunciare mai più
[CSI]




Reply to: