miércoles, 28 de septiembre de 2011

Como cambiar el password de Root Linux


GENERALIDADES

Si nos olvidamos el password del usuario root, y no hay forma de acordarnos, no estamos perdidos, no tenemos permisos de superusuario, pero lo podemos tener iniciando con otro linux, en un floppy por ejemplo, como seguimos sin recordar el password, leeremos este artículo por completo. En primer lugar supondremos que ya tenemos el sistema de rescate MiniLinux (ver como generar los floppys aquí). Paso seguido arrancamos la máquina con la consola de rescate y montamos la partición raiz así:
linux:# mount /dev/hda2 /mnt
Procederemos a editar el archivo /etc/shadow que es donde se guardan los password, de la siguiente forma y con vi el editor de textos de consola (embebido en busybox).
linux:# mount /dev/hda2 /mnt
linux:# vi /mnt/etc/shadow
A continuación veremos vi, en modo comandos, no podremos modificar absolutamente nada hasta que no presionemos la letra I i que lo pasará al modo inserción o edición:
root:2mqNzQR/WL9vU:12299:0:10000::::
bin:*:8902:0:10000::::
daemon:*:8902:0:10000::::
lp:*:9473:0:10000::::
mail:*:8902:0:10000::::
news:*:8902:0:10000::::
uucp:*:0:0:10000::::
games:*:0:0:10000::::
man:*:8902:0:10000::::
at:*:8902:0:10000::::
mdom:*:8902:0:10000::::
wwwrun:*:8902:0:10000::::
squid:*:8902:0:10000::::
postgres:*:8902:0:10000::::
fax:*:8902:0:10000::::
gnats:*:8902:0:10000::::
adabas:*:8902:0:10000::::
amanda:*:8902:0:10000::::
irc:*:8902:0:10000::::
ftp:*:8902:0:10000::::
firewall:*:8902:0:10000::::
named:*:8902:0:10000::::
fnet:*:8902:0:10000::::
"/mnt/etc/shadow" 40L, 1006C                                  1,1      Comienzo
Después de presionar la letra i
root:2mqNzQR/WL9vU:12299:0:10000::::
bin:*:8902:0:10000::::
daemon:*:8902:0:10000::::
lp:*:9473:0:10000::::
mail:*:8902:0:10000::::
news:*:8902:0:10000::::
uucp:*:0:0:10000::::
games:*:0:0:10000::::
man:*:8902:0:10000::::
at:*:8902:0:10000::::
mdom:*:8902:0:10000::::
wwwrun:*:8902:0:10000::::
squid:*:8902:0:10000::::
postgres:*:8902:0:10000::::
fax:*:8902:0:10000::::
gnats:*:8902:0:10000::::
adabas:*:8902:0:10000::::
amanda:*:8902:0:10000::::
irc:*:8902:0:10000::::
ftp:*:8902:0:10000::::
firewall:*:8902:0:10000::::
named:*:8902:0:10000::::
fnet:*:8902:0:10000::::
-- INSERTAR --                                                1,6      Comienzo
Entonces nos posicionamos entre las letras extrañas que hay después de root: y las borramos, si se nos borran los dos puntos : en los teclados españoles el SHIFT+Ñ la EÑE.
root::12299:0:10000::::
bin:*:8902:0:10000::::
daemon:*:8902:0:10000::::
lp:*:9473:0:10000::::
mail:*:8902:0:10000::::
news:*:8902:0:10000::::
uucp:*:0:0:10000::::
games:*:0:0:10000::::
man:*:8902:0:10000::::
at:*:8902:0:10000::::
mdom:*:8902:0:10000::::
wwwrun:*:8902:0:10000::::
squid:*:8902:0:10000::::
postgres:*:8902:0:10000::::
fax:*:8902:0:10000::::
gnats:*:8902:0:10000::::
adabas:*:8902:0:10000::::
amanda:*:8902:0:10000::::
irc:*:8902:0:10000::::
ftp:*:8902:0:10000::::
firewall:*:8902:0:10000::::
named:*:8902:0:10000::::
fnet:*:8902:0:10000::::
-- INSERTAR --                                                1,6      Comienzo
Presionamos la tecla escape ESC para volver al modo comandos y poder guardar los cambios, (el indocador de INSERCION desaparece).
root::12299:0:10000::::
bin:*:8902:0:10000::::
daemon:*:8902:0:10000::::
lp:*:9473:0:10000::::
mail:*:8902:0:10000::::
news:*:8902:0:10000::::
uucp:*:0:0:10000::::
games:*:0:0:10000::::
man:*:8902:0:10000::::
at:*:8902:0:10000::::
mdom:*:8902:0:10000::::
wwwrun:*:8902:0:10000::::
squid:*:8902:0:10000::::
postgres:*:8902:0:10000::::
fax:*:8902:0:10000::::
gnats:*:8902:0:10000::::
adabas:*:8902:0:10000::::
amanda:*:8902:0:10000::::
irc:*:8902:0:10000::::
ftp:*:8902:0:10000::::
firewall:*:8902:0:10000::::
named:*:8902:0:10000::::
fnet:*:8902:0:10000::::
                                                              1,5      Comienzo
Muy importante ahora tendremos que escribir SHIFT+Ñ en los teclados españoles para sacar los dos puntos, ya que si nos equivocamos haremos desastres, y a continuación la palabra write, es decir :write y presionamos ENTER.
root::12299:0:10000::::
bin:*:8902:0:10000::::
daemon:*:8902:0:10000::::
lp:*:9473:0:10000::::
mail:*:8902:0:10000::::
news:*:8902:0:10000::::
uucp:*:0:0:10000::::
games:*:0:0:10000::::
man:*:8902:0:10000::::
at:*:8902:0:10000::::
mdom:*:8902:0:10000::::
wwwrun:*:8902:0:10000::::
squid:*:8902:0:10000::::
postgres:*:8902:0:10000::::
fax:*:8902:0:10000::::
gnats:*:8902:0:10000::::
adabas:*:8902:0:10000::::
amanda:*:8902:0:10000::::
irc:*:8902:0:10000::::
ftp:*:8902:0:10000::::
firewall:*:8902:0:10000::::
named:*:8902:0:10000::::
fnet:*:8902:0:10000::::
:write                                                                               .
Y ya nos podremos salir de vi, con el comando SHIFT+Ñ q, es decir :q ENTER. (recuerden que la EÑE es sólo en los teclados en español).
root::12299:0:10000::::
bin:*:8902:0:10000::::
daemon:*:8902:0:10000::::
lp:*:9473:0:10000::::
mail:*:8902:0:10000::::
news:*:8902:0:10000::::
uucp:*:0:0:10000::::
games:*:0:0:10000::::
man:*:8902:0:10000::::
at:*:8902:0:10000::::
mdom:*:8902:0:10000::::
wwwrun:*:8902:0:10000::::
squid:*:8902:0:10000::::
postgres:*:8902:0:10000::::
fax:*:8902:0:10000::::
gnats:*:8902:0:10000::::
adabas:*:8902:0:10000::::
amanda:*:8902:0:10000::::
irc:*:8902:0:10000::::
ftp:*:8902:0:10000::::
firewall:*:8902:0:10000::::
named:*:8902:0:10000::::
fnet:*:8902:0:10000::::
:q                                                                               .
Ahora tenemos que desmontar la partición con umount /mnt para que el kernel escriba los cambios en la partición.
linux:# mount /dev/hda2 /mnt
linux:# vi /mnt/etc/shadow
linux:# umount /mnt
Y la reiniciamos por las buenas con el comando reboot, dado el caso que no reinicie, lo hacemos con el botón, al entrar a nuestro linux ya no nos pedirá password root, y con el comando passwd podremos poner uno nuevo.
linux:# mount /dev/hda2 /mnt
linux:# vi /mnt/etc/shadow
linux:# umount /mnt
linux:# reboot

Post original: http://www.compunauta.com/forums/linux/hints/password.html