[Tech] Spostamento della root: impossibile fare login

Francesco Poli frx@firenze.linux.it
Ven 16 Maggio 2003 22:18:33 CEST


Ok, ho fatto il passo piu` lungo della gamba...  :-(

Una macchina SCSI, in facolta`, e` nata parecchio tempo fa con RedHat
6.2 (o forse anche prima, non so) e poi di upgrade in upgrade e` giunta
alla RH 8.0. Il problema e` che la partizione di root si e` riempita e
ora non e` piu` possibile neanche fare i pur necessari aggiornamenti di
sicurezza... Allora ho pensato di spostare la / da /dev/sda1 a
/dev/sda7, dato che quest'ultima era una partizione piu` capiente e
quasi inutilizzata. Per farlo, ho avviato la macchina con la
nanodistribuzione tomsrtbt (http://www.toms.net/rb/), in modo da operare
a sistema `fermo' (tomsrtbt gira con il suo root-filesystem in ramdisk).
Dopo aver montato le due partizioni su mount point temporanei

/mnt# mkdir mysda1
/mnt# mount -t ext3 /dev/sda1 mysda1
/mnt# mkdir mysda7
/mnt# mount -t ext3 /dev/sda7 mysda7

ho copiato tutto il contenuto di mysda1 in mysda7 (con cp -a),
escludendo la lost+found. Ho ottenuto cosi` una copia speculare (con la
/bin, la /boot, la /lib, la /etc, i vari mount point, e cosi` via). Poi
ho modificato mysda7/etc/fstab in modo che la / corrispondesse a
/dev/sda7 e non a LABEL=/ (avrei voluto modificare le etichette ext2, ma
in tomsrtbt non c'e` e2label). Inoltre ho tolto la riga che faceva
riferimento all'etichetta della /dev/sda7 (altrimenti al bootstrap il
sistema tenterebbe di montare due volte la stessa partizione). Infine ho
modificato mysda7/etc/lilo.conf in modo che abbia root=/dev/sda7 e non
piu` root=LABEL=/
Ho rieseguito il LILO:

/mnt# chroot mysda7 lilo -v

e ho riavviato.
E qui viene il bello: la macchina si avvia ma...

* alcuni demoni non partono (atd, cannaserver che non so neanche perche'
sia stato installato...)
* ci sono vari messaggi di errore di exportfs (che ora non ho sotto
mano, se sono utili vi invio la parte relativa di/var/log/messages)
* root puo` fare login, ma gli altri utenti no!!!!!
* se un utente comune tenta di entrare da console, la sua sessione viene
chiusa immediatamente e viene rivisualizzato il prompt di login
* se un utente comune tenta di entrare via telnet gli viene visualizzato
il motd e poi un inquietante messaggio di errore "could not
find/home?/username" seguito da un"connection closed by foreign host":
eppure le home directory ci sono tutte, root ci puo` entrare e vederne i
contenuti, e i permessi sembrano corretti
* se root prova con  su - username  ottiene il messaggio d'errore "could
not open session"
* il demone identd sembra partire ma muore misteriosamente subito dopo:
uno/etc/init.d/identd status risponde che identd e` morto, ma c'e`
ancora il file del suo pid

Allora ho sistemato le etichette dei filesystem (rimodificando
/etc/fstab e /etc/lilo.conf) e ho riscambiato quelle di /dev/sda1 e
/dev/sda7: dopo un reboot sono tornato alla situazione di partenza.
Tutto funziona correttamente, ma non posso fare gli aggiornamenti di
sicurezza perche' la / e` piena (adesso la macchina e` fuori rete...).

Qualcuno ha un'idea di cosa posso aver dimenticato o sbagliato?
Se servono piu` dati, chiedete: non saprei cosa altro possa essere
utile...
Grazie a chiunque mi sappia dare qualche risposta (e grazie a tutti gli
altri per la pazienza...).

-- 
    Francesco Poli       <frx AT firenze.linux.it>
======================================================
You're compiling a program and, all of a sudden, boom!
  -- from APT HOWTO, version 1.8.0



Maggiori informazioni sulla lista flug-tech