命令来设置一个新密码
# passwdEnter new UNIX password:Retype new UNIX password:passwd: password updated successfully#
现在只读再次重新挂载文件系统:
# mount / -oremount,ro
最后
,我们需要重新启动,因为用的不是标准的系统,发行重启将失败。然后按Ctrl-Alt-Del组合。这没有什么不对的,因为文件系统已经重新安装只读 - 没有数据都将丢失。
方法2
在某些情况中,GRUB构造成防止修改内核命令行,或另一个引导程序在使用过程中可能会阻止这样一个选项。在这种情况下,我们需要一个稍微不同的方法,和一些外部的支持。我们必须启动一个Linux CD或USB棒。一旦启动,我们将需要访问包含Linux安装的根密码来重置硬盘分区。
问题可在FDISK-l显示磁盘和分区系统上找到:
root@kali:~# fdisk -l Disk /dev/sdb: 32.2 GB, 32212254720 bytes255 heads, 63 sectors/track, 3916 cylinders, total 62914560 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00057814 Device Boot Start End Blocks Id System/dev/sdb1 * 2048 60229631 30113792 83 Linux/dev/sdb2 60231678 62912511 1340417 5 Extended/dev/sdb5 60231680 62912511 1340416 82 Linux swap / Solaris Disk /dev/sda: 32.2 GB, 32212254720 bytes255 heads, 63 sectors/track, 3916 cylinders, total 62914560 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000dcc91 Device Boot Start End Blocks Id System/dev/sda1 * 2048 60262399 30130176 83 Linux/dev/sda2 60264446 62912511 1324033 5 Extended/dev/sda5 60264448 62912511 1324032 82 Linux swap / Solarisroot@kali:~#
在这种情况下,我们可以看到,/ dev/ sdb1的是我们内部硬盘的Linux分区。
让我们做一个临时目录并挂载为/ dev/ sdb1:
root@kali:~# mkdir /mnt/harddiskroot@kali:~# mount /dev/sdb1 /mnt/harddiskroot@kali:~# ls /mnt/harddisk/bin dev initrd.img media opt root share tmp vmlinuzboot etc lib mnt pentest sbin srv usrcdrom home lost+found nis proc selinux sys var
在更换密码之前把根目录切换到硬盘所在目录。
root@kali:~# chroot /mnt/harddisk/root@kali:/# passwdEnter new UNIX password: Retype new UNIX password: passwd: password updated successfullyroot@kali:/# exitexitroot@kali:~#
最后,卸载,删除临时目录下,并重新启动:
# umount /mnt/harddisk# rm -rf /mnt/harddisk# reboot