Home Page

Tips page
c
cellulari
debian
egittologia
emacs
emacs-latex
hardware
html
inglese
java
latex
linux

*Alcuni comandi utili utilizzando find
*ARP e MAC address
*Ascoltare un CD audio
*Attivare il NumLock (BlocNum)
*Attivare i tasti i tasti Magic SysRq
*AWK, use an environment variable inside a script
*Bash e Argument list too long
*BogoMIPS
*Cancellare file e non recuperare spazio
*Capacita` dell'hard disk
*Come cambiare i font delle applicazioni con librerie GTK
*Come cambiare l'hostname
*Come tentare di recuperare file, filesystem e partizioni
*Compilare in parallelo
*Condividere una partizione
*Configure proxy for shells
*Continuous disk access
*Controllare la salute di hard disk e filesystem
*Convertire ext2 in ext3 (e viceversa)
*Convertire un file di testo dalla codifica DOS a quella UNIX
*Cosa fare quando si perde la password di root
*Cosa significa l'errore ``TCP
*Creare un boot floppy
*Creare un file temporaneo
*Deframmentazione di un filesystem
*Delete last chars from a string
*Determinare lo spazio libero sul disco
*Eliminare il beep
*Emettere un beep da script
*Enable PPP connection on boot
*Exclude a directory with rsync
*Execute telnet from a script
*Gestione dei file di log
*Gestione dei file .iso
*Gestione della data/ora
*Gestione di utenti e gruppi
*Hash md5 di una stringa
*Identificare la distribuzione installata
*I file ps e pdf
*Il file /etc/fstab
*Il file /etc/issue[.net] e /etc/motd
*Il filesystem SysFs
*I link soft ed hard
*Il path delle applicazioni
*Il sistema tutto in maiuscolo
*I moduli del kernel
*Impostare piu` IP per una scheda di rete
*Introduzione a LVM
*Inviare messaggi agli altri utenti
*I permessi della directory root, /
*La gerarchia del filesystem di Linux
*La memoria Ram sotto Linux
*La memoria swap
*Limitare la possibilita` di diventare root
*Limitazioni alla dimensione del file
*Log dei login utente
*Modificare il comportamento di ctrl+alt+canc
*Modificare le variabili della parent shell
*Montare o rimontare un filesystem come read-only
*More columns in a shell output
*Negare il login durante la manutenzione del sistema
*NoHUP
*Obtain the exact process start time
*Ottenere uno snapshot dello schermo
*Partizionamento di un sistema Linux
*Perche' si usa ./ per avviare alcuni eseguibili
*Permanent PPP connection
*PID of a process
*Programmare l'esecuzione dei programmi
*Quale processo utilizza un certo file o porta
*Quali vantaggi si hanno dalla ricompilazione
*Remove from find results
*Ricreare velocemente /tmp al boot
*Ridirezione dell'output
*Rimappare la tastiera
*Ripristinare i caratteri sballati in console
*Riscrivere l'MBR
*Salvarsi da un ``rm'' di troppo...
*Save MBR
*Scrivere in modo sincrono su filesystem
*Scrivere nel log di sistema di Linux
*Separazione dei comandi nella shell
*Separazione delle parole nella shell
*Share the internet connection
*Shell configuration files
*Single quote character escape with sed
*Spostare una directory in un'altra partizione
*Stimare il carico di lavoro della macchina
*Undelete di un file
*Usare le pendrive USB sotto Linux
*Usare partizioni primarie o estese
*Use md5sum to verify saved files
*Use ssh and scp without password
*Utilizzare hdparm per controllare gli hard disk
*Verificare un file video
*What is a zombie process
*What is the file System.map?
*What is the shebang? (Shell scripts)
*What shared libraries a program uses
*Yesterday date

matlab
misc
mysql
network
octave
programming
python
security
sed
tech
webapps
windows

University Page

Programming

Debian & Linux

Some works

About me

Del.icio.us Bookmarks

BOINC Combined Statistics

Site Statistics

Contact me sending an e-mail (antispam defense activated)

debian

hacker emblem

blogger

GeoURL

View Sandro Tosi's profile on LinkedIn

This is my Google PageRank

Title: Cosa fare quando si perde la password di root
Author: Sandro Tosi
Last modified: 2004-10-10 (2004-07-11)

La perdita della password di root e` una cosa molto grave che a nessun
amministratore di  sistema dovrebbe  mai accadere, ma  si sa,  in casa
ognuno e` amministratore della  propria macchina, e quindi l'abitudine
all'amministrazione  viene  meno. Nel  caso,  dunque, questa  password
venga   smarrita,   l'utilizzo   del   sistema   verrebbe   gravemente
compromessa: risulta necessario recuperare, o meglio modificare, detta
password in modo da evitare di dover reinstallare il sistema operativo
(non siamo mica sotto Windows...).

Una  possibilita` consiste  nell'eseguire  il boot  tramite  un cd  di
installazione (magari  quello che si  e` utilizzato per  installare la
distribuzione la prima volta), e poi da questa entrare nella modalita`
``rescue'' (o  come viene chiamata) in  modo da ottenere  una shell: a
questo punto, e` possibile montare  il root filesystem del computer ed
editare il file <hd>/etc/passwd (oppure <hd>/etc/shadow, se il secondo
campo  di <hd>/etc/passwd  contiene una  `x'), cancellare  la password
criptata, riavviare,  fare login  come root e  con password  vuota, ed
infine reimpostarla.  (si guardino `man passwd' e  `man shadow'). Alla
fine dell'operazione, prima di riavviare, conviene eseguire un `sync',
per  scrivere le  modifiche effettuate  sul disco  fisso: e`  piu` una
paranoia che una necessita` vera...

Ogni sistema  Linux dispone  di diversi runlevel,  scelti al  boot del
sistema, tra cui uno di  default e gli altri utilizzabili indicando un
parametro  aggiuntivo al  nome del  kernel dell'avvio:  il  numero del
runlevel. Il  primo, quindi  il runlevel 1,  e` il noto  ``single user
mode'', cioe` una configurazione di emergenza in cui un solo utente ha
accesso  al  computer come  root.  E`  quindi sufficiente,  all'avvio,
inserire nel  boot loader la  stringa `linux single'  o, analogamente,
`linux 1' per avere accesso al  sistema come l'utente root e senza che
venga richiesta password (questo non e` sempre, si veda dopo). Perche`
tutto questo sia  possibile, non deve essere protetto  il boot loader:
per esempio, con lilo, si possono introdurre ulteriori due righe nella
definizione  di  un'immagine (oltre  a  quelle  che  indicano il  nome
dell'immagine e la label) che sono

password=<pwd>
restricted

in modo che per modificare il runlevel si debba introdurre <pwd>.

In questo caso e` possibile aggirare queste limitazioni tramite

# linux init=/bin/bash rw

dove viene chiesto di eseguire, al posto di `init', una shell (se `rw'
di init non funziona, si  puo` sempre eseguire `mount -o remount,rw /'
da bash);  questo non  richiede password. Anche  in questo  caso, dopo
aver  apportato  modifiche e  prima  di  riavviare, conviene  eseguire
`sync'.

init 1 e` possibile anche invocarlo  da remoto, ma solo se si e` root,
ma  comunque  sia,  una  volta  eseguito  init  1,  l'unico  modo  per
interagire con la macchina sara` tramite una console locale...

In generale, le distribuzioni consentono  di entrare in `init 1' senza
chiedere  password,  ma  per  esempio Debian,  richiede  di  inserirla
ugualmente (si veda `man securetty' e `cat /etc/securetty').

Sebbene possa sembrare strano che  sia cosi` facile avere accesso come
root, si  deve ricordare che nessuna macchina  puo` essere considerata
sicura  quando  si  ha  accesso  fisico ad  essa,  in  quanto  sarebbe
possibile eseguire il boot da  floppy o da cdrom, smontare fisicamente
l'hard disk e  montarlo su un altro computer. Quello  che si puo` fare
e` impostare la password nel  BIOS (sperando che non esistano password
backdoor, che molti produttori  di BIOS impostano), settare il timeout
di lilo a 0 e bloccare l'accesso al floppy.