热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

修改root密码方式及克隆虚拟机

2019独角兽企业重金招聘Python工程师标准忘记root密码怎么办如果忘记了linux系统的root密码,有两种方法来修改root密码。单用户模式救援模式一

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

忘记root密码怎么办

如果忘记了linux系统的root密码,有两种方法来修改root密码。

  1. 单用户模式
  2. 救援模式

一、 单用户模式

  1. 重启系统 重启系统,3秒后钟内按向下键输入图片说明

  2. 按方向键移动光标,选着第一个行,然后按字母“e”编辑它,然后使用方向键移动光标定位到linux16开头的行。

    输入图片说明

  3. 按右键将光标移动到ro这里,把ro改成rw init=/sysroot/bin/bash 。 输入图片说明

  4. 然后同时按ctrl和x这两个键,等几秒,这样就进入了enmergency [ɪ'mɜːdʒ(ə)nsɪ] 模式(单人模式)。
    输入图片说明 注意:这个时候的系统不是我们安装的centos系统,而是内存的一个系统,我们要进入到原系统中。

  5. 切换到原系统 chroot /sysroot/ 输入图片说明

  6. 修改密码
    passwd
    输入图片说明

  7. 注意:密码修改完后还要创建一个文件。
    touch /.autorelabel 这个文件一个要写对,否则更改的密码将不能生效。执行这一步是为了让SELinux生效,如果不执行,则我们修改的密码是不会生效的,执行。 输入图片说明

  8. 同时按Ctrl +D这两个键,再输入命令reboot 重启系统,等几秒就出现登录界面,此时使用我们的新密码登录即可。

    输入图片说明

二、 救援模式

  1. 光盘启动 检查光驱是否是开启启动,点击VMware右下角的小光盘图标处,点击它,此时会出现两个选项,选择“设置”选项,会弹出“虚拟机设置”对话框,看一下右侧的设置状态,要保证对勾都是打上的。 输入图片说明

  2. 将VMware的BIOS设置成光驱启动 先将centos系统关机,然后再VMware左侧选中这台虚拟机并右击,从中选择“电源”—“启动时进入BIOS”。输入图片说明

  3. 进入BOIS后,按右键选着“BOOT”,然后按-号调节各个启动对象,选着CD-ROM让它在第一个启动,设置完后,按F10键保存退出。 输入图片说明

  4. 随后进入光驱启动界面,使用上下方向键选着“Troubleshooting”。 输入图片说明

  5. 回车后,使用向下方向键选择Rescuel a CentOS Linux system。 输入图片说明

  6. 连续敲两次回车,等几秒中,其中一些提示,它告诉我们,初始化系统在/mnt/sysimage下面,和单人模式/sysroot 类似,就是我们的原系统目录。 输入图片说明

  7. 这里我们选择第1项,输入数字“1”回车后,再次回车,它又一次告诉我们:初始化系统已经挂在到/mnt/sysimage下面,想要进入初始化系统下面,需要执行 chroot /mnt/sysimage命令。 输入图片说明

  8. 进入初始化系统后,执行命令passwd,修改root密码。 输入图片说明

  9. 退出救援模式 先使用ctrl+D 组合键退出原始系统,然后执行reboot命令即可 注意:将VMware光驱启动修改成硬盘启动。

三、 克隆centos

  1. 首先关闭正在运行的centos,执行命令:shutdown –h now 或者init 0。然后在右侧对应虚拟机名字上单击鼠标右键,选着“管理”,再选着“克隆”。输入图片说明

  2. 此时会出现“克隆向导”界面,直接下一步,按钮,再点击下一步按钮,会出现克隆类型“这里采用默认值,即选择”创建链接克隆”,这种类型会节省空间,比较方便。 输入图片说明

  3. 继续点击“下一步”按钮,这里可以设置克隆虚拟机名字,和保存路径,接着点击“完成”和“关闭”按钮,最终完成centos克隆。
    输入图片说明
    输入图片说明

  4. 打开克隆虚拟机centos7-02,修改IP,保存退出,然后使用命令dhlient获取IP,ifconfig查看IP是否变成了129.
    输入图片说明 输入图片说明

  5. 为了容易区分两台centos,将两台主机名修改成,linux-128和linux-129。在第一台centos上运行命令:

    hostnamectl set-hostname linux-128

    或者修改主机名配置文件/etc/hostname,命令如下:
    vi /etc/hostname
    输入图片说明 将原文件的内容修改成 linux-128 ,保存后,退出当前终端,可以使用ctrl+D,然后再登录一次,就发现主机名已经发生变化。第二台使用同样的方法,修改成linux-129.
    输入图片说明 输入图片说明

四、 Linux系统相互登录

  1. 使用Xshell登录主机名为linux-128,然后执行命令:

    [root@linux-128 ~]# ssh root@192.168.88.129 //第一次登录对方机器,有个提示
    The authenticity of host '192.168.88.129 (192.168.88.129)' can't be established.
    ECDSA key fingerprint is 18:75:80:92:f3:99:67:a3:97:df:6c:b1:9c:76:c4:e1.
    Are you sure you want to continue connecting (yes/no)? yes

    这里输入yes,然后回车,又出现一个提示,意思保存了192.168.88.129这台机器的信息:

    Warning: Permanently added '192.168.88.129' (ECDSA) to the list of known hosts.
    root@192.168.88.129's password:

    然后输入192.168.88.129的root密码后,成功登录linux-129.
    注意,ssh –p 22 root@192.168.88.129 完整代码。-p后面接端口,ssh默认端口是22,root是以那个用户远程登录,这里可以省略,默认是root登录。 输入图片说明
    这里符号前面@root 表示已远程机器的那个用户的身份登录,我们可以省略root@,可以写成ssh 192.168.88.129,它也表示以root用户身份登录,这个不是固定,取决于当前系统的当前用户是谁,查看当前用户名: whoami 也可以写成: who am i

    [root@linux-129 ~]# whoami
    root
    [root@linux-129 ~]# who am i
    root pts/1 2017-10-19 16:24 (192.168.88.128)

  2. 前面讲过,putty和xshell可以用密钥登陆,linux之间登陆也可以使用密钥来登录。

  3. 客户端生成密钥对,我们先打开linux-128,关掉linux-129,在linux-128上运行命令:

    [root@linux-129 ~]# ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa):

    这个命令是用来生成密钥对,首先,它让我们定义私钥的存放路径,默认路径是/root/.ssh/id_rsa。这里采用默认即可,直接回车,此时会显示如下信息:

    Enter passphrase (empty for no passphrase):

    然后它让我们定义私钥的密码,可以留空,直接回城即可,此时会显示如下信息:

    Enter same passphrase again:

    此时它会让我们再次一次输入密码,然后回车,此时显示如下信息:

    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    ba:bb:b0:00:8e:8a:6b:ca:76:d2:b1:16:cf:df:63:1d root@linux-129
    The key's randomart image is:
    +--[ RSA 2048]----+
    | |
    | |
    | |
    | |
    |. S |
    |o. o . E |
    |..o B . . . |
    |++ * = ..o . |
    |Oo+ . =+... |
    +-----------------+
    最终生成了密钥对,你可以在/root/.ssh/目录下找到公钥(id_rsa.pud)和私钥(id_rsa).

  4. 将公钥复制到要登录的机器上 首先查看128的公钥的内容,命令如下:

    [root@linux-129 ~]# cat /root/.ssh/id_rsa.pub
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTemp/ahQc0XqdEAUfnXcOOie7xdnhLKZlWs5MHy/pEUTkhaEYa+o/NKBBlN3vTFXZJu1trY+/Nyi1IeEOKlkrmCvz9EW/qDBSl+XWrv6h7K/pjouc4Vbs+SMrKCykgaR2drHqp9WNlEah/jECjDm+CHIRKXKdso7WxK+uba+DqCjwGEcDWvsvxNacNvptySNByymWtv/mt74JQWGmskTLNzSVdHQTZn6cLowL2z97hcUOxD5uLw5Nt1lWLy5FA+N0/JxYP1QynNthqBLO2iMxY6xB2TL4HupHyojgO8HKcBABmfsXrdYRfG8TS/h/FNL9Wa3fvVYtnlcLMeeOf8Dh root@linux-129

    将这些字符全部复制,然后粘贴到129上的文件/root/.ssh/authorized_key里。如果以前有其他的公钥,需要另起一行粘贴128的公钥。在129上执行命令:

    [root@linux-129 ~]# vi /root/.ssh/authorized_keys

    将光标定位到文件末尾,然后输入o进入编辑模式,右键粘贴128的公钥,然后按Esc键,输入“:wq”回车。输入图片说明
    注意:检查Selinx是否关闭,查看命令:

    # getenforce
    Disabled

    如果之前没有设置过公钥,需要创建文件和设置权限:

    #mkdir /root/.ssh/authorized_keys
    #chmod 700 /root/.ssh/authorized_keys

  5. 在linux-128上登录129主机,此时就不会提示我们输入密码,就可以直接登录129了,这样就可以实现linux通过密钥验证的方式登录linux。如果你在密钥生成对时设置了密码,那么这里就会提示你输入密钥密码了.

    [root@linux-128 ~]# ssh 192.168.88.129
    Last login: Thu Oct 19 16:49:06 2017 from 192.168.88.1
    [root@linux-129 ~]# ls
    anaconda-ks.cfg


转:https://my.oschina.net/u/3791387/blog/1630900



推荐阅读
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 本文探讨了利用Python实现高效语音识别技术的方法。通过使用先进的语音处理库和算法,本文详细介绍了如何构建一个准确且高效的语音识别系统。提供的代码示例和实验结果展示了该方法在实际应用中的优越性能。相关文件可从以下链接下载:链接:https://pan.baidu.com/s/1RWNVHuXMQleOrEi5vig_bQ,提取码:p57s。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 每年,意甲、德甲、英超和西甲等各大足球联赛的赛程表都是球迷们关注的焦点。本文通过 Python 编程实现了一种生成赛程表的方法,该方法基于蛇形环算法。具体而言,将所有球队排列成两列的环形结构,左侧球队对阵右侧球队,首支队伍固定不动,其余队伍按顺时针方向循环移动,从而确保每场比赛不重复。此算法不仅高效,而且易于实现,为赛程安排提供了可靠的解决方案。 ... [详细]
  • Python内置模块详解:正则表达式re模块的应用与解析
    正则表达式是一种强大的文本处理工具,通过特定的字符序列来定义搜索模式。本文详细介绍了Python内置的`re`模块,探讨了其在字符串匹配、验证和提取中的应用。例如,可以通过正则表达式验证电子邮件地址、电话号码、QQ号、密码、URL和IP地址等。此外,文章还深入解析了`re`模块的各种函数和方法,提供了丰富的示例代码,帮助读者更好地理解和使用这一工具。 ... [详细]
  • 单链表的高效遍历及性能优化策略
    本文探讨了单链表的高效遍历方法及其性能优化策略。在单链表的数据结构中,插入操作的时间复杂度为O(n),而遍历操作的时间复杂度为O(n^2)。通过在 `LinkList.h` 和 `main.cpp` 文件中对单链表进行封装,我们实现了创建和销毁功能的优化,提高了单链表的使用效率。此外,文章还介绍了几种常见的优化技术,如缓存节点指针和批量处理,以进一步提升遍历性能。 ... [详细]
  • Squaretest:自动生成功能测试代码的高效插件
    本文将介绍一款名为Squaretest的高效插件,该工具能够自动生成功能测试代码。使用这款插件的主要原因是公司近期加强了代码质量的管控,对各项目进行了严格的单元测试评估。Squaretest不仅提高了测试代码的生成效率,还显著提升了代码的质量和可靠性。 ... [详细]
  • Python进阶笔记:深入理解装饰器、生成器与迭代器的应用
    本文深入探讨了Python中的装饰器、生成器和迭代器的应用。装饰器本质上是一个函数,用于在不修改原函数代码和调用方式的前提下为其添加额外功能。实现装饰器需要掌握闭包、高阶函数等基础知识。生成器通过 `yield` 语句提供了一种高效生成和处理大量数据的方法,而迭代器则是一种可以逐个访问集合中元素的对象。文章详细解析了这些概念的原理和实际应用案例,帮助读者更好地理解和使用这些高级特性。 ... [详细]
  • 第六章:枚举类型与switch结构的应用分析
    第六章深入探讨了枚举类型与 `switch` 结构在编程中的应用。枚举类型(`enum`)是一种将一组相关常量组织在一起的数据类型,广泛存在于多种编程语言中。例如,在 Cocoa 框架中,处理文本对齐时常用 `NSTextAlignment` 枚举来表示不同的对齐方式。通过结合 `switch` 结构,可以更清晰、高效地实现基于枚举值的逻辑分支,提高代码的可读性和维护性。 ... [详细]
  • 清华大学出版社 | 杨丹:基于MATLAB机器视觉的黑色素瘤皮肤癌检测技术及源代码分析(第1689期)
    清华大学出版社 | 杨丹:基于MATLAB机器视觉的黑色素瘤皮肤癌检测技术及源代码分析(第1689期) ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 在使用SSH框架进行项目开发时,经常会遇到一些常见的问题。例如,在Spring配置文件中配置AOP事务声明后,进行单元测试时可能会出现“No Hibernate Session bound to thread”的错误。本文将详细探讨这一问题的原因,并提供有效的解决方案,帮助开发者顺利解决此类问题。 ... [详细]
  • DRF框架中Serializer反序列化验证机制详解:深入探讨Validators的应用与优化
    在DRF框架的反序列化验证机制中,除了基本的字段类型和长度校验外,还常常需要进行更为复杂的条件限制校验。通过引入`validators`模块,可以实现自定义校验逻辑,如唯一字段校验等。本文将详细探讨`validators`的使用方法及其优化策略,帮助开发者更好地理解和应用这一重要功能。 ... [详细]
author-avatar
指定不告诉你
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有