linux密码的破解与保护

找回root口令:

  遇到密码丢失的情况,如果只是普通用户的密码丢失,那么可以让管理员重新设定密码。但是如果管理员用户的密码丢失,那该如何解决?

  在 Linux环境中root 密码忘记还是可以救回来的!只要能够进入并且挂载 / , 然后重新设定一下root的密码,就救回来啦!这是因为开机流程中,若强制进入runlevel 1 时, 默认是不需要密码即可取得一个 root 的 shell 来救援的。详细过程如下:

1. 重新启动!

2. 在开机按任意键进入 grub 选单

wKioL1fTzQuB2pBwAAAV6WmgRhQ070.png

根据提示,键入a 进入以下画面:在quiet后加 1 或 single 或 S 或 s

wKiom1fTzk-DSPcqAAAPEWwo5m0850.png

回车后就会进入单用户模式 runlevel 1,然后使用passwd命令来修改密码,修改完成后重新启动就可以了。

wKioL1fTzzODrXTCAAAO32T_kzc077.png

   就是这么简单,密码就可以重置,带来方便的同时,也有危险的存在。虽然一般情况下服务器都在机房放置。外人根本接触不到,但是有些特定的情况下,会在外人接触到的地方放置,如果这样简单就被破解了管理员密码,那岂不是很危险,所以,我们不经要回破解密码,还要会保护密码!!

升级密码保护:

  讲到密码保护,就涉及到系统启动时所需要的一个文件,我们可以在这里加一些设置,这样就可以在系统启动的时候,得到一些保护!!

 这个文件就是/boot/grub/grub.conf,这是一个系统的配置文件,这个文件里有这样一些内容(#后为上一行的注释)

wKioL1fWlbXyDneWAACXiQtd688188.png

我们可以在这个文件里加上两行代码,实现修改内核的保护和系统的保护。

wKioL1fWnJLSeCZ9AABO5_ZuQ38299.png

  而我们加了两行代码,分别实现什么功能呢?

这两行代码,位置不同,所实现的功能就有所不同,第一个在启动内核之前,所以他主要是启动菜单编辑认证,第二个在内核设置之后,所以他是实现启动选定的内核或操作系统时进行认证

重启启动进入 grub 选单,即可发现下方提示信息已经改变,需要输入密码,才能进行修改wKioL1fWmfih0jmCAAAVzTWwisg065.png

输入密码,即可正常显示,这时就可以修改密码了。

wKiom1fWmemRSkV3AAAWcOCSab8889.png

选择启动系统时,会首先显示需要输入密码:wKioL1fWnT6TEqWwAAAIf958J0U641.png

这时输入正确的密码,系统就会开始正常启动

wKiom1fWnWXTMSTAAAANhdYZIpM697.png

密码加密保护:

虽然这个配置文件的权限设置的比较严格:

wKioL1fWpVSD01TSAAAREXCek0Q794.png但是,毕竟密码在文件里是明文保存的,所以还是较为不安全,这时,我们就需要使用加密的密码了

这里就需要使用命令“grub-md5-crypt”,就会生成加密的密码

wKiom1fWpgyzzICWAAAUe1v_FyI323.png

而配置文件里就需要经密码那一行,更改为:

password [--md5] STRING

这样就可以实现密码更加安全。

思考:

  这时就面临一个情况,如果忘记启动菜单编辑的密码,只要记得进入系统的密码,即可进入系统修改配置文件,实现找回启动菜单编辑密码。那么如果忘记进入系统的密码,该怎么办?

  这是不要着急,只要还记得启动菜单编辑的密码,就还有的救。

 进入grub选单时,输入真确密码,然后选择"c",键入"c"后,会出现以下界面,输入三行命令,节课实现,绕过内核启动,所以不需要进入系统的密码。

wKioL1fWofewa_GSAAAKLOy_GkI286.png

需要注意的是,要指定自己的内核文件,根目录及虚拟系统文件,图中参数切勿照抄,要根据自己实际情况进行编辑。

如果两个密码都忘了,这是可就麻烦了,只有进入救援模式了。。。

进入救援模式,请参考http://groot.blog.51cto.com/11448219/1841771

进入救援模式后:

首先切换根目录,

然后把配置文件的设置密码那行给修改或删除,然后退出重启,就可以了。

wKiom1fWpLTxFu-1AAAFCsInl4c988.png

原创文章,作者:Groot,如若转载,请注明出处:http://www.178linux.com/47833

(1)
GrootGroot
上一篇 2016-09-22
下一篇 2016-09-22

相关推荐

  • Linux程序包管理(一)RPM使用

    Linux程序包管理 在早期我们使用源代码的方式安装软件时,都需要先把源程序代码编译成可执行的二进制应用程序,然后进行安装。意味着每次安装软件都需要经过 预处理 –> 编译 –> 汇编–> 链接, 这个复杂的过程。为简化安装步骤,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提…

    Linux干货 2016-06-01
  • RAID解说

    RAID(RedundantArrays of Inexpensive Disks,RAID),又叫独立的磁盘阵列。有“价格便宜具有冗余能力的磁盘阵列”之意。原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术…

    2017-03-14
  • Linux正则表达式及grep练习题

    Linux正则表达式及grep练习题          1、找出ifconfig命令结果中本机的所有IPv4地址         # ifconfig|grep -E -o "(([0-9]…

    Linux干货 2016-08-07
  • 端口转发实例

    什么是端口转发?      端口转发(Port forwarding),有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法。端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,其使一个外部用户从外部经过一个被激活的NAT路由器到达一个在私有内部IP地址(局域网内部)上的一个端口。 为什么需要端口转发? …

    2017-04-13
  • N26-第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。[root@localhost home]# cp -R /etc/skel/ /home/tuser1 && chmod -R g=,o= /home/tuser1 [root@localhost …

    Linux干货 2017-03-07
  • 显示历史命令时间

        历史命令中默认是不显示时间的,如果我们想要在使用history命令时显示时间可以通过设置环境变量来实现。     HISTTIMEFORMAT变量的具体参数与date命令中的类似,可以参数date命令的对日期时间格式时行修改。    &nbs…

    Linux干货 2015-05-02

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-23 12:02

    写的很好,图文并茂,有自己的思考