E' possibile tramite semplici operazioni effettuare un password recovery di un sistema linux.
Tutto quello che si deve avere a disposizione è un cd-rom o un dischetto bootabile con un kernel linux ed un editor di testo come vi.
La prima operazione è quella di riavviare il sistema inserendo il cd o dischetto contenente un'immagine di un kernel funzionante.Il primo cd della propria distribuzione è piu' che sufficiente. Ovviamente sul BIOS vanno impostati il floppy disk o il CDROM come device di boot primari.
Una volta che il sistema ha completato il boot da cd-rom o da dischetto abilitare il caricamento del kernel in modalità rescue:
boot: linux rescue
Verrà caricato un sistema Linux in INIT 1 in cui viene presentato il prompt di una shell senza la necessità di inserire login o password.
Quando si avrà una shell disponibile montare la partizione di root.
Ammettiamo che sia hda3 e che si scelga un mount point arbitrario come /mnt/cdrom:
[bash-2.0.3]$ mount -t ext3 /dev/hda3 /mnt/cdrom
Nel caso in cui si utilizza il primo CD della distribuzione RedHat in modo del tutto automatico il sistema salvato sul proprio hard-disk verrà montato in /mnt/sysimage/ e si verrà avvisati dal seguente messaggio:
The rescue environment will now attempt to find your Red Hat
Linux installation and mount it under the directory
/mnt/sysimage. You can then make any changes required to your
system. If you want to proceed with this step choose
'Continue'. You can also choose to mount your filesystem
read-only instead of read-write by choosing 'Read-only'.
If for some reason this process fails you can choose 'Skip'
and this step will be skipped and you will go directly to a
command shell.
Ora si ha completo accesso ai file presenti nella partizione montata, senza limitazioni su permessi e owner, per cui basta disabilitare la vecchia, non più nota, password, cancellando la entry opportuna nel file /etc/shadow.
Ammettiamo di effettuare il password recovery per l'utente root:
sh-2.05a# vi /mnt/cdrom/etc/shadow
root:$1$Uowq9pDe$.76a1DuKc9rxSSk.P25xP.:12017:0:99999:7:::
[....]
Cancellare il campo relativo alla password, come nell'esempio
root::12017:0:99999:7:::
Salvare il file e riavviare il sistema. (Ricordarsi di togliere il cd-rom o il dischetto utilizzato per il boot)
In questo caso al momento del login, se si inserirà come username root non verrà chiesta nessuna password e l'utente verra autenticato come root.
Ricordarsi di settare una nuova password per root.
Come si può notare se si ha accesso fisico ad un PC con Linux installato è facile poter cambiare la password di root ed avere completo controllo del sistema. Per proteggere fisicamente una macchina da simili modifiche di deve quindi:
- Mettere una password su BIOS per evitare che qualcuno possa alterare l'ordine dei device di boot e impostare l'hard disk dove è installato Linux come device primario.
- Mettere una password su LILO o su GRUB, in modo da evitare che si possa eseguire un boot in init 1 con un comando tipo linux single
.
- Impedire (da veri paranoici) la possibilità di aprire il case del PC evitando che possa essere spostato il jumper sulla motherboard che resetta le impostazioni del BIOS.
I principi e i comandi per gestire un file system: mount, df, du, fsck, mkfs.
Linux e la sicurezza fisicaProblematiche di sicurezza su server fisicamente non protetti
ma per un sistema con raid software funge?
ho provato e effettivamente parte anaconda che tenta di rilevare la partizione su disco ma nel mio caso fallisce. quindi mi viene mostrata la shell, io monto il disco con il solito mount, ma ..... era un raid uindi io non posso in questo caso andare a cercare lo shadow: non c'e' !!! quindi il recoveri della password nn lo posso fare se i dischi sono in raid?
RispondiVero, in parte
Con linux rescue parte anaconda, ma non si porta avanti l'installazione: vengono richiesti alcuni parametri base (tastiera ecc.) e poi ci si ritrova con una shell root e il sistema su HD (se trovato) montato su /mnt/sysimage.
Di fatto, quindi, puoi usare, bootando da CD RedHat, linux rescue per fare password recovery.
Oppure fare un boot da HD e scrivere linux single da lilo (o analogo) per boottare il sistema in init 1.
forse mom ti eri accorto che ....
non va!!!! cazzo quando lanci il comando linux rescue parte anaconda. forse l'avevi previsto.