四、emergency模式,rescue模式,克隆虚拟机,Linux机器相互登录 一、emergency模式(centos6及之前叫单用户模式) 需要在物理机上操作,不能远程操作。 前提没有设置grub密码。 1.重启系统 重启命令:reboot,init 6,shutdown -r now。 关机:init 0,poweroff。 在开机界面按方向键,选择第一行,按“e(edit)”编辑它。 2.进入emergency模式 进入的界面就是grub界面。它找到系统里的启动盘,引导硬盘启动加载内核。 把光标移动到Linux16开头的行,按右方向键把光标移动到ro(只读)后面,把ro改成rw init=/sysroot/bin/bash。rw(读写) 再按Ctrl+X,系统就会进入emergency模式。 3.修改root密码 /sysroot/原系统路径。 目前所在的环境相当于是安全模式(内存操作系统),还未进入系统里。 当前环境查看原来系统里的文件需要在最前面加一个/sysroot/的路径。 cat命令:用于观看文件内容。 三个功能: 1.一次显示整个文件。 $ cat filename 2.从键盘创建一个文件。 $ cat > filename 只能创建新文件,不能编辑已有文件. 3.将几个文件合并为一个文件。 $cat file1 file2 > file chroot命令:切换系统。 输入命令:

chroot /sysroot/

然后修改密码,输入命令:

passwd root

发现乱码,修改语言,输入命令:

LANG=en(修改为英文)

再输入命令passwd root修改密码,输入两次密码。 再输入命令:

touch /.autorelabel

最后这个操作,作用是让SELinux生效,若不执行该命令,密码将不会生效。意思就是输对了密码也无法登录。执行完该命令,按Ctrl+D(退出原始系统),再输入reboot重启,方可使用新密码登录。 二、救援模式(rescue模式) 1.光盘启动 (1)进入“虚拟机设置”先检查光驱是不是开机启动。两个勾都要勾上。 (2)关闭虚拟机,再进入BIOS设置。 进入方法有两种: a)右键虚拟机,进入电源,再“启动时进入BIOS”。 b)VMware启动时按F2键。 进入BIOS后,调到boot,按-或+调解各个启动对象,将CD-ROM调到最上面,意思就是让它第一个启动。 设置完后按F10保存设置并退出。 2.进入rescue模式 随后进入光驱启动界面,选择Troubleshooting回车。 再选择Rescue a CentOS system。敲两次回车。

这里告诉我们初始系统在/mnt/sysimage下面,和/sysroot类似。 第一项,继续往下走 第二项,把初始系统挂载为只读模式,意味着不能写磁盘,不能改配置文件,不能改root密码。 第三项,直接跳过这个shell 第四项,重启。 选择第一项,输入“1”,回车后再回车。 提示初始系统已挂载到/mnt/sysimage下,要进入,需切换系统。运行命令:

chroot /mnt/sysimage

进入初始系统再执行passwd命令修改root密码。 再Ctrl+D退出原始系统,再关机进BIOS设置,将启动项设置硬盘第一个启动。另一种方法,VMware设置,关闭光驱。 三、克隆虚拟机 关闭正在运行的centos,输入关机命令init 0。再右键虚拟机名字,选择“管理”,再选择“克隆”。 一直点下一步,会出现克隆类型,采用默认值。,再下一步设置虚拟机名字和保存路径。再下一步,完成后关闭。会出现克隆出来的虚拟机。 先登录克隆的虚拟机,输入命令dhclient自动获取一个IP,再ip addr查看IP,再设置静态IP,设置好后要重启网卡或服务。 设置主机名 输入命令:

vi /etc/hostname

把文件内容改为yaowei-01,保存后,可以按Ctrl+D退出当前终端。再登录,命令行左边前缀有变化。 也可以直接输入hostname yaowei-01,再Ctrl+D。 四、Linux机器相互登录 在xshell新建一个会话,可以直接复制01过去,再把IP地址改一下。 都连接上。 比如01连02,在01终端输入命令:

ssh 192.168.93.129

再输入密码连接。

输入命令w可以查看系统负载,

ssh命令(远程连接命令) ssh IP 标准写法:ssh username@ip whoami查看当前登录用户 完整写法:ssh root@192.168.93.128 也可以指定端口连接:ssh -p 22 root@192.168.93.128

Linux上的密钥生成。 命令:ssh-keygen 再出现保存路径,再密码,再生成 再复制密钥保存到另一台机器的密钥文件去 vi /root/.ssh/authorized_keys 可以使用如下命令查看SELinux是否打开:

getenforce

enforcing为打开 permissive为关闭