首页 运维 网络学院 查看内容

如何重置Linux的root密码

2014-12-17 17:34 1111 0

摘要: 某些原因,你可能要重新设置一个Linux的root密码。如果当前的密码是默认的,就以root身份登录并发出passwd命令。如果你忘记了密码,无法登录该怎么办?
关键词: nbsp Linux 密码 dev 512 password kali 一个 重新 root

某些原因,你可能要重新设置一个Linux的root密码。如果当前的密码是默认的,就以root身份登录并发出passwd命令。如果你忘记了密码,无法登录该怎么办? 重置Linux的root密码很简单,有2种主要方法。 方法一: 首先,我们启动机器了。如果LILO在使用中,在“LILO:”中输init=/bin/bash。如果GRUB是在使用中,然后按下键“E”。我们需要编辑linux kernel的cmdline,开始在linux中追加init=/bin/sh : 电脑会开机就直接进入shell提示符 – 不需要登录: 现在请记住,在GRUB布局,内核选项和文字看起来可能和特定的Linux安装明显不同。如果我发出mount命令,我可以看到我的根文件系统已经被安装为只读: # mount [...] /dev/disk/by-uuid/45bba583-3259-4626-ba7e-62873eee3295 on / type ext4 (ro,relatime,data=ordered) # 上面的关键,是挂载点“/”和“RO”的关键字。为了修改密码文件,我们需要重新挂载文件系统的读写访问:
# mount / -oremount,rw

再发出passwd命令来设置一个新密码

# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
#

现在只读再次重新挂载文件系统:

# mount / -oremount,ro

最后
,我们需要重新启动,因为用的不是标准的系统,发行重启将失败。然后按Ctrl-Alt-Del组合。这没有什么不对的,因为文件系统已经重新安装只读 - 没有数据都将丢失。

方法2

在某些情况中,GRUB构造成防止修改内核命令行,或另一个引导程序在使用过程中可能会阻止这样一个选项。在这种情况下,我们需要一个稍微不同的方法,和一些外部的支持。我们必须启动一个Linux CDUSB棒。一旦启动,我们将需要访问包含Linux安装的根密码来重置硬盘分区。

问题可在FDISK-l显示磁盘和分区系统上找到:

root@kali:~# fdisk -l
 
Disk /dev/sdb: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders, total 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk 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 bytes
255 heads, 63 sectors/track, 3916 cylinders, total 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk 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 / Solaris
root@kali:~#

在这种情况下,我们可以看到,/ dev/ sdb1的是我们内部硬盘的Linux分区。

让我们做一个临时目录并挂载为/ dev/ sdb1
root@kali:~# mkdir /mnt/harddisk
root@kali:~# mount /dev/sdb1 /mnt/harddisk
root@kali:~# ls /mnt/harddisk/
bin    dev   initrd.img  media  opt      root     share  tmp  vmlinuz
boot   etc   lib         mnt    pentest  sbin     srv    usr
cdrom  home  lost+found  nis    proc     selinux  sys    var

在更换密码之前把根目录切换到硬盘所在目录。

 

root@kali:~# chroot /mnt/harddisk/
root@kali:/# passwd
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
root@kali:/# exit
exit
root@kali:~#

最后,卸载,删除临时目录下,并重新启动:

# umount /mnt/harddisk
# rm -rf /mnt/harddisk
# reboot
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部